1 |
Author: zmedico |
2 |
Date: 2008-05-28 22:16:22 +0000 (Wed, 28 May 2008) |
3 |
New Revision: 10469 |
4 |
|
5 |
Modified: |
6 |
main/branches/2.1.2/bin/emerge |
7 |
Log: |
8 |
* Update the fix from bug #220341 to protect USE deps from being neglected. |
9 |
* Skip redundant Atom construction in select_package(). |
10 |
(trunk r10466:10468) |
11 |
|
12 |
|
13 |
Modified: main/branches/2.1.2/bin/emerge |
14 |
=================================================================== |
15 |
--- main/branches/2.1.2/bin/emerge 2008-05-28 22:12:18 UTC (rev 10468) |
16 |
+++ main/branches/2.1.2/bin/emerge 2008-05-28 22:16:22 UTC (rev 10469) |
17 |
@@ -3102,7 +3102,8 @@ |
18 |
# List of acceptable packages, ordered by type preference. |
19 |
matched_packages = [] |
20 |
highest_version = None |
21 |
- atom = portage_dep.Atom(atom) |
22 |
+ if not isinstance(atom, portage_dep.Atom): |
23 |
+ atom = portage_dep.Atom(atom) |
24 |
atom_cp = atom.cp |
25 |
existing_node = None |
26 |
myeb = None |
27 |
@@ -3145,12 +3146,19 @@ |
28 |
# the newly built package still won't have the expected slot. |
29 |
# Therefore, assume that such SLOT dependencies are already |
30 |
# satisfied rather than forcing a rebuild. |
31 |
- if installed and not cpv_list and matched_packages \ |
32 |
- and portage_dep.dep_getslot(atom): |
33 |
+ if installed and not cpv_list and \ |
34 |
+ matched_packages and atom.slot: |
35 |
for pkg in matched_packages: |
36 |
- if vardb.cpv_exists(pkg.cpv): |
37 |
+ if not vardb.cpv_exists(pkg.cpv): |
38 |
+ continue |
39 |
+ # Remove the slot from the atom and verify that |
40 |
+ # the package matches the resulting atom. |
41 |
+ atom_without_slot = portage_dep.remove_slot(atom) |
42 |
+ atom_without_slot = portage_dep.Atom(atom_without_slot) |
43 |
+ if portage.match_from_list( |
44 |
+ atom_without_slot, [pkg]): |
45 |
cpv_list = [pkg.cpv] |
46 |
- break |
47 |
+ break |
48 |
|
49 |
if not cpv_list: |
50 |
continue |
51 |
|
52 |
-- |
53 |
gentoo-commits@l.g.o mailing list |