aboutsummaryrefslogtreecommitdiffstats
path: root/lib/_emerge/depgraph.py
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-01-10 13:20:51 +0000
committerSam James <sam@gentoo.org>2023-01-10 15:12:38 +0000
commit3a5b0362f634e9514ed3a48efe77089f6457e048 (patch)
tree1c9cdf0ead24ae635cefb63c7f91c6cdd6d78c83 /lib/_emerge/depgraph.py
parentdepgraph: Print dependency resolution time (diff)
downloadgentoo-portage-3a5b0362f634e9514ed3a48efe77089f6457e048.tar.xz
gentoo-portage-3a5b0362f634e9514ed3a48efe77089f6457e048.zip
*/*: convert to f-strings (run flynt)
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'lib/_emerge/depgraph.py')
-rw-r--r--lib/_emerge/depgraph.py340
1 files changed, 164 insertions, 176 deletions
diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index 15dcfbc840c0..bdac29bb1210 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -801,11 +801,11 @@ class depgraph:
for root in atoms:
writemsg_level(
- " root: %s\n" % root, level=logging.DEBUG, noiselevel=-1
+ f" root: {root}\n", level=logging.DEBUG, noiselevel=-1
)
for atom in atoms[root]:
writemsg_level(
- " atom: %s\n" % atom, level=logging.DEBUG, noiselevel=-1
+ f" atom: {atom}\n", level=logging.DEBUG, noiselevel=-1
)
writemsg_level("\n\n", level=logging.DEBUG, noiselevel=-1)
@@ -962,18 +962,18 @@ class depgraph:
slot_atom,
), deps in self._dynamic_config._slot_operator_deps.items():
writemsg_level(
- " ({}, {})\n".format(root, slot_atom),
+ f" ({root}, {slot_atom})\n",
level=logging.DEBUG,
noiselevel=-1,
)
for dep in deps:
writemsg_level(
- " parent: %s\n" % dep.parent,
+ f" parent: {dep.parent}\n",
level=logging.DEBUG,
noiselevel=-1,
)
writemsg_level(
- " child: {} ({})\n".format(dep.child, dep.priority),
+ f" child: {dep.child} ({dep.priority})\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -984,15 +984,15 @@ class depgraph:
for root in forced_rebuilds:
writemsg_level(
- " root: %s\n" % root, level=logging.DEBUG, noiselevel=-1
+ f" root: {root}\n", level=logging.DEBUG, noiselevel=-1
)
for child in forced_rebuilds[root]:
writemsg_level(
- " child: %s\n" % child, level=logging.DEBUG, noiselevel=-1
+ f" child: {child}\n", level=logging.DEBUG, noiselevel=-1
)
for parent in forced_rebuilds[root][child]:
writemsg_level(
- " parent: %s\n" % parent,
+ f" parent: {parent}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -1012,10 +1012,10 @@ class depgraph:
for root in self._forced_rebuilds:
for child in self._forced_rebuilds[root]:
writemsg_stdout(
- " {} causes rebuilds for:\n".format(child), noiselevel=-1
+ f" {child} causes rebuilds for:\n", noiselevel=-1
)
for parent in self._forced_rebuilds[root][child]:
- writemsg_stdout(" {}\n".format(parent), noiselevel=-1)
+ writemsg_stdout(f" {parent}\n", noiselevel=-1)
def _eliminate_ignored_binaries(self):
"""
@@ -1156,9 +1156,9 @@ class depgraph:
)
for pkg, ebuild in report_pkgs:
- writemsg(" {}::{}".format(pkg.cpv, pkg.repo), noiselevel=-1)
+ writemsg(f" {pkg.cpv}::{pkg.repo}", noiselevel=-1)
if pkg.root_config.settings["ROOT"] != "/":
- writemsg(" for {}".format(pkg.root), noiselevel=-1)
+ writemsg(f" for {pkg.root}", noiselevel=-1)
writemsg("\n", noiselevel=-1)
msg = []
@@ -1246,9 +1246,9 @@ class depgraph:
flag_display.append(flag)
flag_display = " ".join(flag_display)
# The user can paste this line into package.use
- writemsg(" ={} {}".format(pkg.cpv, flag_display), noiselevel=-1)
+ writemsg(f" ={pkg.cpv} {flag_display}", noiselevel=-1)
if pkg.root_config.settings["ROOT"] != "/":
- writemsg(" # for {}".format(pkg.root), noiselevel=-1)
+ writemsg(f" # for {pkg.root}", noiselevel=-1)
writemsg("\n", noiselevel=-1)
msg = [
@@ -1272,10 +1272,10 @@ class depgraph:
)
for pkg in changed_deps:
- msg = " {}{}{}".format(pkg.cpv, _repo_separator, pkg.repo)
+ msg = f" {pkg.cpv}{_repo_separator}{pkg.repo}"
if pkg.root_config.settings["ROOT"] != "/":
- msg += " for %s" % pkg.root
- writemsg("%s\n" % msg, noiselevel=-1)
+ msg += f" for {pkg.root}"
+ writemsg(f"{msg}\n", noiselevel=-1)
msg = [
"",
@@ -1381,7 +1381,7 @@ class depgraph:
writemsg(str(pkg.slot_atom), noiselevel=-1)
if pkg.root_config.settings["ROOT"] != "/":
- writemsg(" for {}".format(pkg.root), noiselevel=-1)
+ writemsg(f" for {pkg.root}", noiselevel=-1)
writemsg("\n\n", noiselevel=-1)
selected_pkg = next(
@@ -1389,9 +1389,9 @@ class depgraph:
None,
)
- writemsg(" selected: {}\n".format(selected_pkg), noiselevel=-1)
+ writemsg(f" selected: {selected_pkg}\n", noiselevel=-1)
writemsg(
- " skipped: {} (see unsatisfied dependency below)\n".format(pkg),
+ f" skipped: {pkg} (see unsatisfied dependency below)\n",
noiselevel=-1,
)
@@ -1411,7 +1411,7 @@ class depgraph:
for pkg, parent_atoms in backtrack_masked:
writemsg(str(pkg.slot_atom), noiselevel=-1)
if pkg.root_config.settings["ROOT"] != "/":
- writemsg(" for {}".format(pkg.root), noiselevel=-1)
+ writemsg(f" for {pkg.root}", noiselevel=-1)
writemsg("\n", noiselevel=-1)
def _show_missed_update_slot_conflicts(self, missed_updates):
@@ -1429,7 +1429,7 @@ class depgraph:
for pkg, parent_atoms in missed_updates:
msg.append(str(pkg.slot_atom))
if pkg.root_config.settings["ROOT"] != "/":
- msg.append(" for {}".format(pkg.root))
+ msg.append(f" for {pkg.root}")
msg.append("\n\n")
msg.append(indent)
@@ -1471,7 +1471,7 @@ class depgraph:
msg.append(2 * indent)
msg.append(
- "{} required by {} {}\n".format(atom, parent, use_display)
+ f"{atom} required by {parent} {use_display}\n"
)
msg.append(2 * indent)
msg.append(marker)
@@ -1625,25 +1625,25 @@ class depgraph:
"""
def __str__(self):
- return "(%s)" % ",".join(str(pkg) for pkg in self)
+ return f"({','.join(str(pkg) for pkg in self)})"
non_matching_forced = set()
for conflict in conflicts:
if debug:
writemsg_level(" conflict:\n", level=logging.DEBUG, noiselevel=-1)
writemsg_level(
- " root: %s\n" % conflict.root,
+ f" root: {conflict.root}\n",
level=logging.DEBUG,
noiselevel=-1,
)
writemsg_level(
- " atom: %s\n" % conflict.atom,
+ f" atom: {conflict.atom}\n",
level=logging.DEBUG,
noiselevel=-1,
)
for pkg in conflict:
writemsg_level(
- " pkg: %s\n" % pkg, level=logging.DEBUG, noiselevel=-1
+ f" pkg: {pkg}\n", level=logging.DEBUG, noiselevel=-1
)
all_parent_atoms = set()
@@ -1666,7 +1666,7 @@ class depgraph:
if debug:
writemsg_level(
- " parent: %s\n" % parent,
+ f" parent: {parent}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -1677,7 +1677,7 @@ class depgraph:
noiselevel=-1,
)
writemsg_level(
- " atom: %s\n" % atom, level=logging.DEBUG, noiselevel=-1
+ f" atom: {atom}\n", level=logging.DEBUG, noiselevel=-1
)
if is_non_conflict_parent:
@@ -1693,7 +1693,7 @@ class depgraph:
if debug:
for match in matched:
writemsg_level(
- " match: %s\n" % match,
+ f" match: {match}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -1717,7 +1717,7 @@ class depgraph:
if debug:
for pkg in conflict:
writemsg_level(
- " non-match: %s\n" % pkg,
+ f" non-match: {pkg}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -1809,20 +1809,20 @@ class depgraph:
)
for conflict in conflicts:
writemsg_level(
- " Conflict: ({}, {})\n".format(conflict.root, conflict.atom),
+ f" Conflict: ({conflict.root}, {conflict.atom})\n",
level=logging.DEBUG,
noiselevel=-1,
)
for pkg in conflict:
if pkg in forced:
writemsg_level(
- " keep: %s\n" % pkg,
+ f" keep: {pkg}\n",
level=logging.DEBUG,
noiselevel=-1,
)
else:
writemsg_level(
- " remove: %s\n" % pkg,
+ f" remove: {pkg}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -2041,9 +2041,9 @@ class depgraph:
"",
"",
"backtracking due to slot conflict:",
- " first package: {}".format(existing_node),
- " package(s) to mask: {}".format(str(to_be_masked)),
- " slot: {}".format(slot_atom),
+ f" first package: {existing_node}",
+ f" package(s) to mask: {str(to_be_masked)}",
+ f" slot: {slot_atom}",
" parents: {}".format(
", ".join(
"({}, '{}')".format(ppkg, atom) for ppkg, atom in all_parents
@@ -2052,7 +2052,7 @@ class depgraph:
"",
]
writemsg_level(
- "".join("%s\n" % l for l in msg), noiselevel=-1, level=logging.DEBUG
+ "".join(f"{l}\n" for l in msg), noiselevel=-1, level=logging.DEBUG
)
def _slot_conflict_backtrack_abi(self, pkg, slot_nodes, conflict_atoms):
@@ -2113,7 +2113,7 @@ class depgraph:
for unbuilt_child in chain(
matches,
self._iter_match_pkgs(
- root_config, "ebuild", Atom("={}".format(dep.child.cpv))
+ root_config, "ebuild", Atom(f"={dep.child.cpv}")
),
):
if unbuilt_child in self._dynamic_config._runtime_pkg_mask:
@@ -2143,13 +2143,12 @@ class depgraph:
"",
"",
"backtracking due to slot/sub-slot change:",
- " child package: %s" % child,
- " child slot: {}/{}".format(child.slot, child.sub_slot),
- " new child: %s" % new_child_slot,
- " new child slot: %s/%s"
- % (new_child_slot.slot, new_child_slot.sub_slot),
- " parent package: %s" % dep.parent,
- " atom: %s" % dep.atom,
+ f" child package: {child}",
+ f" child slot: {child.slot}/{child.sub_slot}",
+ f" new child: {new_child_slot}",
+ f" new child slot: {new_child_slot.slot}/{new_child_slot.sub_slot}",
+ f" parent package: {dep.parent}",
+ f" atom: {dep.atom}",
"",
]
writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG)
@@ -2186,14 +2185,14 @@ class depgraph:
"",
"",
"backtracking due to missed slot abi update:",
- " child package: %s" % child,
+ f" child package: {child}",
]
if new_child_slot is not None:
- msg.append(" new child slot package: %s" % new_child_slot)
- msg.append(" parent package: %s" % dep.parent)
+ msg.append(f" new child slot package: {new_child_slot}")
+ msg.append(f" parent package: {dep.parent}")
if new_dep is not None:
- msg.append(" new parent pkg: %s" % new_dep.parent)
- msg.append(" atom: %s" % dep.atom)
+ msg.append(f" new parent pkg: {new_dep.parent}")
+ msg.append(f" atom: {dep.atom}")
msg.append("")
writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG)
backtrack_infos = self._dynamic_config._backtrack_infos
@@ -2346,8 +2345,8 @@ class depgraph:
"_slot_operator_check_reverse_dependencies:",
" candidate package does not match atom '%s': %s"
% (atom, candidate_pkg),
- " parent: %s" % parent,
- " parent atoms: %s" % " ".join(parent_atoms),
+ f" parent: {parent}",
+ f" parent atoms: {' '.join(parent_atoms)}",
"",
)
writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG)
@@ -2571,10 +2570,10 @@ class depgraph:
"",
"",
"slot_operator_update_probe:",
- " existing child package: %s" % dep.child,
- " existing parent package: %s" % dep.parent,
- " new child package: %s" % selected[0],
- " new parent package: %s" % replacement_parent,
+ f" existing child package: {dep.child}",
+ f" existing parent package: {dep.parent}",
+ f" new child package: {selected[0]}",
+ f" new parent package: {replacement_parent}",
"",
)
writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG)
@@ -2588,8 +2587,8 @@ class depgraph:
"",
"",
"slot_operator_update_probe:",
- " existing child package: %s" % dep.child,
- " existing parent package: %s" % dep.parent,
+ f" existing child package: {dep.child}",
+ f" existing parent package: {dep.parent}",
" new child package: %s" % None,
" new parent package: %s" % None,
"",
@@ -2638,10 +2637,10 @@ class depgraph:
"",
"",
"slot_operator_unsatisfied_probe:",
- " existing parent package: %s" % dep.parent,
- " existing parent atom: %s" % dep.atom,
- " new parent package: %s" % replacement_parent,
- " new child package: %s" % pkg,
+ f" existing parent package: {dep.parent}",
+ f" existing parent atom: {dep.atom}",
+ f" new parent package: {replacement_parent}",
+ f" new child package: {pkg}",
"",
)
writemsg_level(
@@ -2655,8 +2654,8 @@ class depgraph:
"",
"",
"slot_operator_unsatisfied_probe:",
- " existing parent package: %s" % dep.parent,
- " existing parent atom: %s" % dep.atom,
+ f" existing parent package: {dep.parent}",
+ f" existing parent atom: {dep.atom}",
" new parent package: %s" % None,
" new child package: %s" % None,
"",
@@ -2674,8 +2673,8 @@ class depgraph:
"",
"",
"backtracking due to unsatisfied built slot-operator dep:",
- " parent package: %s" % parent,
- " atom: %s" % dep.atom,
+ f" parent package: {parent}",
+ f" atom: {dep.atom}",
"",
)
writemsg_level("\n".join(msg), noiselevel=-1, level=logging.DEBUG)
@@ -2851,7 +2850,7 @@ class depgraph:
SLOT may differ from the installed SLOT, so first search by cpv.
"""
built_pkgs = []
- for pkg in self._iter_similar_available(inst_pkg, Atom("=%s" % inst_pkg.cpv)):
+ for pkg in self._iter_similar_available(inst_pkg, Atom(f"={inst_pkg.cpv}")):
if not pkg.built:
return pkg.slot_atom
if not pkg.installed:
@@ -3276,13 +3275,13 @@ class depgraph:
msg.append("")
msg.append("")
msg.append("backtracking due to unsatisfied dep:")
- msg.append(" parent: %s" % dep.parent)
- msg.append(" priority: %s" % dep.priority)
- msg.append(" root: %s" % dep.root)
- msg.append(" atom: %s" % dep.atom)
+ msg.append(f" parent: {dep.parent}")
+ msg.append(f" priority: {dep.priority}")
+ msg.append(f" root: {dep.root}")
+ msg.append(f" atom: {dep.atom}")
msg.append("")
writemsg_level(
- "".join("%s\n" % l for l in msg),
+ "".join(f"{l}\n" for l in msg),
noiselevel=-1,
level=logging.DEBUG,
)
@@ -3354,7 +3353,7 @@ class depgraph:
# For PackageArg and AtomArg types, it's
# redundant to display the atom attribute.
writemsg_level(
- "{}{}\n".format("Parent Dep:".ljust(15), myparent),
+ f"{'Parent Dep:'.ljust(15)}{myparent}\n",
level=logging.DEBUG,
noiselevel=-1,
)
@@ -3367,7 +3366,7 @@ class depgraph:
and dep.atom.package
and dep.atom is not dep.atom.unevaluated_atom
):
- uneval = " ({})".format(dep.atom.unevaluated_atom)
+ uneval = f" ({dep.atom.unevaluated_atom})"
writemsg_level(
"%s%s%s required by %s\n"
% ("Parent Dep:".ljust(15), dep.atom, uneval, myparent),
@@ -3642,7 +3641,7 @@ class depgraph:
debug = "--debug" in self._frozen_config.myopts
if debug:
writemsg_level(
- "Removing package: %s\n" % pkg, level=logging.DEBUG, noiselevel=-1
+ f"Removing package: {pkg}\n", level=logging.DEBUG, noiselevel=-1
)
try:
@@ -3855,15 +3854,15 @@ class depgraph:
continue
if debug:
writemsg_level(
- "\nParent: {}\n".format(pkg), noiselevel=-1, level=logging.DEBUG
+ f"\nParent: {pkg}\n", noiselevel=-1, level=logging.DEBUG
)
writemsg_level(
- "Depstring: {}\n".format(dep_string),
+ f"Depstring: {dep_string}\n",
noiselevel=-1,
level=logging.DEBUG,
)
writemsg_level(
- "Priority: {}\n".format(dep_priority),
+ f"Priority: {dep_priority}\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -4031,16 +4030,16 @@ class depgraph:
if debug:
writemsg_level(
- "\nParent: {}\n".format(pkg), noiselevel=-1, level=logging.DEBUG
+ f"\nParent: {pkg}\n", noiselevel=-1, level=logging.DEBUG
)
dep_repr = portage.dep.paren_enclose(
dep_string, unevaluated_atom=True, opconvert=True
)
writemsg_level(
- "Depstring: {}\n".format(dep_repr), noiselevel=-1, level=logging.DEBUG
+ f"Depstring: {dep_repr}\n", noiselevel=-1, level=logging.DEBUG
)
writemsg_level(
- "Priority: {}\n".format(dep_priority),
+ f"Priority: {dep_priority}\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -4064,7 +4063,7 @@ class depgraph:
if debug:
writemsg_level(
- "Candidates: {}\n".format([str(x) for x in selected_atoms[pkg]]),
+ f"Candidates: {[str(x) for x in selected_atoms[pkg]]}\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -4180,9 +4179,7 @@ class depgraph:
if debug:
writemsg_level(
- "\nCandidates: {}: {}\n".format(
- virt_pkg.cpv, [str(x) for x in atoms]
- ),
+ f"\nCandidates: {virt_pkg.cpv}: {[str(x) for x in atoms]}\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -4287,7 +4284,7 @@ class depgraph:
if debug:
writemsg_level(
- "\nExiting... {}\n".format(pkg), noiselevel=-1, level=logging.DEBUG
+ f"\nExiting... {pkg}\n", noiselevel=-1, level=logging.DEBUG
)
return 1
@@ -4480,7 +4477,7 @@ class depgraph:
categories = set()
for db, pkg_type, built, installed, db_keys in dbs:
for cat in db.categories:
- if db.cp_list("{}/{}".format(cat, atom_pn)):
+ if db.cp_list(f"{cat}/{atom_pn}"):
categories.add(cat)
deps = []
@@ -4633,7 +4630,7 @@ class depgraph:
writemsg(
colorize(
"BAD",
- "\n*** Package is missing CATEGORY metadata: %s.\n\n" % x,
+ f"\n*** Package is missing CATEGORY metadata: {x}.\n\n",
),
noiselevel=-1,
)
@@ -4642,7 +4639,7 @@ class depgraph:
x = os.path.realpath(x)
for pkg in self._iter_match_pkgs(
- root_config, "binary", Atom("=%s" % mykey)
+ root_config, "binary", Atom(f"={mykey}")
):
if x == os.path.realpath(bindb.bintree.getname(pkg.cpv)):
break
@@ -4774,7 +4771,7 @@ class depgraph:
for pset in list(depgraph_sets.sets.values()) + [sets[s]]:
for error_msg in pset.errors:
writemsg_level(
- "{}\n".format(error_msg),
+ f"{error_msg}\n",
level=logging.ERROR,
noiselevel=-1,
)
@@ -4813,7 +4810,7 @@ class depgraph:
continue
if not is_valid_package_atom(x, allow_repo=True):
portage.writemsg(
- "\n\n!!! '%s' is not a valid package atom.\n" % x, noiselevel=-1
+ f"\n\n!!! '{x}' is not a valid package atom.\n", noiselevel=-1
)
portage.writemsg("!!! Please check ebuild(5) for full details.\n")
portage.writemsg(
@@ -4935,7 +4932,7 @@ class depgraph:
for cpv in owners:
pkg = vardb._pkg_str(cpv, None)
- atom = Atom("{}:{}".format(pkg.cp, pkg.slot))
+ atom = Atom(f"{pkg.cp}:{pkg.slot}")
args.append(AtomArg(arg=atom, atom=atom, root_config=root_config))
if "--update" in self._frozen_config.myopts:
@@ -5072,7 +5069,7 @@ class depgraph:
continue
if debug:
writemsg_level(
- "\n Arg: {}\n Atom: {}\n".format(arg, atom),
+ f"\n Arg: {arg}\n Atom: {atom}\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -5181,12 +5178,10 @@ class depgraph:
raise # Needed else can't exit
except Exception as e:
writemsg(
- "\n\n!!! Problem in '%s' dependencies.\n" % atom, noiselevel=-1
+ f"\n\n!!! Problem in '{atom}' dependencies.\n", noiselevel=-1
)
writemsg(
- "!!! {} {}\n".format(
- str(e), str(getattr(e, "__module__", None))
- )
+ f"!!! {str(e)} {str(getattr(e, '__module__', None))}\n"
)
raise
@@ -5448,7 +5443,7 @@ class depgraph:
slots.remove(highest_pkg.slot)
while slots:
slot = slots.pop()
- slot_atom = portage.dep.Atom("{}:{}".format(highest_pkg.cp, slot))
+ slot_atom = portage.dep.Atom(f"{highest_pkg.cp}:{slot}")
pkg, in_graph = self._select_package(root_config.root, slot_atom)
if pkg is not None and pkg.cp == highest_pkg.cp and pkg < highest_pkg:
greedy_pkgs.append(pkg)
@@ -5713,7 +5708,7 @@ class depgraph:
except InvalidDependString as e:
writemsg_level(
"!!! Invalid RDEPEND in "
- + "'{}var/db/pkg/{}/RDEPEND': {}\n".format(pkg.root, pkg.cpv, e),
+ + f"'{pkg.root}var/db/pkg/{pkg.cpv}/RDEPEND': {e}\n",
noiselevel=-1,
level=logging.ERROR,
)
@@ -5752,7 +5747,7 @@ class depgraph:
raise
writemsg_level(
"!!! Invalid RDEPEND in "
- + "'{}var/db/pkg/{}/RDEPEND': {}\n".format(pkg.root, pkg.cpv, e),
+ + f"'{pkg.root}var/db/pkg/{pkg.cpv}/RDEPEND': {e}\n",
noiselevel=-1,
level=logging.ERROR,
)
@@ -5787,7 +5782,7 @@ class depgraph:
graph = self._dynamic_config.digraph
def format_pkg(pkg):
- pkg_name = "{}{}{}".format(pkg.cpv, _repo_separator, pkg.repo)
+ pkg_name = f"{pkg.cpv}{_repo_separator}{pkg.repo}"
return pkg_name
if target_atom is not None and isinstance(node, Package):
@@ -5812,7 +5807,7 @@ class depgraph:
usedep.append(flag)
else:
usedep.append("-" + flag)
- pkg_name += "[%s]" % ",".join(usedep)
+ pkg_name += f"[{','.join(usedep)}]"
dep_chain.append((pkg_name, node.type_name))
@@ -5866,7 +5861,7 @@ class depgraph:
node_type = "set"
else:
node_type = "argument"
- dep_chain.append(("{}".format(node), node_type))
+ dep_chain.append((f"{node}", node_type))
elif node is not start_node:
for ppkg, patom in all_parents[child]:
@@ -5920,7 +5915,7 @@ class depgraph:
usedep.append(flag)
else:
usedep.append("-" + flag)
- pkg_name += "[%s]" % ",".join(usedep)
+ pkg_name += f"[{','.join(usedep)}]"
dep_chain.append((pkg_name, node.type_name))
@@ -5962,7 +5957,7 @@ class depgraph:
if self._dynamic_config.digraph.parent_nodes(parent_arg):
selected_parent = parent_arg
else:
- dep_chain.append(("{}".format(parent_arg), "argument"))
+ dep_chain.append((f"{parent_arg}", "argument"))
selected_parent = None
node = selected_parent
@@ -5975,9 +5970,9 @@ class depgraph:
display_list = []
for node, node_type in dep_chain:
if node_type == "argument":
- display_list.append("required by %s (argument)" % node)
+ display_list.append(f"required by {node} (argument)")
else:
- display_list.append("required by %s" % node)
+ display_list.append(f"required by {node}")
msg = "# " + "\n# ".join(display_list) + "\n"
return msg
@@ -6001,20 +5996,20 @@ class depgraph:
backtrack_mask = False
autounmask_broke_use_dep = False
if atom.package:
- xinfo = '"%s"' % atom.unevaluated_atom
+ xinfo = f'"{atom.unevaluated_atom}"'
atom_without_use = atom.without_use
else:
- xinfo = '"%s"' % atom
+ xinfo = f'"{atom}"'
atom_without_use = None
if arg:
- xinfo = '"%s"' % arg
+ xinfo = f'"{arg}"'
if isinstance(myparent, AtomArg):
- xinfo = '"{}"'.format(myparent)
+ xinfo = f'"{myparent}"'
# Discard null/ from failed cpv_expand category expansion.
xinfo = xinfo.replace("null/", "")
if root != self._frozen_config._running_root.root:
- xinfo = "{} for {}".format(xinfo, root)
+ xinfo = f"{xinfo} for {root}"
masked_packages = []
missing_use = []
missing_use_adjustable = set()
@@ -6107,8 +6102,7 @@ class depgraph:
pkg
]
mreasons.append(
- "backtracking: %s"
- % ", ".join(sorted(backtrack_reasons))
+ f"backtracking: {', '.join(sorted(backtrack_reasons))}"
)
backtrack_mask = True
if (
@@ -6139,9 +6133,7 @@ class depgraph:
except InvalidAtom:
writemsg(
"violated_conditionals raised "
- + "InvalidAtom: '{}' parent: {}".format(
- atom, myparent
- ),
+ + f"InvalidAtom: '{atom}' parent: {myparent}",
noiselevel=-1,
)
raise
@@ -6232,7 +6224,7 @@ class depgraph:
mreasons = []
if missing_iuse:
- mreasons.append("Missing IUSE: %s" % " ".join(missing_iuse))
+ mreasons.append(f"Missing IUSE: {' '.join(missing_iuse)}")
missing_iuse_reasons.append((pkg, mreasons))
else:
need_enable = sorted((atom.use.enabled - use) & pkg.iuse.all)
@@ -6270,7 +6262,7 @@ class depgraph:
changes.extend(colorize("red", "+" + x) for x in need_enable)
changes.extend(colorize("blue", "-" + x) for x in need_disable)
mreasons.append(
- "Change USE: %s" % " ".join(changes) + required_use_warning
+ f"Change USE: {' '.join(changes)}" + required_use_warning
)
missing_use_reasons.append((pkg, mreasons))
@@ -6364,7 +6356,7 @@ class depgraph:
return True
mreasons.append(
- "Change USE: %s" % " ".join(changes) + required_use_warning
+ f"Change USE: {' '.join(changes)}" + required_use_warning
)
if (myparent, mreasons) not in missing_use_reasons:
missing_use_reasons.append((myparent, mreasons))
@@ -6451,7 +6443,7 @@ class depgraph:
noiselevel=-1,
)
use_display = pkg_use_display(pkg, self._frozen_config.myopts)
- writemsg("- {} {}\n".format(output_cpv, use_display), noiselevel=-1)
+ writemsg(f"- {output_cpv} {use_display}\n", noiselevel=-1)
writemsg(
"\n The following REQUIRED_USE flag constraints "
+ "are unsatisfied:\n",
@@ -6464,7 +6456,7 @@ class depgraph:
eapi=pkg.eapi,
).tounicode()
writemsg(
- " %s\n" % human_readable_required_use(reduced_noise), noiselevel=-1
+ f" {human_readable_required_use(reduced_noise)}\n", noiselevel=-1
)
normalized_required_use = " ".join(pkg._metadata["REQUIRED_USE"].split())
if reduced_noise != normalized_required_use:
@@ -6474,7 +6466,7 @@ class depgraph:
noiselevel=-1,
)
writemsg(
- " %s\n" % human_readable_required_use(normalized_required_use),
+ f" {human_readable_required_use(normalized_required_use)}\n",
noiselevel=-1,
)
writemsg("\n", noiselevel=-1)
@@ -6912,7 +6904,7 @@ class depgraph:
except portage.exception.PackageNotFound:
return next(
self._iter_match_pkgs(
- pkg.root_config, "ebuild", Atom("={}".format(pkg.cpv))
+ pkg.root_config, "ebuild", Atom(f"={pkg.cpv}")
),
None,
)
@@ -6923,7 +6915,7 @@ class depgraph:
except portage.exception.PackageNotFound:
pkg_eb_visible = False
for pkg_eb in self._iter_match_pkgs(
- pkg.root_config, "ebuild", Atom("={}".format(pkg.cpv))
+ pkg.root_config, "ebuild", Atom(f"={pkg.cpv}")
):
if self._pkg_visibility_check(pkg_eb, autounmask_level):
pkg_eb_visible = True
@@ -8495,7 +8487,7 @@ class depgraph:
# is thrown from cpv_expand due to multiple
# matches (this can happen if an atom lacks a
# category).
- show_invalid_depstring_notice(pkg, "{}".format(e))
+ show_invalid_depstring_notice(pkg, f"{e}")
del e
raise
if not success:
@@ -8533,7 +8525,7 @@ class depgraph:
except portage.exception.InvalidAtom as e:
depstr = " ".join(vardb.aux_get(pkg.cpv, dep_keys))
show_invalid_depstring_notice(
- pkg, "Invalid Atom: {}".format(e)
+ pkg, f"Invalid Atom: {e}"
)
return False
for cpv in stale_cache:
@@ -9324,7 +9316,7 @@ class depgraph:
if leaves:
writemsg(
- "runtime cycle leaf: {}\n\n".format(selected_nodes[0]),
+ f"runtime cycle leaf: {selected_nodes[0]}\n\n",
noiselevel=-1,
)
@@ -9437,8 +9429,7 @@ class depgraph:
except portage.exception.InvalidDependString as e:
portage.writemsg(
"!!! Invalid PROVIDE in "
- + "'%svar/db/pkg/%s/PROVIDE': %s\n"
- % (task.root, task.cpv, e),
+ + f"'{task.root}var/db/pkg/{task.cpv}/PROVIDE': {e}\n",
noiselevel=-1,
)
del e
@@ -9475,8 +9466,7 @@ class depgraph:
except portage.exception.InvalidDependString as e:
portage.writemsg(
"!!! Invalid PROVIDE in "
- + "'%svar/db/pkg/%s/PROVIDE': %s\n"
- % (task.root, task.cpv, e),
+ + f"'{task.root}var/db/pkg/{task.cpv}/PROVIDE': {e}\n",
noiselevel=-1,
)
del e
@@ -9517,8 +9507,7 @@ class depgraph:
except portage.exception.InvalidDependString as e:
portage.writemsg(
"!!! Invalid PROVIDE in "
- + "'%svar/db/pkg/%s/PROVIDE': %s\n"
- % (task.root, task.cpv, e),
+ + f"'{task.root}var/db/pkg/{task.cpv}/PROVIDE': {e}\n",
noiselevel=-1,
)
del e
@@ -9766,7 +9755,7 @@ class depgraph:
]
for node in retlist:
if isinstance(node, Package) and node.operation == "uninstall":
- msg.append("\t{}".format(node))
+ msg.append(f"\t{node}")
writemsg_level(
"\n%s\n" % "".join("%s\n" % line for line in msg),
level=logging.DEBUG,
@@ -9961,7 +9950,7 @@ class depgraph:
if parent_atom not in preferred_parents:
ordered_list.append(parent_atom)
- msg.append(indent + "%s pulled in by\n" % pkg)
+ msg.append(indent + f"{pkg} pulled in by\n")
for parent_atom in ordered_list:
parent, atom = parent_atom
@@ -9991,7 +9980,7 @@ class depgraph:
)
else:
msg.append(
- "{} required by {} {}".format(atom, parent, use_display)
+ f"{atom} required by {parent} {use_display}"
)
msg.append("\n")
@@ -10102,19 +10091,19 @@ class depgraph:
if autounmask_unrestricted_atoms:
if is_latest:
unstable_keyword_msg[root].append(
- ">={} {}\n".format(pkg.cpv, keyword)
+ f">={pkg.cpv} {keyword}\n"
)
elif is_latest_in_slot:
unstable_keyword_msg[root].append(
- ">={}:{} {}\n".format(pkg.cpv, pkg.slot, keyword)
+ f">={pkg.cpv}:{pkg.slot} {keyword}\n"
)
else:
unstable_keyword_msg[root].append(
- "={} {}\n".format(pkg.cpv, keyword)
+ f"={pkg.cpv} {keyword}\n"
)
else:
unstable_keyword_msg[root].append(
- "={} {}\n".format(pkg.cpv, keyword)
+ f"={pkg.cpv} {keyword}\n"
)
p_mask_change_msg = {}
@@ -10145,22 +10134,22 @@ class depgraph:
self._get_dep_chain_as_comment(pkg)
)
if filename:
- p_mask_change_msg[root].append("# %s:\n" % filename)
+ p_mask_change_msg[root].append(f"# {filename}:\n")
if comment:
comment = [line for line in comment.splitlines() if line]
for line in comment:
- p_mask_change_msg[root].append("%s\n" % line)
+ p_mask_change_msg[root].append(f"{line}\n")
if autounmask_unrestricted_atoms:
if is_latest:
- p_mask_change_msg[root].append(">=%s\n" % pkg.cpv)
+ p_mask_change_msg[root].append(f">={pkg.cpv}\n")
elif is_latest_in_slot:
p_mask_change_msg[root].append(
- ">={}:{}\n".format(pkg.cpv, pkg.slot)
+ f">={pkg.cpv}:{pkg.slot}\n"
)
else:
- p_mask_change_msg[root].append("=%s\n" % pkg.cpv)
+ p_mask_change_msg[root].append(f"={pkg.cpv}\n")
else:
- p_mask_change_msg[root].append("=%s\n" % pkg.cpv)
+ p_mask_change_msg[root].append(f"={pkg.cpv}\n")
use_changes_msg = {}
for (
@@ -10192,15 +10181,15 @@ class depgraph:
)
if is_latest:
use_changes_msg[root].append(
- ">={} {}\n".format(pkg.cpv, " ".join(adjustments))
+ f">={pkg.cpv} {' '.join(adjustments)}\n"
)
elif is_latest_in_slot:
use_changes_msg[root].append(
- ">={}:{} {}\n".format(pkg.cpv, pkg.slot, " ".join(adjustments))
+ f">={pkg.cpv}:{pkg.slot} {' '.join(adjustments)}\n"
)
else:
use_changes_msg[root].append(
- "={} {}\n".format(pkg.cpv, " ".join(adjustments))
+ f"={pkg.cpv} {' '.join(adjustments)}\n"
)
license_msg = {}
@@ -10218,16 +10207,15 @@ class depgraph:
license_msg[root].append(self._get_dep_chain_as_comment(pkg))
if is_latest:
license_msg[root].append(
- ">={} {}\n".format(pkg.cpv, " ".join(sorted(missing_licenses)))
+ f">={pkg.cpv} {' '.join(sorted(missing_licenses))}\n"
)
elif is_latest_in_slot:
license_msg[root].append(
- ">=%s:%s %s\n"
- % (pkg.cpv, pkg.slot, " ".join(sorted(missing_licenses)))
+ f">={pkg.cpv}:{pkg.slot} {' '.join(sorted(missing_licenses))}\n"
)
else:
license_msg[root].append(
- "={} {}\n".format(pkg.cpv, " ".join(sorted(missing_licenses)))
+ f"={pkg.cpv} {' '.join(sorted(missing_licenses))}\n"
)
def find_config_file(abs_user_config, file_name):
@@ -10348,7 +10336,7 @@ class depgraph:
)
if len(roots) > 1:
- writemsg("\nFor %s:\n" % abs_user_config, noiselevel=-1)
+ writemsg(f"\nFor {abs_user_config}:\n", noiselevel=-1)
def _writemsg(reason, file):
writemsg(
@@ -10403,7 +10391,7 @@ class depgraph:
file_contents = []
else:
problems.append(
- "!!! Failed to read '{}': {}\n".format(file_to_write_to, e)
+ f"!!! Failed to read '{file_to_write_to}': {e}\n"
)
if file_contents is not None:
file_contents.extend(changes)
@@ -10420,7 +10408,7 @@ class depgraph:
try:
write_atomic(file_to_write_to, "".join(file_contents))
except PortageException:
- problems.append("!!! Failed to write '%s'\n" % file_to_write_to)
+ problems.append(f"!!! Failed to write '{file_to_write_to}'\n")
if not quiet and (p_mask_change_msg or masked_by_missing_keywords):
msg = [
@@ -10504,7 +10492,7 @@ class depgraph:
]
writemsg("\n", noiselevel=-1)
for line in msg:
- writemsg(" {} {}\n".format(colorize("WARN", "*"), line), noiselevel=-1)
+ writemsg(f" {colorize('WARN', '*')} {line}\n", noiselevel=-1)
def display_problems(self):
"""
@@ -10548,7 +10536,7 @@ class depgraph:
for pset in depgraph_sets.sets.values():
for error_msg in pset.errors:
writemsg_level(
- "{}\n".format(error_msg), level=logging.ERROR, noiselevel=-1
+ f"{error_msg}\n", level=logging.ERROR, noiselevel=-1
)
# TODO: Add generic support for "set problem" handlers so that
@@ -10626,9 +10614,9 @@ class depgraph:
if refs:
problems_sets.update(refs)
refs.sort()
- ref_string = ", ".join(["'%s'" % name for name in refs])
+ ref_string = ", ".join([f"'{name}'" for name in refs])
ref_string = " pulled in by " + ref_string
- msg.append(" {}{}\n".format(colorize("INFORM", str(arg)), ref_string))
+ msg.append(f" {colorize('INFORM', str(arg))}{ref_string}\n")
msg.append("\n")
if "selected" in problems_sets or "world" in problems_sets:
msg.append(
@@ -10754,7 +10742,7 @@ class depgraph:
added_favorites.add(myfavkey)
except portage.exception.InvalidDependString as e:
writemsg(
- "\n\n!!! '{}' has invalid PROVIDE: {}\n".format(x.cpv, e),
+ f"\n\n!!! '{x.cpv}' has invalid PROVIDE: {e}\n",
noiselevel=-1,
)
writemsg(
@@ -10787,7 +10775,7 @@ class depgraph:
writemsg_stdout("\n", noiselevel=-1)
for a in all_added:
writemsg_stdout(
- " {} {}\n".format(colorize("GOOD", "*"), a), noiselevel=-1
+ f" {colorize('GOOD', '*')} {a}\n", noiselevel=-1
)
writemsg_stdout("\n", noiselevel=-1)
prompt = (
@@ -11272,7 +11260,7 @@ class _dep_check_composite_db(dbapi):
while sub_slots:
slot, sub_slot = sub_slots.pop()
- slot_atom = atom.with_slot("{}/{}".format(slot, sub_slot))
+ slot_atom = atom.with_slot(f"{slot}/{sub_slot}")
pkg, existing = self._depgraph._select_package(self._root, slot_atom)
if not pkg:
continue
@@ -11437,7 +11425,7 @@ def ambiguous_package_name(arg, atoms, root_config, spinner, myopts):
if "--quiet" in myopts:
writemsg(
- '!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg,
+ f'!!! The short ebuild name "{arg}" is ambiguous. Please specify\n',
noiselevel=-1,
)
writemsg(
@@ -11464,7 +11452,7 @@ def ambiguous_package_name(arg, atoms, root_config, spinner, myopts):
s.addCP(cp)
s.output()
writemsg(
- '!!! The short ebuild name "%s" is ambiguous. Please specify\n' % arg,
+ f'!!! The short ebuild name "{arg}" is ambiguous. Please specify\n',
noiselevel=-1,
)
writemsg(
@@ -11495,7 +11483,7 @@ def _spinner_start(spinner, myopts):
portage.writemsg_stdout(
"\n"
+ darkgreen(
- "These are the packages that " + "would be %s:" % action
+ "These are the packages that " + f"would be {action}:"
)
+ "\n\n"
)
@@ -11504,7 +11492,7 @@ def _spinner_start(spinner, myopts):
"\n"
+ darkgreen(
"These are the packages that "
- + "would be %s, in reverse order:" % action
+ + f"would be {action}, in reverse order:"
)
+ "\n\n"
)
@@ -11512,7 +11500,7 @@ def _spinner_start(spinner, myopts):
portage.writemsg_stdout(
"\n"
+ darkgreen(
- "These are the packages that " + "would be %s, in order:" % action
+ "These are the packages that " + f"would be {action}, in order:"
)
+ "\n\n"
)
@@ -11571,7 +11559,7 @@ def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp
if debug and mydepgraph is not None:
writemsg_level(
- "\n\nbacktracking try %s \n\n" % backtracked,
+ f"\n\nbacktracking try {backtracked} \n\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -11580,7 +11568,7 @@ def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp
backtrack_parameters = backtracker.get()
if debug and backtrack_parameters.runtime_pkg_mask:
writemsg_level(
- "\n\nruntime_pkg_mask: %s \n\n" % backtrack_parameters.runtime_pkg_mask,
+ f"\n\nruntime_pkg_mask: {backtrack_parameters.runtime_pkg_mask} \n\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -11613,7 +11601,7 @@ def _backtrack_depgraph(settings, trees, myopts, myparams, myaction, myfiles, sp
if debug:
writemsg_level(
- "\n\nbacktracking aborted after %s tries\n\n" % backtracked,
+ f"\n\nbacktracking aborted after {backtracked} tries\n\n",
noiselevel=-1,
level=logging.DEBUG,
)
@@ -11784,7 +11772,7 @@ def get_mask_info(
else:
eapi = metadata["EAPI"]
if not portage.eapi_is_supported(eapi):
- mreasons = ["EAPI %s" % eapi]
+ mreasons = [f"EAPI {eapi}"]
else:
pkg = Package(
type_name=pkg_type,
@@ -11914,12 +11902,12 @@ def _get_masking_status(pkg, pkgsettings, root_config, myrepo=None, use=None):
if not pkg.installed:
if not pkgsettings._accept_chost(pkg.cpv, pkg._metadata):
- mreasons.append(_MaskReason("CHOST", "CHOST: %s" % pkg._metadata["CHOST"]))
+ mreasons.append(_MaskReason("CHOST", f"CHOST: {pkg._metadata['CHOST']}"))
if pkg.invalid:
for msgs in pkg.invalid.values():
for msg in msgs:
- mreasons.append(_MaskReason("invalid", "invalid: {}".format(msg)))
+ mreasons.append(_MaskReason("invalid", f"invalid: {msg}"))
if not pkg._metadata["SLOT"]:
mreasons.append(_MaskReason("invalid", "SLOT: undefined"))