Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: "Andreas K. Huettel" <dilfridge@g.o>
Cc: Gentoo-dev <gentoo-dev@l.g.o>, dev-portage <dev-portage@g.o>
Subject: Re: [gentoo-dev] Dynamic dependencies
Date: Wed, 16 Sep 2015 19:31:27
Message-Id: 20150916213104.072a5fdd.mgorny@gentoo.org
In Reply to: [gentoo-dev] Dynamic dependencies by "Andreas K. Huettel"
1 Dnia 2015-09-16, o godz. 17:49:24
2 "Andreas K. Huettel" <dilfridge@g.o> napisał(a):
3
4 > Hi all,
5 >
6 > here's a quote from the Council 20140826 summary:
7 >
8 > > Dynamic dependencies in Portage
9 > > ===============================
10 > > During discussion, is was remarked that some changes, e.g. to
11 > > dependencies in eclasses, could require mass rebuilds of packages.
12 > >
13 > > Vote:
14 > > - "The council asks the Portage team to first outline their long-term
15 > > plan regarding removal or replacement of dynamic dependencies,
16 > > before they remove this feature. In particular, tree policies and
17 > > the handling of eclasses and virtuals need to be clarified."
18 > > Accepted unanimously.
19 >
20 > Since there seems to be interest in the Portage team to go ahead with that
21 > plan, I'd like to ask about the tree policies and the handling of eclasses and
22 > virtuals.
23 >
24 > I guess we'd appreciate this as a prerequisite for being able to give the plan
25 > future council support.
26
27 How about the usual 'common sense' policy? Assuming the developer
28 understands the consequences of bumping and not bumping, and can see
29 for himself if the latter breaks stuff (which would happen once portage
30 finally changes the default behavior and makes failures non-random).
31
32 As for virtuals and eclasses, I don't really understand why anyone
33 thinks they are special in any regard. In both cases, we're talking
34 about regular dependency change in metadata, and we need to understand
35 the consequences. And they're going to be the same whether we change
36 dep A to B, A to virtual, and whether we change it directly or via
37 eclass.
38
39 Long story short:
40
41 1. Build-time dependency changes don't need revbump unless they
42 resulted in broken built package. Pretty much like any other build-time
43 fix.
44
45 2. Dependency changes that don't need to apply immediately don't need
46 revbump. For example, if foo.eclass raises minimal required version of
47 a dependency but all packages built so far will work with the old one.
48
49 3. For non-important fixes, a revbump is recommended. Like when
50 the package rarely breaks due to missing dep, or the dependency is
51 implicitly pulled in but should be listed explicitly for completeness.
52
53 4. For any change that could result in conflicts or major problems for
54 people who are stuck with old metadata, revbump is required. This for
55 example applies to the Perl team virtuals which frequently make
56 updating impossible.
57
58 There are probably more common cases to be considered but that's
59 the ones that immediately come to my mind.
60
61 --
62 Best regards,
63 Michał Górny
64 <http://dev.gentoo.org/~mgorny/>

Replies

Subject Author
Re: [gentoo-dev] Dynamic dependencies Rich Freeman <rich0@g.o>
Re: [gentoo-dev] Dynamic dependencies Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
Re: [gentoo-dev] Dynamic dependencies Alexis Ballier <aballier@g.o>