Gentoo Archives: gentoo-dev

From: Pacho Ramos <pacho@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: RFC: USE flags in virtuals, to allow a specific provider to be determined
Date: Sat, 26 Jul 2014 08:30:28
Message-Id: 1406363417.20388.30.camel@gentoo.org
In Reply to: [gentoo-dev] Re: RFC: USE flags in virtuals, to allow a specific provider to be determined by Duncan <1i5t5.duncan@cox.net>
1 El sáb, 26-07-2014 a las 08:05 +0000, Duncan escribió:
2 > Ian Stakenvicius posted on Fri, 25 Jul 2014 14:49:44 -0400 as excerpted:
3 >
4 > > Hey all.. So, putting aside for now how much of a mess this would be to
5 > > implement in the virtuals' ebuilds themselves, what do people think of
6 > > changing the virtuals so that they contain an entry in IUSE for each
7 > > provider that can satisfy it?
8 > >
9 > > The idea here is that the package satisfying a virtual could be
10 > > optionally explicitly-chosen through package.use (or USE= in make.conf,
11 > > perhaps) instead of having an entry in @world, that way if nothing
12 > > depends on the virtual then it and the provider can be - --depclean'ed
13 > > from the system. The idea is specifically NOT to have rdeps depend on
14 > > these flags, that would undermine the whole purpose of the virtual; it
15 > > would just be for end-users to set if they so chose.
16 > >
17 > > This may also help with getting portage to peg a virtual's provider to a
18 > > specific package instead of constantly trying to switch from one to
19 > > another, ie, how systemd kept getting pulled in, in relation to the
20 > > upower virtual.
21 >
22 > What about handling each such virtual_USE as a USE_EXPAND? VIRTUAL_* as
23 > reserved-namespace USE_EXPAND would give us full backward compatibility
24 > along with an immediately identifiable namespace and virtually (heh) no
25 > possibility of confusion with other configuration.
26 >
27 > Continuing with the earlier virtual/krb5 example, we'd have VIRTUAL_KRB5,
28 > with possible settings in make.conf of:
29 >
30 > VIRTUAL_KRB5=mit-krb5
31 > VIRTUAL_KRB5=heimdal
32 >
33 > Virtually no possibility of confusion with normal USE flags, and the
34 > matching virtual would be immediately identifiable, so no possibility of
35 > getting confused on what it applies to, either.
36 >
37
38 I would also prefer to use USE_EXPAND to not mix normal USEs with
39 virtuals... but I would go with using the same "VIRTUAL" variable for
40 all virtuals, otherwise people will end up having dozens of VIRTUAL_
41 statements in make.conf (one per virtual package)