Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Cc: lxnay@g.o
Subject: Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND
Date: Sun, 02 Sep 2012 16:06:21
Message-Id: 20120902180621.0716c08b@pomiocik.lan
In Reply to: Re: [gentoo-dev] [RFC] EAPI 5+: split PDEPEND introducing SDEPEND by Fabio Erculiani
1 On Sun, 2 Sep 2012 17:51:00 +0200
2 Fabio Erculiani <lxnay@g.o> wrote:
3
4 > On Sun, Sep 2, 2012 at 5:23 PM, Michał Górny <mgorny@g.o>
5 > wrote:
6 > > On Sun, 2 Sep 2012 17:09:22 +0200
7 > > Fabio Erculiani <lxnay@g.o> wrote:
8 > >
9 > >> On Sun, Sep 2, 2012 at 4:57 PM, hasufell <hasufell@g.o>
10 > >> wrote:
11 > >> >
12 > >> >
13 > >> > Why not introduce a global useflag such as "suggested-deps" which
14 > >> > complies with GLEP 62 meaning it will be in IUSE_RUNTIME.
15 > >> >
16 > >>
17 > >> How do you manage to fix the PDEPEND "identity disorder" problem
18 > >> then? Teaching devs to move to GLEP 62 is much harder than just
19 > >> telling them to move dep strings to more appropriate locations.
20 > >
21 > > Much harder? So, devs today don't know how USE flags work? Or do you
22 > > implying that devs should know bare technical details of package
23 > > manager implementation? Or is it just an-ass argument to support
24 > > an ass-thesis?
25 >
26 > For instance, the amount of devs still improperly using pkg_setup for
27 > build-time stuff, after years that they've been told to not do that,
28 > is a good example of how, while we're great, we tend to be resilient
29 > to change. This goes beyond software engineering, this is about
30 > psychology. The more one thing is simple, the faster is recognized and
31 > properly used by people.
32 >
33 > Not to mention that I am one of the PMS writers here (Entropy cough),
34 > and I know how much harder implementing runtime-switchable USE flags
35 > is, compared to a simple SDEPEND solution.
36
37 Yes, I'm aware of that. You're trying to force a worse solution because
38 it is easier for you to implement in your partial package manager.
39
40 > >> Moreover, your solution just makes the USE flags abuse situation
41 > >> worse: there are packages that use USE flags just to include extra,
42 > >> optional packages in the dependencies... See USE=bluetooth in
43 > >> net-misc/networkmanager for example (this is what I mean with USE
44 > >> flags abuse, actually).
45 > >
46 > > No, it fixes it. It enables those packages to use the same solution,
47 > > fixing its downsides.
48 >
49 > It looks like it just tries to workaround the issue, not fix it to its
50 > roots (PDEPEND is ill!).
51
52 It is invalid to use those packages in PDEPEND; even Ciaran will tell
53 you that.
54
55 > >> I'm not saying that SDEPEND is the best one-size-fits-all solution
56 > >> but you may agree that's the simplest and most effective one.
57 > >
58 > > pkg_postinst() is simpler. USE flags are simple and very effective,
59 > > yet incorrect.
60 >
61 > Could you tell me how would you plan to implement so API to read
62 > "suggested" dependencies from pkg_postinst() output?
63 > I understand that being API-friendly is not really the best feature of
64 > Portage and ebuilds in general (one reason why our PackageKit backend
65 > is a bit sucky) but this is not a good reason to keep doing things
66 > like they've been always done.
67 > (Information printed at pkg_postinst() is another interesting problem,
68 > wrt API consumers, and this includes PackageKit, but I don't want to
69 > drift away too much from the topic).
70 >
71 > >
72 > > An effective SDEPEND implementation is definitely nowhere close
73 > > to simple. Nor is presenting those dependencies to users.
74 >
75 > As I mentioned above, I know what it simple and what not, from a
76 > Software Engineering point of view. And SDEPENDs are much simpler than
77 > GLEP 62, and GLEP 62 does not fix the PDEPEND issue because
78 > individuals will keep using it because at the end of the day, it is
79 > order of magniture simpler than obscure new variables and USE flags.
80 > As a rule of thumb, "simple" always shines over the complex and
81 > convoluted in the long run.
82
83 As long as it's complete. A simple incomplete solution is yet another
84 hack which will have to be worked-around in the future again. And
85 you'll end up with 5 different solutions which will have to somehow
86 work together to solve a single problem (see: exheres).
87
88 --
89 Best regards,
90 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature