Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 72015 Details for
Bug 44796
[PATCH] Per package environment variables
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
portage.py patch against portage-2.0.53_rc7
patch (text/plain), 3.14 KB, created by
Nguyen Thai Ngoc Duy (RETIRED)
on 2005-11-03 06:36:13 UTC
(
hide
)
Description:
portage.py patch against portage-2.0.53_rc7
Filename:
MIME Type:
Creator:
Nguyen Thai Ngoc Duy (RETIRED)
Created:
2005-11-03 06:36:13 UTC
Size:
3.14 KB
patch
obsolete
>diff -ur portage/pym/portage.py portage.o/pym/portage.py >--- portage/pym/portage.py 2005-11-03 23:11:41.000000000 +0900 >+++ portage.o/pym/portage.py 2005-11-03 23:11:22.000000000 +0900 >@@ -843,6 +843,7 @@ > self.locked = 0 > self.mycpv = None > self.puse = [] >+ self.penv = [] > self.modifiedkeys = [] > > self.virtuals = {} >@@ -888,6 +889,7 @@ > "env": self.configlist[6] } > self.profiles = copy.deepcopy(clone.profiles) > self.backupenv = copy.deepcopy(clone.backupenv) >+ self.penvdict = copy.deepcopy(clone.penvdict) > self.pusedict = copy.deepcopy(clone.pusedict) > self.categories = copy.deepcopy(clone.categories) > self.pkeywordsdict = copy.deepcopy(clone.pkeywordsdict) >@@ -1054,6 +1056,7 @@ > if os.environ.get("PORTAGE_CALLER","") == "repoman": > # repoman shouldn't use local settings. > locations = [self["PORTDIR"] + "/profiles"] >+ self.penvdict = {} > self.pusedict = {} > self.pkeywordsdict = {} > self.punmaskdict = {} >@@ -1064,6 +1067,15 @@ > if os.path.isdir(ov+"/profiles"): > locations.append(ov+"/profiles") > >+ #package.env >+ penvdict=grabdict_package(USER_CONFIG_PATH+"/package.env") >+ self.penvdict = {} >+ for key in penvdict.keys(): >+ cp = dep_getkey(key) >+ if not self.penvdict.has_key(cp): >+ self.penvdict[cp] = {} >+ self.penvdict[cp][key] = penvdict[key] >+ > pusedict=grabdict_package(USER_CONFIG_PATH+"/package.use") > self.pusedict = {} > for key in pusedict.keys(): >@@ -1223,6 +1235,7 @@ > > if mycpv: > self.setcpv(mycpv) >+ self.setenv(mycpv) > > def loadVirtuals(self,root): > self.virtuals = self.getvirtuals(root) >@@ -1258,6 +1271,7 @@ > self.modifiedkeys = [] > if not keeping_pkg: > self.puse = "" >+ self.penv = "" > self.configdict["pkg"].clear() > self.regenerate(use_cache=use_cache) > >@@ -1291,6 +1305,30 @@ > return 1 > return 0 > >+ def setenv(self,mycpv,use_cache=1): >+# self.modifying() >+ cp = dep_getkey(mycpv) >+ newpenv = "" >+ if self.penvdict.has_key(cp): >+ self.pusekey = best_match_to_list(self.mycpv, self.penvdict[cp].keys()) >+ if self.pusekey: >+ newpenv = string.join(self.penvdict[cp][self.pusekey]) >+ if self.penv == newpenv: >+ return >+ self.penv = newpenv >+ self.configdict["pkg"]["ENV"] = self.penv[:] >+ self["PACKAGE_ENV"] = USER_CONFIG_PATH + "/env/" + self.configdict["pkg"]["ENV"] >+ if os.path.exists(self["PACKAGE_ENV"]): >+ penvconfig = getconfig(self["PACKAGE_ENV"]) >+ if penvconfig == None: >+ writemsg("!!! Parsing error in "+self["PACKAGE_ENV"]+"\n") >+ else: >+ for penv in penvconfig.keys(): >+ if not self.has_key(penv): >+ self[penv] = penvconfig[penv] >+ self.regenerate() >+# self.reset(keeping_pkg=2,use_cache=use_cache) >+ > def setcpv(self,mycpv,use_cache=1): > self.modifying() > self.mycpv = mycpv >@@ -2379,6 +2417,7 @@ > # XXX: that creates a deadlock... Really need to isolate that. > mysettings.reset(use_cache=use_cache) > mysettings.setcpv(mycpv,use_cache=use_cache) >+ mysettings.setenv(mycpv,use_cache=use_cache) > > validcommands = ["help","clean","prerm","postrm","preinst","postinst", > "config","setup","depend","fetch","digest",
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 44796
:
72015
|
72017
|
90464
|
94711
|
228783
|
228785
|
228929