From: W. Trevor King Date: Mon, 15 Apr 2013 22:38:26 +0000 (-0400) Subject: spec: Add binpkg_blacklist option for troublesome packages X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=1ad133ee3e8946ced3923c547e13d99090006b3b;p=catalyst.git 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 --- 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