aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Luther <SebastianLuther@gmx.de>2010-09-21 10:10:41 +0200
committerZac Medico <zmedico@gentoo.org>2010-09-26 23:50:14 -0700
commite177e729bad3659cb2610f511928f90868bbebc3 (patch)
tree2016562a5a3154f4632cfae20b78baf98413b6ab /pym/_emerge/Package.py
parentreposyntax: add support in _config/* (diff)
downloadportage-e177e729bad3659cb2610f511928f90868bbebc3.tar.gz
portage-e177e729bad3659cb2610f511928f90868bbebc3.tar.bz2
portage-e177e729bad3659cb2610f511928f90868bbebc3.zip
reposyntax: Add support all over the place
Diffstat (limited to 'pym/_emerge/Package.py')
-rw-r--r--pym/_emerge/Package.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/pym/_emerge/Package.py b/pym/_emerge/Package.py
index 66ac7ff67..ba7fa42f8 100644
--- a/pym/_emerge/Package.py
+++ b/pym/_emerge/Package.py
@@ -8,7 +8,7 @@ from portage import _encodings, _unicode_decode, _unicode_encode
from portage.cache.mappings import slot_dict_class
from portage.const import EBUILD_PHASES
from portage.dep import Atom, check_required_use, use_reduce, \
- paren_enclose, _slot_re
+ paren_enclose, _slot_re, _slot_separator, _repo_separator
from portage.eapi import eapi_has_iuse_defaults, eapi_has_required_use
from portage.exception import InvalidDependString
from _emerge.Task import Task
@@ -26,7 +26,7 @@ class Package(Task):
"category", "counter", "cp", "cpv_split",
"inherited", "invalid", "iuse", "masks", "mtime",
"pf", "pv_split", "root", "slot", "slot_atom", "visible",) + \
- ("_raw_metadata", "_use",)
+ ("_raw_metadata", "_use", "_repo",)
metadata_keys = [
"BUILD_TIME", "CHOST", "COUNTER", "DEPEND", "EAPI",
@@ -58,7 +58,7 @@ class Package(Task):
if not self.installed:
self._invalid_metadata('EAPI.incompatible',
"IUSE contains defaults, but EAPI doesn't allow them")
- self.slot_atom = portage.dep.Atom("%s:%s" % (self.cp, slot))
+ self.slot_atom = portage.dep.Atom("%s%s%s" % (self.cp, _slot_separator, slot))
self.category, self.pf = portage.catsplit(self.cpv)
self.cpv_split = portage.catpkgsplit(self.cpv)
self.pv_split = self.cpv_split[1:]
@@ -283,7 +283,7 @@ class Package(Task):
cpv_color = "PKG_NOMERGE"
s = "(%s, %s" \
- % (portage.output.colorize(cpv_color, self.cpv) , self.type_name)
+ % (portage.output.colorize(cpv_color, self.cpv + _repo_separator + self.repo) , self.type_name)
if self.type_name == "installed":
if self.root != "/":
@@ -314,6 +314,12 @@ class Package(Task):
self.enabled = frozenset(use)
@property
+ def repo(self):
+ if self._repo is None:
+ self._repo = self.metadata['repository']
+ return self._repo
+
+ @property
def use(self):
if self._use is None:
self._use = self._use_class(self.metadata['USE'].split())
@@ -377,7 +383,7 @@ class Package(Task):
if self.onlydeps or self.installed:
self.operation = "nomerge"
self._hash_key = \
- (self.type_name, self.root, self.cpv, self.operation)
+ (self.type_name, self.root, self.cpv, self.operation, self.metadata.get('repository', None))
return self._hash_key
def __lt__(self, other):