Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r13749 - main/trunk/pym/_emerge
Date: Tue, 30 Jun 2009 23:03:37
Message-Id: E1MLmMR-0000Aj-5Y@stork.gentoo.org
1 Author: zmedico
2 Date: 2009-06-30 23:03:34 +0000 (Tue, 30 Jun 2009)
3 New Revision: 13749
4
5 Modified:
6 main/trunk/pym/_emerge/depgraph.py
7 Log:
8 Fix depgraph._resolve to do old-style virtual matches against package.provided
9 when there is no other choice.
10
11
12 Modified: main/trunk/pym/_emerge/depgraph.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/depgraph.py 2009-06-30 22:49:24 UTC (rev 13748)
15 +++ main/trunk/pym/_emerge/depgraph.py 2009-06-30 23:03:34 UTC (rev 13749)
16 @@ -1358,6 +1358,7 @@
17 myroot = self._frozen_config.target_root
18 pkgsettings = self._frozen_config.pkgsettings[myroot]
19 pprovideddict = pkgsettings.pprovideddict
20 + virtuals = pkgsettings.getvirtuals()
21 for arg in self._dynamic_config._initial_arg_list:
22 for atom in arg.set:
23 self._frozen_config.spinner.update()
24 @@ -1383,6 +1384,22 @@
25 pkg, existing_node = self._select_package(
26 myroot, atom, onlydeps=onlydeps)
27 if not pkg:
28 + pprovided_match = False
29 + for virt_choice in virtuals.get(atom.cp, []):
30 + expanded_atom = portage.dep.Atom(
31 + atom.replace(atom.cp,
32 + portage.dep_getkey(virt_choice), 1))
33 + pprovided = pprovideddict.get(expanded_atom.cp)
34 + if pprovided and \
35 + portage.match_from_list(expanded_atom, pprovided):
36 + # A provided package has been
37 + # specified on the command line.
38 + self._dynamic_config._pprovided_args.append((arg, atom))
39 + pprovided_match = True
40 + break
41 + if pprovided_match:
42 + continue
43 +
44 if not (isinstance(arg, SetArg) and \
45 arg.name in ("system", "world")):
46 self._dynamic_config._unsatisfied_deps_for_display.append(