Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 72017 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]
Integrated setenv into setcpv
package-env.patch (text/plain), 2.94 KB, created by
Jason Stubbs (RETIRED)
on 2005-11-03 07:17:45 UTC
(
hide
)
Description:
Integrated setenv into setcpv
Filename:
MIME Type:
Creator:
Jason Stubbs (RETIRED)
Created:
2005-11-03 07:17:45 UTC
Size:
2.94 KB
patch
obsolete
>Index: pym/portage.py >=================================================================== >--- pym/portage.py (revision 2255) >+++ pym/portage.py (working copy) >@@ -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(): >@@ -1258,6 +1270,7 @@ > self.modifiedkeys = [] > if not keeping_pkg: > self.puse = "" >+ self.penv = "" > self.configdict["pkg"].clear() > self.regenerate(use_cache=use_cache) > >@@ -1300,11 +1313,31 @@ > self.pusekey = best_match_to_list(self.mycpv, self.pusedict[cp].keys()) > if self.pusekey: > newpuse = string.join(self.pusedict[cp][self.pusekey]) >- if newpuse == self.puse: >+ newpenv = "" >+ if self.penvdict.has_key(cp): >+ self.penvkey = best_match_to_list(self.mycpv, self.penvdict[cp].keys()) >+ if self.penvkey: >+ newpenv = self.penvdict[cp][self.penvkey] >+ if self.puse == newpuse and self.penv == newpenv: > return > self.puse = newpuse >+ self.penv = newpenv > self.configdict["pkg"]["PKGUSE"] = self.puse[:] # For saving to PUSE file > self.configdict["pkg"]["USE"] = self.puse[:] # this gets appended to USE >+ for envname in self.penv: >+ penvfile = USER_CONFIG_PATH + "/env/" + envname >+ if not os.access(penvfile, os.R_OK): >+ writemsg("!!! Can't access package.env file %s\n" % penvfile) >+ else: >+ penvconfig = getconfig(penvfile) >+ if penvconfig is None: >+ writemsg("!!! Parsing error in %s\n" % penvfile) >+ else: >+ for penv in penvconfig.keys(): >+ if penv in self.configdict["pkg"] and penv in INCREMENTALS: >+ self.configdict["pkg"][penv] += " "+penvconfig[penv] >+ else: >+ self.configdict["pkg"][penv] = penvconfig[penv] > self.reset(keeping_pkg=1,use_cache=use_cache) > > def setinst(self,mycpv,mydbapi):
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