Gentoo Archives: gentoo-dev

From: hasufell <hasufell@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND
Date: Sun, 02 Sep 2012 14:58:37
Message-Id: 504373D6.5050703@gentoo.org
In Reply to: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND by Fabio Erculiani
1 On 09/02/2012 04:45 PM, Fabio Erculiani wrote:
2 > Hi,
3 > this is actually a fork of the HDEPEND thread (sorry for having
4 > diverged that much there).
5 > As I wrote in the other thread, the problem with PDEPEND is that there
6 > are two (or more) semantics:
7 >
8 > - PDEPENDs used as "suggestions" but yet being considered in the
9 > depgraph and actually installed. Usually "suggestion" PDEPENDs are
10 > just packages providing extra features, not strictly required for the
11 > package to work at all.
12 > - PDEPENDs used for breaking dependency cycles (no problem with that).
13 >
14 > That is why I'd like to propose to introduce SDEPEND, with the
15 > following, simple, semantics:
16 > dependencies listed in SDEPEND are not required at build time nor
17 > strictly at runtime and they just enable more features in the
18 > installed application. There can be "use?" literals and by default,
19 > PMS should not pull them in in the dependencies calculation if not
20 > specifically asked (through argument or configuration file or else --
21 > like it happens with binpkgs and --with-bdeps).
22 >
23 > A bunch of advantages over GLEP 62:
24 > - Simplicity (really, as in KISS). SDEPENDs are easier to understand
25 > and deal with, both at PMS (code) and user levels. They are also
26 > straightforward to use in ebuilds (dev) and through emerge (user). [1]
27 > - The USE flags meaning doesn't really get "stretched" introducing
28 > obscure, unknown and dangerous possible side effects when deployed in
29 > the real(tm) world. I understand that there is some level of risk with
30 > SDEPENDs as well, but we've seen them already in Exherbo and they seem
31 > to work fine there (I've been told this).
32 > - Doesn't preclude the implementation of GLEP 62 anyway. SDEPENDs are
33 > just "suggested" dependencies after all!
34 > - No need to introduce funky cache invalidation logic for PMS
35 > aggressively using caching at several layers of their stack and that
36 > guarantee a consistent depgraph for the installed pkgs repository as
37 > well [2].
38 > - Fixes the "dissociative identity disorder" of PDEPEND ;-).
39 >
40 > Disadvantages:
41 > - If SDEPEND contains USE flags, these are written in stone and cannot
42 > be changed without a rebuild. This is generally fine for source
43 > packages, a bit less for binpkgs, but not really a big deal IMO.
44 > - Not as "elastic" as GLEP 62 USE flags, but neither *DEPENDs are
45 > - mgorny will hate me (eheheheh)
46 >
47 > Discuss.
48 >
49 > [1] It took me more than 5 minutes to understand how GLEP 62 works in
50 > practice and this is not really good to me, for a simple feature like
51 > this.
52 > [2] From GLEP 62 page: "and it is not strictly required that a package
53 > manager must ensure that the dependency graph is still consistent
54 > afterwards".
55
56
57 Why not introduce a global useflag such as "suggested-deps" which
58 complies with GLEP 62 meaning it will be in IUSE_RUNTIME.

Replies

Subject Author
Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND Fabio Erculiani <lxnay@g.o>