Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] Dynamic dependencies
Date: Wed, 16 Sep 2015 22:28:05
Message-Id: CAGfcS_=CYmnXAiZ7STfmYPg=KozC1_7YrR2kD-oDocsRS-vy0A@mail.gmail.com
In Reply to: Re: [gentoo-dev] Dynamic dependencies by Ian Stakenvicius
1 On Wed, Sep 16, 2015 at 4:44 PM, Ian Stakenvicius <axs@g.o> wrote:
2 >
3 > - - emerge -uD @world would update the dep anyhow
4 >
5 > - - emerge -u @world wouldn't rebuild the package if that package
6 > didn't change, and if the package did change then the new dep would
7 > get built.
8
9 Just to be clear, my point was that if the reason the eclass was
10 updated was because some new package version in the tree needed it,
11 and you update that other package in the tree, then that will update
12 the dependency, and that would in turn rebuild anything with a slot
13 operator dep on it.
14
15 Which is of course exactly what should happen if the soname/ABI needs to change.
16
17 >
18 > So I think I can safely drop my concern. Care still needs to be
19 > given, certainly, as if the in-tree package isn't revbumped and gets
20 > a patch that only supports the new dep, then suddenly systems will
21 > fail when said package re-emerges. But that seems bad practice anyhow
22 > .
23
24 Right, a patch change would always require a revbump and that is
25 nothing new. The only case that doesn't require a revbump is a
26 build-time change. And if somebody makes a build-time change with the
27 assumption that the new minimum depencency version is in effect it is
28 fine, since anybody with it already installed won't be rebuilding it,
29 and if anybody does rebuild it then portage will check and force the
30 dependency update so everything is fine at build time.
31
32 So, assuming we want to entertain the "only revbump if necessary"
33 eclass wording, do we think we can actually come up with something
34 that not only makes technical sense, but where we can actually expect
35 developers to get it right 99% of the time? Are we encouraging
36 dangerous behavior just because a few of us might or might not be able
37 to get it right?
38
39 I suppose if somebody does mess up we can go in and revbump a bunch of
40 ebuilds. The thing is that such problems are very hard to detect -
41 they usually manifest as users posting bizarre portage output on lists
42 and forums and being showered with a lot of bad advice before somebody
43 who knows what they're talking about notices the thread, and it can
44 happen a while after the commit that introduced the problem.
45
46 So, part of me really wonders if it is worth it just to save a bunch
47 of revbumps that probably could be done by a script and with git it
48 can even happen atomically and with the possibility of review or
49 testing.
50
51 --
52 Rich

Replies

Subject Author
Re: [gentoo-dev] Dynamic dependencies Kristian Fiskerstrand <k_f@g.o>