pass
files = []
+ orphan_abs_paths = set()
+ orphan_basenames = set()
for f in argv[1:]:
f = portage.normalize_path(f)
is_basename = os.sep not in f
return 2
if is_basename:
files.append(f)
+ orphan_basenames.add(f)
else:
files.append(f[len(root)-1:])
+ orphan_abs_paths.add(f)
owners = vardb._owners.get_owners(files)
cpv = pkg.mycpv
msg.append("%s\n" % cpv)
for f in sorted(owned_files):
- msg.append("\t%s\n" % \
- os.path.join(root, f.lstrip(os.path.sep)))
+ f_abs = os.path.join(root, f.lstrip(os.path.sep))
+ msg.append("\t%s\n" % (f_abs,))
+ orphan_abs_paths.discard(f_abs)
+ if orphan_basenames:
+ orphan_basenames.discard(os.path.basename(f_abs))
writemsg_stdout(''.join(msg), noiselevel=-1)
+ if orphan_abs_paths or orphan_basenames:
+ orphans = []
+ orphans.extend(orphan_abs_paths)
+ orphans.extend(orphan_basenames)
+ orphans.sort()
+ msg = []
+ msg.append("None of the installed packages claim these files:\n")
+ for f in orphans:
+ msg.append("\t%s\n" % (f,))
+ sys.stderr.write("".join(msg))
+ sys.stderr.flush()
+
if owners:
return 0
-
- sys.stderr.write("None of the installed packages claim the file(s).\n")
- sys.stderr.flush()
return 1
owners.uses_root = True