diff options
| -rwxr-xr-x | helpers/lh_chroot_apt | 43 | 
1 files changed, 34 insertions, 9 deletions
| diff --git a/helpers/lh_chroot_apt b/helpers/lh_chroot_apt index 1196cea3a..1c35849fd 100755 --- a/helpers/lh_chroot_apt +++ b/helpers/lh_chroot_apt @@ -120,11 +120,6 @@ case "${1}" in  		if Find_files config/chroot_local-packages/*.deb  		then -			if [ ! -f config/chroot_apt/preferences ] && [ "${1}" = "install-binary" ] -			then -				rm -f chroot/etc/apt/preferences -			fi -  			echo >> chroot/etc/apt/preferences  			echo "# Added by lh_chroot_apt ${@}" >> chroot/etc/apt/preferences  			echo "Package: *" >> chroot/etc/apt/preferences @@ -197,14 +192,44 @@ case "${1}" in  			fi  			cp config/chroot_apt/apt.conf chroot/etc/apt/apt.conf + +			if [ -f chroot/etc/apt/apt.conf.orig ] +			then +				mv chroot/etc/apt/apt.conf.orig chroot/etc/apt/apt.conf +			fi  		fi  		# Deconfiguring apt preferences -		if [ -f chroot/etc/apt/preferences.orig ] +		if [ -f config/chroot_apt/preferences ] +		then +			if [ -f chroot/etc/apt/preferences ] +			then +				mv chroot/etc/apt/preferences chroot/etc/apt/preferences.orig +			fi + +			cp config/chroot_apt/preferences chroot/etc/apt/preferences + +			if [ -f chroot/etc/apt/preferences.orig ] +			then +				mv chroot/etc/apt/preferences.orig chroot/etc/apt/preferences +			fi +		fi + +		if Find_files config/chroot_local-packages/*.deb  		then -			mv chroot/etc/apt/preferences.orig chroot/etc/apt/preferences -		else -			rm -f chroot/etc/apt/preferences +			if [ -f chroot/etc/apt/preferences ] +			then +				# delete additions from lh_chroot_apt install|install-binary to preferences +				sed -i '/# Added by lh_chroot_apt/,$d' chroot/etc/apt/preferences +				# delete the last empty line +				sed -i '${/^[[:blank:]]*$/d;}' chroot/etc/apt/preferences +				# if the resulting preferences file is empty there was no user additions, remove it +				if [ ! -s chroot/etc/apt/preferences ] +				then +					rm -rf chroot/etc/apt/preferences +				fi +			fi +  		fi  		# Removing stage file | 
