1 |
On Mon 15 August 2011 20:55:12 Sebastian Beßler did opine thusly: |
2 |
> Am 15.08.2011 20:02, schrieb Alan McKinnon: |
3 |
> > It's not a bug, portage is doing what it should. |
4 |
> > |
5 |
> > In the first case portage will try upgrade all packages to the |
6 |
> > latest version. It sees that you asked it to try autounmask |
7 |
> > stuff, so it wants to override your local mask for |
8 |
> > ExtUtils-ParseXS. |
9 |
> |
10 |
> I don't asked portage to autounmask anything, that is a feature of |
11 |
> portage-2.2 and should normaly only fire when there is a need to |
12 |
> unmask (or change USE or change keyword) anything to fullfill the |
13 |
> needs of the packages to be installed or updated. |
14 |
> |
15 |
> Else it would tell anyone on stable who use portage-2.2 to change to |
16 |
> ~unstable because there is newer stuff to install. I have a large |
17 |
> amount on packages that have newer versions that are masked and |
18 |
> autounmask doesn't ask me to install them only because they are |
19 |
> newer. |
20 |
> > In the second case you have told portage to upgrade system and |
21 |
> > world but to leave masking well enough alone. As your current |
22 |
> > installed version of ExtUtils-ParseXS satisfies all needs, it |
23 |
> > makes no effort to try and upgrade it. |
24 |
> |
25 |
> I think that you not really know what the autounmask-feature of |
26 |
> portage-2.2 is all about. |
27 |
> |
28 |
> Normally it does something like this: |
29 |
> |
30 |
> emerge =perl-core/ExtUtils-ParseXS-3.20.0 -vp |
31 |
> |
32 |
> These are the packages that would be merged, in order: |
33 |
> |
34 |
> Calculating dependencies ... done! |
35 |
> [ebuild U ] perl-core/ExtUtils-ParseXS-3.20.0 [2.22.06] 0 kB |
36 |
> |
37 |
> Total: 1 package (1 upgrade), Size of downloads: 0 kB |
38 |
> |
39 |
> The following keyword changes are necessary to proceed: |
40 |
> #required by =perl-core/ExtUtils-ParseXS-3.20.0 (argument) |
41 |
> |
42 |
> >=perl-core/ExtUtils-ParseXS-3.20.0 ~amd64 |
43 |
> |
44 |
> NOTE: This --autounmask behavior can be disabled by setting |
45 |
> EMERGE_DEFAULT_OPTS="--autounmask=n" in make.conf. |
46 |
> |
47 |
> without it would look like this: |
48 |
> |
49 |
> EMERGE_DEFAULT_OPTS="--autounmask=n" emerge |
50 |
> =perl-core/ExtUtils-ParseXS-3.20.0 -vp |
51 |
> |
52 |
> These are the packages that would be merged, in order: |
53 |
> |
54 |
> Calculating dependencies ... done! |
55 |
> |
56 |
> !!! All ebuilds that could satisfy |
57 |
> "=perl-core/ExtUtils-ParseXS-3.20.0" have been masked. |
58 |
> !!! One of the following masked packages is required to complete |
59 |
> your request: |
60 |
> - perl-core/ExtUtils-ParseXS-3.20.0::gentoo (masked by: ~amd64 |
61 |
> keyword) |
62 |
> |
63 |
> For more information, see the MASKED PACKAGES section in the emerge |
64 |
> man page or refer to the Gentoo Handbook. |
65 |
> |
66 |
> It is just a other way to display what is needed to be done. If |
67 |
> autounmask fires portage should throw an error too if trying the |
68 |
> same thing again with autounmask=n. But here it doesn't. It tells |
69 |
> me to unmaks without any need. |
70 |
|
71 |
Do you have autounmask enabled or disabled in your config for portage? |
72 |
|
73 |
That first example you gave strongly indicates you have it enabled. |
74 |
|
75 |
|
76 |
> |
77 |
> > The trick to working with autounmask is to realise that it is |
78 |
> > stupid software, it cannot possibly know what you want or |
79 |
> > intend. So it tries a blanket approach for the most part. If |
80 |
> > you have more complex masking than just stable/unstable |
81 |
> > statistically it will be wrong far more often than it is right. |
82 |
> |
83 |
> If there is a package version masked and nothing needs that version |
84 |
> then autounmask should not fire. It should leave that alone. |
85 |
> |
86 |
> For me it still looks like a bug. |
87 |
> |
88 |
> Greetings |
89 |
> |
90 |
> Sebastian |
91 |
-- |
92 |
alan dot mckinnon at gmail dot com |