From bb56b10384649bb97bbc42722115fa586a9b67a8 Mon Sep 17 00:00:00 2001 From: Chris Lamb <chris@chris-lamb.co.uk> Date: Thu, 7 Aug 2008 22:05:08 +0100 Subject: Ensure packages in config/chroot_local-packages override all others. This reverts config/chroot_local-packages to almost original semantics by giving any package in chroot_local-packages a priority of 1001, allowing it to "downgrade" packages and generally override the standard APT sources. I think this follows the idea of this directory more and is likely to be more useful with this setup - rebuilding a package simply to bump a version number or keeping a custom apt_preferences(5) file around kinda sucks, especially as it is often used as a temporary workaround. --- helpers/lh_chroot_install-packages | 18 ++++++++++++++++-- helpers/lh_chroot_sources | 2 +- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/helpers/lh_chroot_install-packages b/helpers/lh_chroot_install-packages index 469d0a2..169510b 100755 --- a/helpers/lh_chroot_install-packages +++ b/helpers/lh_chroot_install-packages @@ -47,18 +47,32 @@ 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} install" + Chroot "xargs --arg-file=/root/chroot_packages apt-get ${APT_OPTIONS} -o Dir::Etc::preferences=preferences.live install" ;; aptitude) - Chroot "xargs --arg-file=/root/chroot_packages aptitude ${APTITUDE_OPTIONS} install" + Chroot "xargs --arg-file=/root/chroot_packages aptitude ${APTITUDE_OPTIONS} -o Dir::Etc::preferences=preferences.live install" ;; esac + # Tidying up rm -f chroot/root/chroot_packages + rm -f chroot/etc/apt/preferences.live # Saving cache Save_cache cache/packages_chroot diff --git a/helpers/lh_chroot_sources b/helpers/lh_chroot_sources index 9da2c0d..3d69cd6 100755 --- a/helpers/lh_chroot_sources +++ b/helpers/lh_chroot_sources @@ -120,7 +120,7 @@ case "${1}" in then # Generate Release echo "cd /root/local-packages && apt-ftparchive \ - -o APT::FTPArchive::Release::Label=local-packages \ + -o APT::FTPArchive::Release::Origin=chroot_local-packages \ release . > Release" | Chroot sh _LH_DOTGNUPG_EXISTED=0 -- cgit v1.0