Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10526 - main/trunk/pym/_emerge
Date: Sun, 01 Jun 2008 01:37:41
Message-Id: E1K2cVs-0005sm-0x@stork.gentoo.org
1 Author: zmedico
2 Date: 2008-06-01 01:37:34 +0000 (Sun, 01 Jun 2008)
3 New Revision: 10526
4
5 Modified:
6 main/trunk/pym/_emerge/__init__.py
7 Log:
8 Make --skipfirst tolerate masked packages by dropping them (similar to
9 how it would drop a package that has an unsatisfied dependency).
10
11
12 Modified: main/trunk/pym/_emerge/__init__.py
13 ===================================================================
14 --- main/trunk/pym/_emerge/__init__.py 2008-06-01 01:27:21 UTC (rev 10525)
15 +++ main/trunk/pym/_emerge/__init__.py 2008-06-01 01:37:34 UTC (rev 10526)
16 @@ -5269,9 +5269,18 @@
17 if not isinstance(mergelist, list):
18 mergelist = []
19
20 + favorites = resume_data.get("favorites")
21 + args_set = self._sets["args"]
22 + if isinstance(favorites, list):
23 + args = self._load_favorites(favorites)
24 + else:
25 + args = []
26 +
27 + skipfirst = "--skipfirst" in self.myopts
28 fakedb = self.mydbapi
29 trees = self.trees
30 serialized_tasks = []
31 + masked_tasks = []
32 for x in mergelist:
33 if not (isinstance(x, list) and len(x) == 4):
34 continue
35 @@ -5305,8 +5314,13 @@
36 root_config = self.roots[pkg.root]
37 if "merge" == pkg.operation and \
38 not visible(root_config.settings, pkg):
39 - self._unsatisfied_deps_for_display.append(
40 - ((pkg.root, "="+pkg.cpv), {"myparent":None}))
41 + if skipfirst:
42 + atom = args_set.findAtomForPackage(pkg)
43 + masked_tasks.append(Dependency(atom=atom,
44 + root=pkg.root, parent=pkg))
45 + else:
46 + self._unsatisfied_deps_for_display.append(
47 + ((pkg.root, "="+pkg.cpv), {"myparent":None}))
48
49 fakedb[myroot].cpv_inject(pkg)
50 serialized_tasks.append(pkg)
51 @@ -5321,12 +5335,6 @@
52 self._select_package = self._select_pkg_from_graph
53 self.myparams.add("selective")
54
55 - favorites = resume_data.get("favorites")
56 - if isinstance(favorites, list):
57 - args = self._load_favorites(favorites)
58 - else:
59 - args = []
60 -
61 for task in serialized_tasks:
62 if isinstance(task, Package) and \
63 task.operation == "merge":
64 @@ -5350,13 +5358,13 @@
65 # masked.
66 if not self._create_graph(allow_unsatisfied=True):
67 return False
68 - if self._unsatisfied_deps:
69 + if masked_tasks or self._unsatisfied_deps:
70 # This probably means that a required package
71 # was dropped via --skipfirst. It makes the
72 # resume list invalid, so convert it to a
73 # UnsatisfiedResumeDep exception.
74 raise self.UnsatisfiedResumeDep(
75 - self._unsatisfied_deps)
76 + masked_tasks + self._unsatisfied_deps)
77 self._serialized_tasks_cache = None
78 try:
79 self.altlist()
80
81 --
82 gentoo-commits@l.g.o mailing list