Gentoo Archives: gentoo-dev

From: Marius Mauch <genone@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] PROPERTIES=set for meta-packages that should behave like package sets (revised)
Date: Sat, 04 Oct 2008 06:08:00
Message-Id: 20081004080746.9f8e039f.genone@gentoo.org
In Reply to: Re: [gentoo-dev] [RFC] PROPERTIES=set for meta-packages that should behave like package sets (revised) by "Jorge Manuel B. S. Vicetto"
1 On Sat, 04 Oct 2008 03:46:41 +0000
2 "Jorge Manuel B. S. Vicetto" <jmbsvicetto@g.o> wrote:
3
4 > It would also be important to have versioned sets (depending on a
5 > slot, for example). Marius Mauch (genone) suggested a very
6 > interesting way to solve this by using a set config file (portage
7 > specific) that, as he stated, "should work if I got the syntax right
8 > from memory" [current Portage svn] (something similar to):
9 >
10 > - ---- sets.conf ----
11 > [slot-4.1]
12 > class=dbapi.VariableSet
13 > variable=SLOT
14 > include=4.1
15 >
16 > [kdebase]
17 > class=files.StaticFileSet
18 > filename=kdebase
19 >
20 > [kdebase-4.1]
21 > class=base.DummyPackageSet
22 > extend=kdebase
23 > intersect=slot-4.1
24
25 Small correction: The example above doesn't actually work as intended,
26 as the VariableSet handler only operates on installed packages, so
27 @kdebase-4.1 would actually contain atoms that are
28 - listed in @kdebase
29 - have SLOT=4.1
30 - are already installed
31
32 > - ---- sets.conf ----
33 >
34 > Being able to take advantage of use deps for packages would be a
35 > bonus: kde? (
36 > x11-libs/compizconfig-backend-kconfig
37 > x11-wm/compiz[kde]
38 > )
39
40 Basic use deps are supported (those that don't expand to use
41 conditionals), use conditionals are not, and probably won't be for
42 various reasons.
43
44 > It would be really helpful if we could have a "package.mask" like
45 > structure that allowed users to "mask" deps from sets (does / could
46 > package.mask be used this way?)
47
48 Well, portage has a set handler for wrapping /etc/portage/package.*
49 files in sets, which in combination with the substraction operator /the
50 "remove" option in sets.conf can be used for this purpose.
51
52 > Perhaps we should start doing "emerge -uDav @world/@installed".
53
54 What would be the point of that?
55
56 > So this is what I would like to see with sets. Am I crazy? Is it
57 > possible to do any of this? Anyone has some other needs?
58
59 Well, pretty much all what you want is possible with current portage
60 codebase (only available via svn, not released yet), except for use
61 conditionals, and the issue about VariableSet mentioned above, but
62 that's fixable in several ways. Mind that details of the examples above
63 might change over time as that stuff is just a few days old.
64
65 Using that stuff in the tree however is a completely different issue,
66 as the current sets.conf format will likely never be supported by other
67 package managers than portage (as it's somewhat tied to the portage
68 API).
69
70 Marius