@@ -3663,7 +3663,7 @@ def _add_pkg_soname_deps(self, pkg, allow_unsatisfied=False):
36633663 continue
36643664 dep = Dependency(
36653665 atom=atom,
3666- blocker=False ,
3666+ blocker=None ,
36673667 depth=depth,
36683668 parent=pkg,
36693669 priority=self._priority(cross=self._cross(pkg.root), runtime=True),
@@ -4700,7 +4700,7 @@ def _queue_disjunctive_deps(
47004700 # Note: Eventually this will check for PROPERTIES=virtual
47014701 # or whatever other metadata gets implemented for this
47024702 # purpose.
4703- if x.cp.startswith( "virtual/") :
4703+ if x.category == "virtual" :
47044704 disjunctions.append(x)
47054705 else:
47064706 yield x
@@ -5121,8 +5121,10 @@ def _select_files(self, myfiles):
51215121 if len(expanded_atoms) > 1:
51225122 number_of_virtuals = 0
51235123 for expanded_atom in expanded_atoms:
5124- if expanded_atom.cp.startswith(
5125- ("acct-group/", "acct-user/", "virtual/")
5124+ if expanded_atom.category in (
5125+ "acct-group",
5126+ "acct-user",
5127+ "virtual",
51265128 ):
51275129 number_of_virtuals += 1
51285130 else:
@@ -5152,7 +5154,8 @@ def _select_files(self, myfiles):
51525154 if virts_p:
51535155 # Allow the depgraph to choose which virtual.
51545156 atom = Atom(
5155- null_atom.replace("null/", "virtual/", 1), allow_repo=True
5157+ str(null_atom).replace("null/", "virtual/", 1),
5158+ allow_repo=True,
51565159 )
51575160 else:
51585161 atom = null_atom
@@ -5304,7 +5307,7 @@ def _resolve(self, myfavorites):
53045307 pprovideddict = pkgsettings.pprovideddict
53055308 virtuals = pkgsettings.getvirtuals()
53065309
5307- for atom in sorted(arg.pset.getAtoms()):
5310+ for atom in sorted(arg.pset.getAtoms(), key=str ):
53085311 self._spinner_update()
53095312 dep = Dependency(atom=atom, onlydeps=onlydeps, root=myroot, parent=arg)
53105313 try:
@@ -5353,7 +5356,7 @@ def _resolve(self, myfavorites):
53535356 pprovided_match = False
53545357 for virt_choice in virtuals.get(atom.cp, []):
53555358 expanded_atom = portage.dep.Atom(
5356- atom.replace(atom.cp, virt_choice.cp, 1)
5359+ str( atom) .replace(atom.cp, virt_choice.cp, 1)
53575360 )
53585361 pprovided = pprovideddict.get(expanded_atom.cp)
53595362 if pprovided and portage.match_from_list(
@@ -5393,7 +5396,7 @@ def _resolve(self, myfavorites):
53935396 if atom.cp != pkg.cp:
53945397 # For old-style virtuals, we need to repeat the
53955398 # package.provided check against the selected package.
5396- expanded_atom = atom.replace(atom.cp, pkg.cp)
5399+ expanded_atom = str( atom) .replace(atom.cp, pkg.cp)
53975400 pprovided = pprovideddict.get(pkg.cp)
53985401 if pprovided and portage.match_from_list(
53995402 expanded_atom, pprovided
@@ -5955,7 +5958,7 @@ def _expand_virt_from_graph(self, root, atom):
59555958 if not isinstance(atom, Atom):
59565959 atom = Atom(atom)
59575960
5958- if not atom.cp.startswith( "virtual/") :
5961+ if atom.category != "virtual" :
59595962 yield atom
59605963 return
59615964
@@ -6783,7 +6786,7 @@ def _show_unsatisfied_dep(
67836786 mask_docs = True
67846787 else:
67856788 cp_exists = False
6786- if atom.package and not atom.cp.startswith( "null/") :
6789+ if atom.package and atom.category != "null" :
67876790 for pkg in self._iter_match_pkgs_any(root_config, Atom(atom.cp)):
67886791 cp_exists = True
67896792 break
@@ -8453,7 +8456,7 @@ def _complete_graph(self, required_sets=None):
84538456
84548457 self._set_args(args)
84558458 for arg in self._expand_set_args(args, add_to_digraph=True):
8456- for atom in sorted(arg.pset.getAtoms()):
8459+ for atom in sorted(arg.pset.getAtoms(), key=str ):
84578460 if not self._add_dep(
84588461 Dependency(
84598462 atom=atom,
@@ -8766,7 +8769,7 @@ def _validate_blockers(self):
87668769 show_invalid_depstring_notice(pkg, atoms)
87678770 return False
87688771 blocker_atoms = [myatom for myatom in atoms if myatom.blocker]
8769- blocker_atoms.sort()
8772+ blocker_atoms.sort(key=str )
87708773 blocker_cache[cpv] = blocker_cache.BlockerData(
87718774 pkg.counter, blocker_atoms
87728775 )
@@ -11193,7 +11196,7 @@ def _loadResumeCommand(self, resume_data, skip_masked=True, skip_missing=True):
1119311196 # added via _add_pkg() so that they are included in the
1119411197 # digraph (needed at least for --tree display).
1119511198 for arg in self._expand_set_args(args, add_to_digraph=True):
11196- for atom in sorted(arg.pset.getAtoms()):
11199+ for atom in sorted(arg.pset.getAtoms(), key=str ):
1119711200 pkg, existing_node = self._select_package(
1119811201 arg.root_config.root, atom
1119911202 )
@@ -11495,7 +11498,7 @@ def match_pkgs(self, atom):
1149511498 if (
1149611499 pkg is not None
1149711500 and atom.sub_slot is None
11498- and pkg.cp.startswith( "virtual/")
11501+ and pkg.category == "virtual"
1149911502 and (
1150011503 (
1150111504 "remove" not in self._depgraph._dynamic_config.myparams
@@ -11587,7 +11590,7 @@ def _visible(self, pkg, atom_set, avoid_slot_conflict=True, probe_virt_update=Tr
1158711590 if not self._depgraph._equiv_ebuild_visible(pkg):
1158811591 return False
1158911592
11590- if pkg.cp.startswith( "virtual/") :
11593+ if pkg.category == "virtual" :
1159111594 if not self._depgraph._virt_deps_visible(pkg, ignore_use=True):
1159211595 return False
1159311596
0 commit comments