From 1ad133ee3e8946ced3923c547e13d99090006b3b Mon Sep 17 00:00:00 2001 From: "W. Trevor King" Date: Mon, 15 Apr 2013 18:38:26 -0400 Subject: [PATCH] spec: Add binpkg_blacklist option for troublesome packages For packages that don't use EAPI-5's sub-slots to track ABI dependencies, binary packages may go stale without Portage noticing. You can use this new option to list packages that may be troublesome. Listed packages will be removed from the pkgcache, and rebuilt from scratch for your seed. If binpkg_blacklist is unset in your spec file, it defaults to including the following packages: * dev-libs/gcc: see, for example, http://mid.gmane.org/20130412011158.GB17116@odin.tremily.us * media-libs/mesa: see, for example, #454184 --- modules/generic_stage_target.py | 4 +++- targets/support/chroot-functions.sh | 5 +++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/modules/generic_stage_target.py b/modules/generic_stage_target.py index 31cb025e..4fbbb44a 100644 --- a/modules/generic_stage_target.py +++ b/modules/generic_stage_target.py @@ -16,7 +16,9 @@ class generic_stage_target(generic_target): self.valid_values.extend(["version_stamp","target","subarch",\ "rel_type","profile","snapshot","source_subpath","portage_confdir",\ "cflags","cxxflags","ldflags","cbuild","hostuse","portage_overlay",\ - "distcc_hosts","makeopts","pkgcache_path","kerncache_path"]) + "distcc_hosts","makeopts","pkgcache_path","kerncache_path", + 'binpkg_blacklist', + ]) self.set_valid_build_kernel_vars(addlargs) generic_target.__init__(self,myspec,addlargs) diff --git a/targets/support/chroot-functions.sh b/targets/support/chroot-functions.sh index 35ffbaa5..95b78705 100644 --- a/targets/support/chroot-functions.sh +++ b/targets/support/chroot-functions.sh @@ -261,6 +261,11 @@ run_merge() { export EPAUSE_IGNORE=0 export CONFIG_PROTECT="-*" + default_binpkg_blacklist="dev-libs/gcc media-libs/mesa" + for binpkg in ${clst_binpkg_blacklist-${default_binpkg_blacklist}}; do + rm -vf "/usr/portage/packages/${binpkg}"* + done + if [ -n "${clst_VERBOSE}" ] then echo "ROOT=${ROOT} emerge ${clst_myemergeopts} -pt $@" || exit 1 -- 2.26.2