package_deb.bbclass: Use the WORKDIR not SYSROOT for temp files

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>
This commit is contained in:
Mark Hatle 2013-08-13 10:50:55 -05:00 committed by Richard Purdie
parent 7ba54b91f8
commit dc5f6c3898
1 changed files with 10 additions and 7 deletions

View File

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