Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 123176 Details for
Bug 144333
--changeduse and --newuse as dynamic package sets.
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
portage-2.1.3_rc5 patch adding support for --reinstall=changed-use
changed-use.patch (text/plain), 3.17 KB, created by
Zac Medico
on 2007-06-27 04:28:11 UTC
(
hide
)
Description:
portage-2.1.3_rc5 patch adding support for --reinstall=changed-use
Filename:
MIME Type:
Creator:
Zac Medico
Created:
2007-06-27 04:28:11 UTC
Size:
3.17 KB
patch
obsolete
>Index: bin/emerge >=================================================================== >--- bin/emerge (revision 7052) >+++ bin/emerge (revision 7053) >@@ -342,6 +342,7 @@ > sub=[] > if "--update" in myopts or \ > "--newuse" in myopts or \ >+ "--reinstall" in myopts or \ > "--noreplace" in myopts or \ > myaction in ("system", "world"): > add.extend(["selective"]) >@@ -1040,6 +1041,21 @@ > f.end_paragraph(1) > f.writer.flush() > >+ def _reinstall_for_flags(self, forced_flags, >+ orig_use, org_iuse, cur_use, cur_iuse): >+ if "--newuse" in self.myopts: >+ if org_iuse.symmetric_difference( >+ cur_iuse).difference(forced_flags): >+ return True >+ elif org_iuse.intersection(orig_use) != \ >+ cur_iuse.intersection(cur_use): >+ return True >+ elif "changed-use" in self.myopts.get("--reinstall","").split(","): >+ if org_iuse.intersection(orig_use) != \ >+ cur_iuse.intersection(cur_use): >+ return True >+ return False >+ > def create(self, mybigkey, myparent=None, addme=1, myuse=None, > priority=DepPriority(), rev_dep=False, arg=None): > """ >@@ -1113,7 +1129,9 @@ > """ If we aren't merging, perform the --newuse check. > If the package has new iuse flags or different use flags then if > --newuse is specified, we need to merge the package. """ >- if merging==0 and "--newuse" in self.myopts and \ >+ if merging == 0 and \ >+ ("--newuse" in self.myopts or >+ "--reinstall" in self.myopts) and \ > vardbapi.cpv_exists(mykey): > pkgsettings.setcpv(mykey, mydb=mydbapi) > forced_flags = set() >@@ -1124,12 +1142,9 @@ > mydbapi.aux_get(mykey, ["IUSE"])[0].split())) > old_iuse = set(filter_iuse_defaults( > vardbapi.aux_get(mykey, ["IUSE"])[0].split())) >- if iuses.symmetric_difference( >- old_iuse).difference(forced_flags): >+ if self._reinstall_for_flags( >+ forced_flags, old_use, old_iuse, myuse, iuses): > merging = 1 >- elif old_iuse.intersection(old_use) != \ >- iuses.intersection(myuse): >- merging=1 > > if addme and merging == 1: > mybigkey.append("merge") >@@ -1595,7 +1610,9 @@ > if myeb_pkg_matches: > myeb_pkg = portage.best(myeb_pkg_matches) > >- if myeb_pkg and "--newuse" in self.myopts: >+ if myeb_pkg and \ >+ ("--newuse" in self.myopts or \ >+ "--reinstall" in self.myopts): > iuses = set(filter_iuse_defaults( > bindb.aux_get(myeb_pkg, ["IUSE"])[0].split())) > old_use = bindb.aux_get(myeb_pkg, ["USE"])[0].split() >@@ -1614,12 +1631,9 @@ > if "--usepkgonly" not in self.myopts and myeb: > cur_iuse = set(filter_iuse_defaults( > portdb.aux_get(myeb, ["IUSE"])[0].split())) >- if iuses.symmetric_difference( >- cur_iuse).difference(forced_flags): >+ if self._reinstall_for_flags( >+ forced_flags, old_use, iuses, now_use, cur_iuse): > myeb_pkg = None >- elif iuses.intersection(old_use) != \ >- cur_iuse.intersection(now_use): >- myeb_pkg = None > if myeb_pkg: > binpkguseflags = \ > self.trees[myroot]["bintree"].dbapi.aux_get( >@@ -5145,6 +5159,9 @@ > "help":"include unnecessary build time dependencies", > "type":"choice", > "choices":("y", "n") >+ }, >+ "--reinstall": { >+ "help":"specify conditions to trigger package reinstallation" > } > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 144333
: 123176