summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage.py20
1 files changed, 16 insertions, 4 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 1dce3a1d0..3d5515148 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -7211,11 +7211,23 @@ class binarytree(object):
mypkg = myfile[:-5]
if not mycat or not mypf:
#old-style or corrupt package
- writemsg("!!! Invalid binary package: '%s'\n" % full_path,
- noiselevel=-1)
- writemsg("!!! This binary package is not " + \
- "recoverable and should be deleted.\n",
+ writemsg("\n!!! Invalid binary package: '%s'\n" % full_path,
noiselevel=-1)
+ missing_keys = []
+ if not mycat:
+ missing_keys.append("CATEGORY")
+ if not mypf:
+ missing_keys.append("PF")
+ msg = []
+ if missing_keys:
+ missing_keys.sort()
+ msg.append("Missing metadata key(s): %s." % \
+ ", ".join(missing_keys))
+ msg.append(" This binary package is not " + \
+ "recoverable and should be deleted.")
+ from textwrap import wrap
+ for line in wrap("".join(msg), 72):
+ writemsg("!!! %s\n" % line, noiselevel=-1)
self.invalids.append(mypkg)
continue
mycat = mycat.strip()