1 |
Bo Ørsted Andresen escribió: |
2 |
> On Tuesday 17 July 2007 00:46:08 maxim wexler wrote: |
3 |
> |
4 |
>> So, emerge portage results in one package being |
5 |
>> installed, portage, 61kb. |
6 |
>> |
7 |
>> emerge -u portage lines up 5 or 6 packages plus |
8 |
>> portage, 18Mb. |
9 |
>> |
10 |
>> Went ahead and just did the one package, figuring |
11 |
>> later I could do an emerge -u for the rest of it. |
12 |
>> |
13 |
>> But this is what happens: |
14 |
>> |
15 |
>> heathen@localhost ~ $ emerge -pv portage |
16 |
>> |
17 |
>> These are the packages that would be merged, in order: |
18 |
>> |
19 |
>> Calculating dependencies... done! |
20 |
>> [ebuild R ] sys-apps/portage-2.1.2.9 USE="-build |
21 |
>> -doc -epydoc (-selinux)" LINGUAS="-pl" 0 kB |
22 |
>> |
23 |
>> Total: 1 package (1 reinstall), Size of downloads: 0 |
24 |
>> kB |
25 |
>> |
26 |
>> What I expected. |
27 |
>> |
28 |
>> heathen@localhost ~ $ emerge -puv portage |
29 |
>> |
30 |
>> These are the packages that would be merged, in order: |
31 |
>> |
32 |
>> Calculating dependencies... done! |
33 |
>> |
34 |
>> Total: 0 packages, Size of downloads: 0 kB |
35 |
>> |
36 |
>> So why doesn't it list the upgrade part now? |
37 |
>> |
38 |
> |
39 |
> Because --update stops calculating deps when none of the specified targets |
40 |
> need updating. Only --deep checks the consistency of all dependencies even |
41 |
> when none of the targets need updating. You could argue it's a deficiency in |
42 |
> portage (although well-known).. |
43 |
> |
44 |
> |
45 |
|
46 |
It may sound a bit off-topic, but there is (at least) one very good |
47 |
reason for portage behaving this way, just think of the following scenario: |
48 |
|
49 |
We have installed an application called APP (yes, very smart name) and |
50 |
this application depends on a dynamic library called LIB (yet smarter |
51 |
name). At installation APP was in version 1.0 and LIB in version 2.0. |
52 |
|
53 |
Now think there's a new version available of LIB, let's say version 2.1, |
54 |
but the latest version of APP is still 1.0. If portage performed a deep |
55 |
update by default LIB would be rebuilt, but no APP, what would cause |
56 |
broken dependencies on APP (remember LIB is a dynamic library). However, |
57 |
is you don't update LIB unless you update also APP you will prevent this |
58 |
problem*. |
59 |
|
60 |
Just my 0.02 ;-) |
61 |
|
62 |
Abraham |
63 |
|
64 |
|
65 |
* Needless to say, the problem will still arise if two applications |
66 |
depend on the same dynamic library, which is a common case, and only one |
67 |
of them is updated, but still it's an improvement. |
68 |
|
69 |
-- |
70 |
gentoo-user@g.o mailing list |