find)
find_package $@
;;
+ is_built)
+ if package_is_built $(find_package $@); then
+ echo "Package is built."
+ else
+ echo "Package is NOT built."
+ fi
+ ;;
list)
package_list
;;
+ packages)
+ package_packages $(find_package $@)
+ ;;
profile|info)
package_profile $(find_package $@)
;;
case "${action}" in
package|pkg)
- package $@e
+ package $@
;;
toolchain)
TOOLCHAIN=1
for file in $FILES; do
echo "Extracting $file..."
- cpio --extract --quiet --to-stdout data.img < $file | \
+ cpio --extract --quiet -H newc --to-stdout data.img < $file | \
tar --extract --xz -C ${ROOT}
done
}
function package_packages() {
- package_get ${1} PKG_PACKAGES
+ package_get ${1} PKG_PACKAGES_FILES
}
function package_maintainer() {
local package=$(find_package ${1})
local file
- for file in package_packages ${package}; do
- if [ ! -e "${file}" ]; then
+ for file in $(package_packages ${package}); do
+ if [ ! -e "${DIR_PACKAGES}/${file}" ]; then
return 1
fi
done
ret="${ret} ${dependencies} $(dependencies_resolve ${dependencies})"
done
- echo ${ret}
+
+ # Sort and unique the package list
+ for package in ${ret}; do
+ echo "${package}"
+ done | sort -u
}
function package_sort() {
echo ${hash:0:6}
}
+
+function package_decompress() {
+ local file
+ local pkg
+ for pkg in $@; do
+ for file in $(package_packages ${pkg}); do
+ PATH=${TOOLS_DIR}/sbin:${TOOLS_DIR}/bin:${PATH} \
+ ${BASEDIR}/src/pakfire/decompressor --root=${BUILD_DIR} \
+ ${DIR_PACKAGES}/${file}
+ done
+ done
+}
local p=$(find_package ${1})
shift
- #local pkg_dependencies=$(dependencies_resolve ${p})
- #msg " Resolving dependencies: ${pkg_dependencies-None}"
- #local dep
- #for dep in ${pkg_dependencies}; do
- # if ! package_is_built ${dep}; then
- # msg "Dependencies for ${p} are missing. Cannot prepare."
- # exit 4
- # fi
- #done
+
msg "Preparing environment ${BUILD_DIR}..."
mount --bind /${i} ${BUILD_DIR}/${i}
done
- #naoki_make ${p} --without-chroot download
+ CHROOT=0 naoki_make ${p} --without-chroot download
# Extract needed packages
+ local pkg_dependencies=$(dependencies_resolve ${p} | tr "\n" " ")
+ msg " Resolving dependencies: ${pkg_dependencies-None}"
+ local dep
+ for dep in ${pkg_dependencies}; do
+ if ! package_is_built ${dep}; then
+ msg "Dependencies for ${p} are missing. Cannot prepare."
+ return 4
+ fi
+ done
+
+ for dep in ${pkg_dependencies}; do
+ msg "Decompressing ${dep}..."
+ package_decompress ${dep}
+ done
for i in /bin/bash /bin/pwd /bin/sh; do
if [ -e "${BUILD_DIR}${i}" ]; then
local ret
msg "Going on to build package \"${p}\"."
-
- CHROOT=0 naoki_make ${p} --without-chroot download $@
- ret=$?
-
- if [ "${ret}" != "0" ]; then
- error "Download command failed."
- exit ${ret}
- fi
naoki_prepare ${p} $@
ret=$?