From 6f51fbe355b1710fa3d9c69d6f2d40824ae16473 Mon Sep 17 00:00:00 2001 From: Matthew Thode Date: Sat, 22 Apr 2017 19:31:18 -0500 Subject: [PATCH] Make Gentoo package updates work more often Some package updates are more complex and require things like --backtrack=99 to be passed to emerge. We also try harder to ensure the system is in a consistent state as a last step. Change-Id: Ia5d3514e8b2a6cb2d656ade997cebb798d9c0a47 --- .../elements/gentoo/bin/install-packages | 2 +- .../elements/gentoo/finalise.d/99-cleanup | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/diskimage_builder/elements/gentoo/bin/install-packages b/diskimage_builder/elements/gentoo/bin/install-packages index a059bc78..04c4cff8 100755 --- a/diskimage_builder/elements/gentoo/bin/install-packages +++ b/diskimage_builder/elements/gentoo/bin/install-packages @@ -98,7 +98,7 @@ while true; do if [[ ! -f /usr/portage/profiles ]]; then emerge-webrsync -q fi - install_gentoo_packages -uDNv --with-bdeps=y --jobs=2 @world + install_gentoo_packages -uDNv --with-bdeps=y --backtrack=99 --jobs=2 @world install_gentoo_packages --verbose=n --depclean install_gentoo_packages -v --usepkg=n @preserved-rebuild etc-update --automode -5 diff --git a/diskimage_builder/elements/gentoo/finalise.d/99-cleanup b/diskimage_builder/elements/gentoo/finalise.d/99-cleanup index 98e101dc..4de25ec0 100755 --- a/diskimage_builder/elements/gentoo/finalise.d/99-cleanup +++ b/diskimage_builder/elements/gentoo/finalise.d/99-cleanup @@ -6,9 +6,17 @@ fi set -eu set -o pipefail -# make sure system is in a consistant state +# make sure system is in a consistent state +echo 'PYTHON_TARGETS="python3_4"' >> /etc/portage/make.conf +eselect python set python3.4 +emerge -C -q dev-lang/python:2.7 dev-vcs/git +USE="-build" emerge -q --backtrack=99 --jobs=2 --update --newuse --deep --with-bdeps=y @world +# rebuild packages that might need it +USE="-build" emerge -q --jobs=2 --usepkg=n @preserved-rebuild +# remove unneeded packages USE="-build" emerge --verbose=n --depclean -USE="-build" emerge -v --usepkg=n @preserved-rebuild +# rebuild packages that might have somehow depended on the unneeded packages +USE="-build" emerge -q --jobs=2 --usepkg=n @preserved-rebuild # update config files etc-update --automode -5