package_deb.bbclass: Use the WORKDIR not SYSROOT for temp files
authorMark Hatle <mark.hatle@windriver.com>
Tue, 13 Aug 2013 15:50:55 +0000 (10:50 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 22 Aug 2013 17:30:00 +0000 (18:30 +0100)
Previous debian APT configuration was using the sysroot directory.
This not only polluted the sysroot, but violates the expectation that
the sysroot is not modified by the rootfs installation.

(From OE-Core rev: 2db14eaa0fcc080bc20fa9da985ffc05c3b21e2a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/package_deb.bbclass

index 663f646..4980555 100644 (file)
@@ -10,6 +10,8 @@ DPKG_ARCH ?= "${TARGET_ARCH}"
 
 PKGWRITEDIRDEB = "${WORKDIR}/deploy-debs"
 
+APTCONF_TARGET = "${WORKDIR}"
+
 #
 # Update the Packages index files in ${DEPLOY_DIR_DEB}
 #
@@ -63,8 +65,9 @@ package_install_internal_deb () {
        local package_linguas="${INSTALL_PACKAGES_LINGUAS_DEB}"
        local task="${INSTALL_TASK_DEB}"
 
-       rm -f ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
-       rm -f ${STAGING_ETCDIR_NATIVE}/apt/preferences
+       mkdir -p ${APTCONF_TARGET}/apt
+       rm -f ${APTCONF_TARGET}/apt/sources.list.rev
+       rm -f ${APTCONF_TARGET}/apt/preferences
 
        priority=1
        for arch in $archs; do
@@ -72,15 +75,15 @@ package_install_internal_deb () {
                        continue;
                fi
 
-               echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev
+               echo "deb file:${DEPLOY_DIR_DEB}/$arch/ ./" >> ${APTCONF_TARGET}/apt/sources.list.rev
                (echo "Package: *"
                echo "Pin: release l=$arch"
                echo "Pin-Priority: $(expr 800 + $priority)"
-               echo) >> ${STAGING_ETCDIR_NATIVE}/apt/preferences
+               echo) >> ${APTCONF_TARGET}/apt/preferences
                priority=$(expr $priority + 5)
        done
 
-       tac ${STAGING_ETCDIR_NATIVE}/apt/sources.list.rev > ${STAGING_ETCDIR_NATIVE}/apt/sources.list
+       tac ${APTCONF_TARGET}/apt/sources.list.rev > ${APTCONF_TARGET}/apt/sources.list
 
        # The params in deb package control don't allow character `_', so
        # change the arch's `_' to `-' in it.
@@ -88,9 +91,9 @@ package_install_internal_deb () {
        cat "${STAGING_ETCDIR_NATIVE}/apt/apt.conf.sample" \
                | sed -e "s#Architecture \".*\";#Architecture \"${dpkg_arch}\";#" \
                | sed -e "s:#ROOTFS#:${target_rootfs}:g" \
-               > "${STAGING_ETCDIR_NATIVE}/apt/apt-${task}.conf"
+               > "${APTCONF_TARGET}/apt/apt.conf"
 
-       export APT_CONFIG="${STAGING_ETCDIR_NATIVE}/apt/apt-${task}.conf"
+       export APT_CONFIG="${APTCONF_TARGET}/apt/apt.conf"
 
        mkdir -p ${target_rootfs}/var/lib/dpkg/info
        mkdir -p ${target_rootfs}/var/lib/dpkg/updates