Gentoo Archives: gentoo-dev

From: Duncan <1i5t5.duncan@×××.net>
To: gentoo-dev@l.g.o
Subject: [gentoo-dev] Re: Dependencies that're available at pkg_*inst
Date: Mon, 21 Apr 2008 10:23:00
Message-Id: pan.2008.04.21.10.22.32@cox.net
In Reply to: Re: [gentoo-dev] Dependencies that're available at pkg_*inst by Donnie Berkholz
1 Donnie Berkholz <dberkholz@g.o> posted
2 20080421051727.GA10765@comet, excerpted below, on Sun, 20 Apr 2008
3 22:17:27 -0700:
4
5 > I guess the RDEPEND+DEPEND case would save an ebuild dev the work of
6 > specifying the COMMON_DEPEND list, but other than that, I can't think of
7 > any benefits. It would force both RDEPEND and DEPEND to be installed for
8 > binpkgs, which sucks.
9
10 If I read the original proposal correctly, it's not proposing a simple +,
11 that BOTH RDEPEND and DEPEND be guaranteed installed at pkg_*inst, IOW by
12 set theory, not the UNION of the two sets, but the INTERSECTION of the
13 two sets, that is, packages that appear in both lists at once, not those
14 appearing in one XOR the other.
15
16 Thus a COMMON_DEPEND would still be useful as it would be the list
17 appearing in both (thus effectively the list necessary for pkg_*inst,
18 same as the OR case). Both lists could still exclusively include
19 packages, and packages not listed in DEPEND only would not have to be
20 installed for binpkgs.
21
22 So it's not OR vs AND, but OR vs INTERSECTION.
23
24 As I stated in my other post, RDEPEND alone can't be used without
25 breaking things. That applies to binary package installation as well,
26 where DEPEND along can't be used either as that would require
27 installation of unwanted packages. Thus, the OR case doesn't seem to
28 work for binary installation at all, since neither RDEPEND nor DEPEND can
29 be relied upon alone, and the OR case proposes requiring at least one
30 complete set of the two be installed.
31
32 Thus, for current EAPIs, the INTERSECTION alternative is the only
33 possibly working alternative if we are not to break binary package
34 support and not force full DEPEND installation on binary targets. It's
35 not ideal as it'll potentially force unwanted and otherwise unnecessary
36 package installation on both the build-host and the binary target, due to
37 fact that it forces pkg_*inst dependencies into both DEPEND and RDEPEND,
38 but IMO it's better than forcing the whole set of DEPENDs to be installed
39 on binary targets, which would be the only working alternative in the OR
40 case above.
41
42 As others have said, this is certainly a good candidate for future EAPI
43 change, but it's not future EAPIs under current discussion, so that fact
44 doesn't help the current discussion.
45
46 --
47 Duncan - List replies preferred. No HTML msgs.
48 "Every nonfree program has a lord, a master --
49 and if you use the program, he is your master." Richard Stallman
50
51 --
52 gentoo-dev@l.g.o mailing list