aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2012-10-02 19:43:12 -0700
committerZac Medico <zmedico@gentoo.org>2012-10-02 19:43:12 -0700
commit1ed9164f6fa6f09d9b26c9aa0187c13bbeebc17b (patch)
tree6b4a0f6bd40ba7a0f6c53d6ada8b38567db158f0
parentOrderedDict: fix setitem bug #436974 (diff)
downloadportage-1ed9164f6fa6f09d9b26c9aa0187c13bbeebc17b.tar.gz
portage-1ed9164f6fa6f09d9b26c9aa0187c13bbeebc17b.tar.bz2
portage-1ed9164f6fa6f09d9b26c9aa0187c13bbeebc17b.zip
Fix emerge <tbz2> for python3.
-rw-r--r--pym/_emerge/depgraph.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index b4c799eb6..3940b5630 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -2297,8 +2297,18 @@ class depgraph(object):
writemsg("!!! Please ensure the tbz2 exists as specified.\n\n", noiselevel=-1)
return 0, myfavorites
mytbz2=portage.xpak.tbz2(x)
- mykey=mytbz2.getelements("CATEGORY")[0]+"/"+os.path.splitext(os.path.basename(x))[0]
- if os.path.realpath(x) != \
+ mykey = None
+ cat = mytbz2.getfile("CATEGORY")
+ if cat is not None:
+ cat = _unicode_decode(cat.strip(),
+ encoding=_encodings['repo.content'])
+ mykey = cat + "/" + os.path.basename(x)[:-5]
+
+ if mykey is None:
+ writemsg(colorize("BAD", "\n*** Package is missing CATEGORY metadata: %s.\n\n" % x), noiselevel=-1)
+ self._dynamic_config._skip_restart = True
+ return 0, myfavorites
+ elif os.path.realpath(x) != \
os.path.realpath(bindb.bintree.getname(mykey)):
writemsg(colorize("BAD", "\n*** You need to adjust PKGDIR to emerge this package.\n\n"), noiselevel=-1)
self._dynamic_config._skip_restart = True