diff options
Diffstat (limited to 'pym/portage')
-rw-r--r-- | pym/portage/__init__.py | 1 | ||||
-rw-r--r-- | pym/portage/dbapi/vartree.py | 16 |
2 files changed, 17 insertions, 0 deletions
diff --git a/pym/portage/__init__.py b/pym/portage/__init__.py index 485a2d426..8c8c99ebc 100644 --- a/pym/portage/__init__.py +++ b/pym/portage/__init__.py @@ -1002,6 +1002,7 @@ class config(object): "GENTOO_MIRRORS", "NOCONFMEM", "O", "PORTAGE_BACKGROUND", "PORTAGE_BINHOST_CHUNKSIZE", "PORTAGE_CALLER", + "PORTAGE_COUNTER_HASH", "PORTAGE_ECLASS_WARNING_ENABLE", "PORTAGE_ELOG_CLASSES", "PORTAGE_ELOG_MAILFROM", "PORTAGE_ELOG_MAILSUBJECT", "PORTAGE_ELOG_MAILURI", "PORTAGE_ELOG_SYSTEM", diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 1d5c8fe26..c3628491d 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -773,6 +773,21 @@ class vardbapi(dbapi): level=logging.ERROR, noiselevel=-1) return 0 + def _counter_hash(self): + try: + from hashlib import md5 as new_hash + except ImportError: + from md5 import new as new_hash + h = new_hash() + aux_keys = ["COUNTER"] + for cpv in self.cpv_all(): + try: + counter, = self.aux_get(cpv, aux_keys) + except KeyError: + continue + h.update(counter) + return h.hexdigest() + def cpv_inject(self, mycpv): "injects a real package into our on-disk database; assumes mycpv is valid and doesn't already exist" os.makedirs(self.getpath(mycpv)) @@ -916,6 +931,7 @@ class vardbapi(dbapi): self.invalidentry(self.getpath(subpath)) continue returnme.append(subpath) + returnme.sort() return returnme def cp_all(self, use_cache=1): |