Gentoo Archives: gentoo-dev

From: Alexis Ballier <aballier@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: Remember to specify SLOT when adding subslot operator to dependencies
Date: Tue, 06 Aug 2013 19:31:27
Message-Id: 20130806153114.56f9160f@gentoo.org
In Reply to: Re: [gentoo-dev] Re: Remember to specify SLOT when adding subslot operator to dependencies by Ciaran McCreesh
1 On Tue, 6 Aug 2013 19:25:15 +0100
2 Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote:
3
4 > On Tue, 6 Aug 2013 14:12:06 -0400
5 > Alexis Ballier <aballier@g.o> wrote:
6 > > On Tue, 6 Aug 2013 18:41:59 +0100
7 > > Ciaran McCreesh <ciaran.mccreesh@××××××××××.com> wrote:
8 > > > On Tue, 6 Aug 2013 13:05:07 -0400
9 > > > Alexis Ballier <aballier@g.o> wrote:
10 > > > > 'occasional unnecessary rebuild' is a big deal since subslots
11 > > > > introduce this regression...
12 > > >
13 > > > Er, no. Subslots just simplify the way accurate slot dependencies
14 > > > are expressed. That's all they are: an alternative to having a
15 > > > larger number of (full) slots plus blockers between some of those
16 > > > slots.
17 > >
18 > > hmmm... no ?
19 >
20 > Er, yes. You may be confusing subslots and :=/:* dependencies, which
21 > are a different feature.
22
23 Well, ok, but this doesn't relate to what I was writing. Subslot, or
24 slot emulators or whatever, in their current usage with := dependencies,
25 are not fine grained enough for some use cases. Those cause regressions
26 if used improperly.
27
28
29 > > > > > There's an easy fix for that: split the package up.
30 > > > >
31 > > > > Great, please start submitting patches at our thousands of
32 > > > > upstreams so that their packages can be split properly.
33 > > >
34 > > > You don't need to patch anything... You just make poppler-stable
35 > > > and poppler-dodgy ebuilds.
36 > >
37 > > And you need to patch it to do it properly.
38 >
39 > You just make the ebuilds install different bits. In effect you
40 > emulate a simple subset of how parts would do it.
41
42 Which needs patching to be done properly... unless you are suggesting
43 to build it twice and throw away whats not needed just to workaround
44 subslots limitations.
45
46
47 > > Or you can do parts/subpackages or subslot dictionaries to express
48 > > that.
49 >
50 > Realistically, parts will never get implemented in Portage. Subslot
51 > dictionaries might be, if anyone ever figures out what they're
52 > supposed to be, but they're a heavy price for package developers to
53 > pay. The question under discussion is whether it's a price worth
54 > paying to avoid an occasional unnecessary rebuild. Since users do far
55 > more unnecessary rebuilds for other reasons anyway, and reducing CPU
56 > usage has never been a goal for Gentoo, I'm not convinced it's worth
57 > caring about.
58
59
60 Meanwhile, there's preserve-libs :)
61
62 Your argumentation is basically 'Other parts are doing it wrong so it's
63 ok to add some more to it'... We're back a dozen emails back, aren't we?
64
65
66 > > > > Exercise: Try to update a FreeBSD 6 system (libc.so.6) to a
67 > > > > FreeBSD 7 system (libc.so.7) without some kind of preserve-libs
68 > > > > mechanism. Been there, done that. The flaws of preserve-libs
69 > > > > show up but it maintains a half working system all the way long
70 > > > > that allows you to finish the update.
71 > > >
72 > > > There is no "half working". Something is either correct or it
73 > > > isn't.
74 > >
75 > > Sometimes there is no 'correct'. You are probably using every day
76 > > programs that use heuristics/approximations to solve NP-hard or
77 > > undecidable problems in a 'correct enough' way.
78 >
79 > Dependency resolution is at least NP hard, and we're still solving it
80 > exactly. But you're confusing approximations and feasibility here.
81
82 It was meant as an example and has nothing to do with dependency
83 resolution. The above exercise is something extreme but that we have to
84 solve; preserve-libs has proven to be correct enough. You have yet to
85 show a correct, in your sense, solution.

Replies

Subject Author
Re: [gentoo-dev] Re: Remember to specify SLOT when adding subslot operator to dependencies Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>