Gentoo Archives: gentoo-dev

From: Thomas de Grenier de Latour <degrenier@×××××××××××.fr>
To: gentoo-dev@××××××××××××.org
Subject: Re: [gentoo-dev] GLEP ??: Metapackages
Date: Mon, 07 Mar 2005 10:27:05
Message-Id: 20050307112639.6687812b@eusebe
In Reply to: [gentoo-dev] GLEP ??: Metapackages by Stephen Bennett
1 On Tue, 01 Mar 2005 22:15:51 +0000
2 Stephen Bennett <spb@g.o> wrote:
3
4 > http://dev.gentoo.org/~spb/metapkg-glep.txt.
5 > Comments/suggestions/flames welcome.
6
7 A first minor drawback i see is that it complicates things for
8 people who use overlay ebuilds. For instance, making your own
9 kernel sources ebuilds right now is has simple as inheriting an
10 eclass, which will give them the right PROVIDES line. But with
11 this glep, you will also have to overlay the metapkg and add
12 declare your sources in it, and then manually maintain it to keep
13 in sync with the one in the tree (cause you don't want to break
14 other official kernel sources packages). In that respect, the
15 current virtuals system is much more confortable, because ebuilds
16 are really standalone, not inter-dependent.
17
18
19 An imho more serious drawback is that there is, in this proposal,
20 no way for a user to explicitly declare what implementation of a
21 virtual he prefers. As i've already said in the previous thread, i
22 think this /etc/portage/profiles/virtuals was a very good thing,
23 and there is no such user prefs file with this glep. I'll try to
24 explain why it bothers me with an example:
25
26 - metaM depends on "|| ( pkgA pkgB pkgC )"
27 - pkgD depends on metaM
28 - pkgE depends on pkgC
29
30 If user "emerge pkgD" and then "emerge pkgE", he will have both
31 pkgA and pkgC installed as deps.
32 If at the contrary he "emerge pkgE" before "emerge pkgD", he will
33 only have pkgC installed to satisfy both deps.
34 If he then wants to clone his system on an other station by doing
35 an "emerge $(< world.orig)", he may have only pkgC or both pkgA
36 and pkgC, depending on how the world file is ordered.
37
38 And if his prefered implementation of metaM is pkgB anyway, he
39 would better emerge it explicitly soon enough, before anything
40 else that depends on metaM. Actually, a picky user should dig
41 through all the virtuals right after his installation and
42 explicitly emerge all the packages for which he has a preference,
43 whereas with the current virtuals implementation he can state that
44 in a config file let emerge deal with it when the virtuals are
45 actually depended on.
46
47 So, in short, dropping the "virtuals" file is a regression imho,
48 because it makes portage behavior less deterministic; it will
49 depend more on the history of user actions (calls to emerge), and
50 less on user prefs, making it harder to understand and control.
51
52 Oh, and btw, this lack of "virtuals" prefs file may also be a
53 problem for official profiles. For instance, I see that "base"
54 currently has "virtual/jdk dev-java/blackdown-jdk", whereas ppc
55 profiles override that with "virtual/jdk dev-java/ibm-jdk-bin".
56 And i guess they have good reasons to do so... How will that be
57 handled with metapkgs? By having numerous "arch? ( ... )" in the
58 DEPEND string?
59
60 --
61 TGL.
62 --
63 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] GLEP ??: Metapackages Stephen Bennett <spb@g.o>