On Sun, 2 Sep 2012 16:45:12 +0200 Fabio Erculiani <lx...@gentoo.org> wrote:
> Hi, > this is actually a fork of the HDEPEND thread (sorry for having > diverged that much there). > As I wrote in the other thread, the problem with PDEPEND is that there > are two (or more) semantics: > > - PDEPENDs used as "suggestions" but yet being considered in the > depgraph and actually installed. Usually "suggestion" PDEPENDs are > just packages providing extra features, not strictly required for the > package to work at all. > - PDEPENDs used for breaking dependency cycles (no problem with that). > > That is why I'd like to propose to introduce SDEPEND, with the > following, simple, semantics: > dependencies listed in SDEPEND are not required at build time nor > strictly at runtime and they just enable more features in the > installed application. There can be "use?" literals and by default, > PMS should not pull them in in the dependencies calculation if not > specifically asked (through argument or configuration file or else -- > like it happens with binpkgs and --with-bdeps). > > A bunch of advantages over GLEP 62: > - Simplicity (really, as in KISS). SDEPENDs are easier to understand > and deal with, both at PMS (code) and user levels. They are also > straightforward to use in ebuilds (dev) and through emerge (user). [1] > - The USE flags meaning doesn't really get "stretched" introducing > obscure, unknown and dangerous possible side effects when deployed in > the real(tm) world. I understand that there is some level of risk with > SDEPENDs as well, but we've seen them already in Exherbo and they seem > to work fine there (I've been told this). > - Doesn't preclude the implementation of GLEP 62 anyway. SDEPENDs are > just "suggested" dependencies after all! > - No need to introduce funky cache invalidation logic for PMS > aggressively using caching at several layers of their stack and that > guarantee a consistent depgraph for the installed pkgs repository as > well [2]. > - Fixes the "dissociative identity disorder" of PDEPEND ;-). > > Disadvantages: > - If SDEPEND contains USE flags, these are written in stone and cannot > be changed without a rebuild. This is generally fine for source > packages, a bit less for binpkgs, but not really a big deal IMO. > - Not as "elastic" as GLEP 62 USE flags, but neither *DEPENDs are > - mgorny will hate me (eheheheh) > > Discuss. > > [1] It took me more than 5 minutes to understand how GLEP 62 works in > practice and this is not really good to me, for a simple feature like > this. > [2] From GLEP 62 page: "and it is not strictly required that a package > manager must ensure that the dependency graph is still consistent > afterwards". Is it fifth thread on the same topic already? -- Best regards, Michał Górny
signature.asc
Description: PGP signature