Gentoo Archives: gentoo-commits

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