Always add our apt_preference(5) pinning stanza when using local-packages.

This mostly reverts my most recent chroot_local-packages/preferences commit
as I found problems when re-running parts of the build: as the pinning
stanza was removed, calls to "apt-get upgrade" from within live-helper
would remove replacement packages placed in chroot_local-packages.

This isn't 100% foolproof - running apt-get upgrade on the binary image may
still attempt to remove replacement packages (heavy users of this should
probably be using their own repo for this sort of thing anyway).

Signed-off-by: Chris Lamb <chris@chris-lamb.co.uk>
This commit is contained in:
Chris Lamb 2008-08-08 21:16:42 +01:00
parent e6eda5f5cd
commit a3277ebaae
2 changed files with 12 additions and 15 deletions

View File

@ -159,3 +159,13 @@ case "${1}" in
Usage
;;
esac
if ls config/chroot_local-packages/*.deb > /dev/null 2>&1
then
cat >>chroot/etc/apt/preferences <<EOF
Package: *
Pin: release o=chroot_local-packages
Pin-Priority: 1001
EOF
fi

View File

@ -47,32 +47,19 @@ then
# Restoring cache
Restore_cache cache/packages_chroot
# Ensure chroot_local-packages override all other packages
if [ -e chroot/etc/apt/preferences ]
then
cp chroot/etc/apt/preferences chroot/etc/apt/preferences.live
fi
cat >> chroot/etc/apt/preferences.live <<EOF
Package: *
Pin: release o=chroot_local-packages
Pin-Priority: 1001
EOF
# Installing packages
case "${LH_APT}" in
apt|apt-get)
Chroot "xargs --arg-file=/root/chroot_packages apt-get ${APT_OPTIONS} -o Dir::Etc::preferences=preferences.live install"
Chroot "xargs --arg-file=/root/chroot_packages apt-get ${APT_OPTIONS} install"
;;
aptitude)
Chroot "xargs --arg-file=/root/chroot_packages aptitude ${APTITUDE_OPTIONS} -o Dir::Etc::preferences=preferences.live install"
Chroot "xargs --arg-file=/root/chroot_packages aptitude ${APTITUDE_OPTIONS} install"
;;
esac
# Tidying up
rm -f chroot/root/chroot_packages
rm -f chroot/etc/apt/preferences.live
# Saving cache
Save_cache cache/packages_chroot