summaryrefslogtreecommitdiffstats
path: root/bin/emerge
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-06-09 14:22:44 +0000
committerZac Medico <zmedico@gentoo.org>2008-06-09 14:22:44 +0000
commitd51208855160093e33cfedbc6b8f2eafd328d942 (patch)
tree2d434ae1db1a74511c03f1365a2eb78b7af6a8f4 /bin/emerge
parent92017be236bfd3a15f3fbdd03272ac83e1f24b1e (diff)
downloadportage-d51208855160093e33cfedbc6b8f2eafd328d942.tar.gz
portage-d51208855160093e33cfedbc6b8f2eafd328d942.tar.bz2
portage-d51208855160093e33cfedbc6b8f2eafd328d942.zip
Add Package.counter and mtime attributes. (trunk r10587)
svn path=/main/branches/2.1.2/; revision=10611
Diffstat (limited to 'bin/emerge')
-rwxr-xr-xbin/emerge23
1 files changed, 20 insertions, 3 deletions
diff --git a/bin/emerge b/bin/emerge
index f49873d7b..b2167f67d 100755
--- a/bin/emerge
+++ b/bin/emerge
@@ -1422,13 +1422,13 @@ class Package(Task):
__slots__ = ("built", "cpv", "depth",
"installed", "metadata", "onlydeps", "operation",
"root_config", "type_name",
- "category", "cp", "cpv_split", "iuse",
+ "category", "counter", "cp", "cpv_split", "iuse", "mtime",
"pf", "pv_split", "root", "slot", "slot_atom", "use")
metadata_keys = [
"CHOST", "COUNTER", "DEPEND", "EAPI", "IUSE", "KEYWORDS",
"LICENSE", "PDEPEND", "PROVIDE", "RDEPEND",
- "repository", "RESTRICT", "SLOT", "USE"]
+ "repository", "RESTRICT", "SLOT", "USE", "_mtime_"]
def __init__(self, **kwargs):
Task.__init__(self, **kwargs)
@@ -1472,7 +1472,8 @@ class Package(Task):
"""
Detect metadata updates and synchronize Package attributes.
"""
- _wrapped_keys = frozenset(["IUSE", "SLOT", "USE"])
+ _wrapped_keys = frozenset(
+ ["COUNTER", "IUSE", "SLOT", "USE", "_mtime_"])
def __init__(self, pkg, metadata):
dict.__init__(self)
@@ -1499,6 +1500,22 @@ class Package(Task):
def _set_use(self, k, v):
self._pkg.use = self._pkg._use(v.split())
+ def _set_counter(self, k, v):
+ if isinstance(v, basestring):
+ try:
+ v = int(v.strip())
+ except ValueError:
+ v = 0
+ self._pkg.counter = v
+
+ def _set__mtime_(self, k, v):
+ if isinstance(v, basestring):
+ try:
+ v = float(v.strip())
+ except ValueError:
+ v = 0
+ self._pkg.mtime = v
+
def _get_hash_key(self):
hash_key = getattr(self, "_hash_key", None)
if hash_key is None: