Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] We need *you* for a USE="selinux" dependency
Date: Mon, 05 Dec 2011 03:11:14
Message-Id: CAGfcS_kw-8WZtmDEn+nCZwtr_JM6OuPAhVNgNncZfvxT3FXeaQ@mail.gmail.com
In Reply to: Re: [gentoo-dev] We need *you* for a USE="selinux" dependency by Fabio Erculiani
1 On Sun, Dec 4, 2011 at 5:10 PM, Fabio Erculiani <lxnay@g.o> wrote:
2 > I haven't really understood what you mean with RDEPENDs being scheduled "after".
3 > RDEPEND must be always scheduled before the pkg requiring it, changing
4 > this behaviour would have disruptive effects on all the PMS out there
5
6 There is only one PMS out there, unless you're counting versions (they
7 are cumulative so the latest approved one should be the one you use -
8 correct me if I'm wrong there). PMS != package manager.
9
10 In this particular case the approved PMS says "In the pkg phases, at
11 least one of the following conditions must be met: any command
12 provided by a packaged listed in DEPEND is available; any command
13 provided by a packaged listed in RDEPEND is available." Perhaps
14 somebody with a more twisted sense of logic than I can make some sense
15 out of that - to me it suggests that an ebuild can safely assume that
16 either the packages listed in DEPEND are available, or the packages
17 listed in RDEPEND are available, but not necessarily both (though you
18 could count on RDEPEND if you have DEPEND=RDEPEND set or are using an
19 EAPI that has this behavior).
20
21 I suspect that the PMS team has already noticed that since the current
22 non-approved PMS is a bit more clear. It says (in a table) that any
23 of the pkg phases can assume that the RDEPENDs are there "(unless the
24 particular dependency results in a circular dependency, in which case
25 it may be installed later)." I guess that means that pkg phases can't
26 assume that RDEPENDs are there after all. Additionally pkg_config can
27 assume that RDEPEND and PDEPEND are present (with no caveats). None
28 of the pkg phases can assume that anything in DEPEND is present
29 (obviously unless it is also in RDEPEND).
30
31 My sense is that none of the PMS versions really say quite what we
32 want the behavior to be - as to be truly compliant ebuilds would have
33 to require nothing outside of the base system in the pkg phases (other
34 than pkg_config) - then again, maybe we can live with that. It
35 doesn't seem to add much value to say that RDEPEND /might/ be
36 available - the necessary conditional logic to take advantage of a
37 command that might or might not be present seems like a QA nightmare.
38 We should probably specify that ebuilds either can safely count on
39 RDEPEND, or not, in each of the phases.
40
41 (Disclaimer - I claim no special knowledge of the mechanics of your
42 favorite package manager - I'm simply reading the specs.)
43
44 Rich

Replies

Subject Author
[gentoo-dev] Re: We need *you* for a USE="selinux" dependency Duncan <1i5t5.duncan@×××.net>
Re: [gentoo-dev] We need *you* for a USE="selinux" dependency Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>