1 |
%% Spider <spider@g.o> writes: |
2 |
|
3 |
>> That sounds strange to me :/ What about the output for emerge |
4 |
>> --pretend? It wouldn't show you the smae package in the list twice, |
5 |
>> will it? The only workaround I can suggest is to mask all package |
6 |
>> versions which are higher than those needed by latest wrapper |
7 |
>> script... |
8 |
|
9 |
s> emerge -p system will always try to go for the -latest- version |
10 |
s> around though, As will all of portage when you do "emerge foo" (it |
11 |
s> will try to get the latest version, not just any version) So that |
12 |
s> might be something to keep in mind. |
13 |
|
14 |
Looking at the --debug output I can see (sort of) what happens. Take |
15 |
the ndi-1.1 / ndi-1.2 issue from my previous mail. |
16 |
|
17 |
The main package in the packages file (mse-2.0) depends on ndi-1.1 and I |
18 |
see that listed in the Candidates: line: |
19 |
|
20 |
..., '~nt-libs/ndi-1.1',... |
21 |
|
22 |
Now later on, we have an ebuild that has DEPEND="nt-libs/ndi", with no |
23 |
version. Here it says: |
24 |
|
25 |
ebuild: nt-libs/pca200e-1.0 |
26 |
binpkg: None |
27 |
|
28 |
Parent: ebuild /test/ nt-libs/pca200e-1 |
29 |
.0 merge |
30 |
Depstring: nt-libs/classlibrary nt-libs/ndi !crosscompile? ( >=nt-devel/ntmk-1.3 ) nt-libs/classlibrary nt-libs/ndi |
31 |
Candidates: ['nt-libs/ndi'] |
32 |
ebuild: nt-libs/ndi-1.2 |
33 |
|
34 |
Here, even though Portage already knows that I requested a _specific_ |
35 |
earlier version, 1.1, it still chooses the latest available version to |
36 |
satisfy _this_ relationship. Then later on it will put back ndi-1.1. |
37 |
|
38 |
|
39 |
This is why I'm trying to understand the Portage algorithm. I assumed |
40 |
that Portage would consider all the available requests for a given |
41 |
package and choose the most recent one _that fulfills all the |
42 |
requests_. In that case, a DEPEND with no version specified would |
43 |
really mean "I can accept any version". But that doesn't appear to be |
44 |
how it works, as seen above. Instead, Portage seems to interpret a |
45 |
DEPEND with no version specified as "I must have the latest version". |
46 |
|
47 |
s> However, this bug might also be something to consider: |
48 |
s> http://bugs.gentoo.org/show_bug.cgi?id=39707 |
49 |
|
50 |
Hm! This looks somewhat promising. I'll check out the patch. |
51 |
|
52 |
However, note that even if I use "emerge =nt-configs/mse-2.0" rather |
53 |
than "emerge system", I still get the incorrect behavior. |
54 |
|
55 |
-- |
56 |
------------------------------------------------------------------------------- |
57 |
Paul D. Smith <psmith@××××××××××××××.com> HASMAT: HA Software Mthds & Tools |
58 |
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist |
59 |
------------------------------------------------------------------------------- |
60 |
These are my opinions---Nortel Networks takes no responsibility for them. |
61 |
|
62 |
-- |
63 |
gentoo-dev@g.o mailing list |