From: Zac Medico Date: Mon, 24 Jul 2006 15:48:25 +0000 (-0000) Subject: For binary packages, trigger a rebuild with --newuse when IUSE has changed for bug... X-Git-Tag: v2.1.1~144 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=35b6e0d415146e6a00a15799fe6f9c08c58190a2;p=portage.git For binary packages, trigger a rebuild with --newuse when IUSE has changed for bug #116955. svn path=/main/trunk/; revision=4015 --- diff --git a/bin/emerge b/bin/emerge index 83584a9cf..7eb10fd58 100755 --- a/bin/emerge +++ b/bin/emerge @@ -1044,6 +1044,9 @@ class depgraph: # List of acceptable packages, ordered by type preference. matched_packages = [] myeb_matches = portdb.xmatch("match-visible", x) + myeb = None + if "--usepkgonly" not in self.myopts: + myeb = portage.best(myeb_matches) myeb_pkg=None if "--usepkg" in self.myopts: @@ -1063,7 +1066,12 @@ class depgraph: old_use = bindb.aux_get(myeb_pkg, ["USE"])[0].split() pkgsettings.setcpv(myeb_pkg) now_use = pkgsettings["USE"].split() - if iuses.intersection(old_use) != \ + if "--usepkgonly" not in self.myopts and \ + myeb == myeb_pkg and \ + iuses.difference( + portdb.aux_get(myeb, ["IUSE"])[0].split()): + myeb_pkg = None + elif iuses.intersection(old_use) != \ iuses.intersection(now_use): myeb_pkg = None if myeb_pkg: @@ -1075,7 +1083,7 @@ class depgraph: if "--usepkgonly" not in self.myopts and myeb_matches: matched_packages.append( - ["ebuild", myroot, portage.best(myeb_matches), None]) + ["ebuild", myroot, myeb, None]) if not matched_packages: if raise_on_missing: