diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-05-26 09:21:29 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-05-26 09:21:29 +0000 |
commit | 68788c229e76692b42bf2235a880ec1b430dab28 (patch) | |
tree | c1a05f0a499fc8d2f7c4d8ca651dc4154b4590bc /pym/portage.py | |
parent | 928604f3381a7693689956da3f87b139338c38e1 (diff) | |
download | portage-68788c229e76692b42bf2235a880ec1b430dab28.tar.gz portage-68788c229e76692b42bf2235a880ec1b430dab28.tar.bz2 portage-68788c229e76692b42bf2235a880ec1b430dab28.zip |
* Enable config.setcpv() to use a Package instance in place of a cpv.
* Make depgraph._select_package() pass Package instances into setcpv() calls.
* Enable the Package constructor to use an iterable for metadata items.
(trunk r10427)
svn path=/main/branches/2.1.2/; revision=10428
Diffstat (limited to 'pym/portage.py')
-rw-r--r-- | pym/portage.py | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/pym/portage.py b/pym/portage.py index 68c2bb645..414fffd7c 100644 --- a/pym/portage.py +++ b/pym/portage.py @@ -1970,6 +1970,13 @@ class config: """ self.modifying() + + pkg = None + if not isinstance(mycpv, basestring): + pkg = mycpv + mycpv = pkg.cpv + mydb = pkg.metadata + if self.mycpv == mycpv: return ebuild_phase = self.get("EBUILD_PHASE") @@ -1985,7 +1992,10 @@ class config: iuse = mydb["IUSE"] else: slot, iuse = mydb.aux_get(self.mycpv, ["SLOT", "IUSE"]) - cpv_slot = "%s:%s" % (self.mycpv, slot) + if pkg is None: + cpv_slot = "%s:%s" % (self.mycpv, slot) + else: + cpv_slot = pkg pkginternaluse = [] for x in iuse.split(): if x.startswith("+"): |