diff options
| author | Chris Lamb <chris@chris-lamb.co.uk> | 2008-08-07 22:05:08 +0100 | 
|---|---|---|
| committer | Daniel Baumann <daniel@debian.org> | 2011-03-09 19:03:37 +0100 | 
| commit | bb56b10384649bb97bbc42722115fa586a9b67a8 (patch) | |
| tree | f08d1a76206dd6f7f44110fdbb68230f8148fd2b | |
| parent | 6538fac66feaa5cb7957013a29da704a09256e3f (diff) | |
| download | vyos-live-build-bb56b10384649bb97bbc42722115fa586a9b67a8.tar.gz vyos-live-build-bb56b10384649bb97bbc42722115fa586a9b67a8.zip | |
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.
| -rwxr-xr-x | helpers/lh_chroot_install-packages | 18 | ||||
| -rwxr-xr-x | 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 469d0a23a..169510b57 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 9da2c0d3f..3d69cd6e1 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 | 
