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:
parent
e6eda5f5cd
commit
a3277ebaae
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue