cmake.bbclass: force CMAKE_INSTALL_SO_NO_EXE to be 0
[openembedded.git] / classes / rootfs_ipk.bbclass
index f5714bd..3a73ed8 100644 (file)
@@ -5,10 +5,10 @@
 # See image.bbclass for a usage of this.
 #
 
-do_rootfs[depends] += "opkg-native:do_populate_staging ipkg-utils-native:do_populate_staging"
-do_rootfs[recrdeptask] += "do_package_write_ipk"
+do_rootfs[depends] += "opkg-native:do_populate_staging"
 
-IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}"
+IPKG_TMP_DIR = "${IMAGE_ROOTFS}-tmp"
+IPKG_ARGS = "-f ${IPKGCONF_TARGET} -o ${IMAGE_ROOTFS} -t ${IPKG_TMP_DIR} ${@base_conditional("PACKAGE_INSTALL_NO_DEPS", "1", "-nodeps", "", d)}"
 
 PACKAGE_INSTALL_NO_DEPS ?= "0"
 
@@ -29,10 +29,10 @@ PACKAGE_INSTALL_append = " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "non
 fakeroot rootfs_ipk_do_rootfs () {
        set -x
 
-       package_update_index_ipk
        package_generate_ipkg_conf
 
        mkdir -p ${T}
+       mkdir -p ${IPKG_TMP_DIR}
        mkdir -p ${IMAGE_ROOTFS}${libdir}/opkg/
 
        STATUS=${IMAGE_ROOTFS}${libdir}/opkg/status
@@ -64,9 +64,8 @@ fakeroot rootfs_ipk_do_rootfs () {
        export IPKG_OFFLINE_ROOT=${IMAGE_ROOTFS}
        export OPKG_OFFLINE_ROOT=${IPKG_OFFLINE_ROOT}
        
-       mkdir -p ${IMAGE_ROOTFS}${sysconfdir}/opkg/
-
        if [ "${ONLINE_PACKAGE_MANAGEMENT}" != "none" ]; then
+               mkdir -p ${IMAGE_ROOTFS}${sysconfdir}/opkg/
                grep "^arch" ${IPKGCONF_TARGET} >${IMAGE_ROOTFS}${sysconfdir}/opkg/arch.conf
        fi
 
@@ -83,6 +82,8 @@ fakeroot rootfs_ipk_do_rootfs () {
 
        install -d ${IMAGE_ROOTFS}/${sysconfdir}
        echo ${BUILDNAME} > ${IMAGE_ROOTFS}/${sysconfdir}/version
+       
+       ${ROOTFS_POSTPROCESS_COMMAND}
 
        if [ "${ONLINE_PACKAGE_MANAGEMENT}" != "none" ]; then
                if [ "${ONLINE_PACKAGE_MANAGEMENT}" == "add" ]; then
@@ -97,11 +98,11 @@ fakeroot rootfs_ipk_do_rootfs () {
                ln -s opkg ${IMAGE_ROOTFS}${libdir}/ipkg
        else
                rm -rf ${IMAGE_ROOTFS}${libdir}/opkg
+               rm -rf ${IMAGE_ROOTFS}/usr/lib/opkg
        fi
        
-       ${ROOTFS_POSTPROCESS_COMMAND}
-       
        log_check rootfs        
+       rm -rf ${IPKG_TMP_DIR}
 }
 
 rootfs_ipk_log_check() {
@@ -109,7 +110,8 @@ rootfs_ipk_log_check() {
         lf_path="$2"
 
        lf_txt="`cat $lf_path`"
-       for keyword_die in "Cannot find package" "exit 1" ERR Fail
+       for keyword_die in "Cannot find package" "Cannot satisfy the following dependencies" \
+           "exit 1" ERR Fail
        do                              
                if (echo "$lf_txt" | grep -v log_check | grep -w "$keyword_die") >/dev/null 2>&1
                then