settings, trees, mtimedb = load_emerge_config(trees=trees)
portdb = trees[settings["ROOT"]]["porttree"].dbapi
- ldpath_mtimes = mtimedb["ldpath"]
xterm_titles = "notitles" not in settings.features
"""Disable color as early as possible via NOCOLOR and stdout
tmpcmdline.extend(sys.argv[1:])
myaction, myopts, myfiles = parse_opts(tmpcmdline)
+ if "--digest" in myopts:
+ os.environ["FEATURES"] = os.environ.get("FEATURES","") + " digest"
+ # Reload the whole config from scratch so that the portdbapi internal
+ # config is updated with new FEATURES.
+ settings, trees, mtimedb = load_emerge_config(trees=trees)
+ portdb = trees[settings["ROOT"]]["porttree"].dbapi
+
for myroot in trees:
mysettings = trees[myroot]["vartree"].settings
mysettings.unlock()
validate_ebuild_environment(trees)
vartree = trees[settings["ROOT"]]["vartree"]
if 1 == unmerge(settings, myopts, vartree, myaction, myfiles,
- ldpath_mtimes, raise_on_missing=False):
+ mtimedb["ldpath"], raise_on_missing=False):
if "--pretend" not in myopts:
post_emerge(settings, mtimedb, 0)
elif "depclean"==myaction:
validate_ebuild_environment(trees)
- action_depclean(settings, trees, ldpath_mtimes,
+ action_depclean(settings, trees, mtimedb["ldpath"],
myopts, spinner)
if "--pretend" not in myopts:
post_emerge(settings, mtimedb, 0)
mylist.append(x)
elif operator == "=": # Exact match
- if mycpv in candidate_list:
- mylist = [mycpv]
+ mysplit = ["%s/%s" % (cat, pkg), ver, rev]
+ for x in candidate_list:
+ try:
+ result = pkgcmp(pkgsplit(x), mysplit)
+ except SystemExit:
+ raise
+ except:
+ writemsg("\nInvalid package name: %s\n" % x, noiselevel=-1)
+ raise
+ if result == 0:
+ mylist.append(x)
elif operator == "=*": # glob match
# The old verion ignored _tag suffixes... This one doesn't.
mylist.append(x)
elif operator in [">", ">=", "<", "<="]:
+ mysplit = ["%s/%s" % (cat, pkg), ver, rev]
for x in candidate_list:
try:
- result = pkgcmp(pkgsplit(x), [cat + "/" + pkg, ver, rev])
+ result = pkgcmp(pkgsplit(x), mysplit)
except SystemExit:
raise
except: