summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-10-07 15:02:35 -0700
committerZac Medico <zmedico@gentoo.org>2012-10-07 15:02:35 -0700
commit83577043ac769db95e490ef180de14d01072f13a (patch)
tree9a9e7a356dc063237f00e6b959f6e78fe8d8b4d6
parentrepoman: identical Manifest commit message (diff)
downloadportage-83577043ac769db95e490ef180de14d01072f13a.tar.gz
portage-83577043ac769db95e490ef180de14d01072f13a.tar.bz2
portage-83577043ac769db95e490ef180de14d01072f13a.zip
Show slot + repo for colliding packages.
See bug #437516 for example.
-rw-r--r--pym/portage/dbapi/vartree.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index 11d980044..07b3cdb89 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -12,7 +12,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
'portage.dbapi.dep_expand:dep_expand',
'portage.dbapi._MergeProcess:MergeProcess',
'portage.dep:dep_getkey,isjustname,isvalidatom,match_from_list,' + \
- 'use_reduce,_get_slot_re',
+ 'use_reduce,_get_slot_re,_slot_separator,_repo_separator',
'portage.eapi:_get_eapi_attrs',
'portage.elog:collect_ebuild_messages,collect_messages,' + \
'elog_process,_merge_logentries',
@@ -3803,17 +3803,29 @@ class dblink(object):
# get_owners is slow for large numbers of files, so
# don't look them all up.
collisions = collisions[:20]
+
+ pkg_info_strs = {}
self.lockdb()
try:
owners = self.vartree.dbapi._owners.get_owners(collisions)
self.vartree.dbapi.flush_cache()
+
+ for pkg in owners:
+ other_slot, other_repo = self.vartree.dbapi.aux_get(
+ pkg.mycpv, ["SLOT", "repository"])
+ pkg_info_str = "%s%s%s" % (pkg.mycpv,
+ _slot_separator, other_slot)
+ if other_repo:
+ pkg_info_str += "%s%s" % (_repo_separator,
+ other_repo)
+ pkg_info_strs[pkg.mycpv] = pkg_info_str
+
finally:
self.unlockdb()
for pkg, owned_files in owners.items():
- cpv = pkg.mycpv
msg = []
- msg.append("%s" % cpv)
+ msg.append(pkg_info_strs[pkg.mycpv])
for f in sorted(owned_files):
msg.append("\t%s" % os.path.join(destroot,
f.lstrip(os.path.sep)))