Gentoo Archives: gentoo-user

From: "Abraham Marín Pérez" <tecnic5@××××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] portage inconsistency?
Date: Mon, 06 Aug 2007 08:51:29
Message-Id: 46B6DFA5.7080406@silvanoc.com
In Reply to: Re: [gentoo-user] portage inconsistency? by "Bo Ørsted Andresen"
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

Replies

Subject Author
[gentoo-user] Re: portage inconsistency? Remy Blank <remy.blank@×××××.com>
Re: [gentoo-user] portage inconsistency? Neil Bothwick <neil@××××××××××.uk>