Gentoo Archives: gentoo-portage-dev

From: Alec Warner <antarus@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] [RFC] Depending on "active" version
Date: Wed, 31 Jan 2007 22:32:11
Message-Id: 45C118C9.30001@gentoo.org
In Reply to: Re: [gentoo-portage-dev] [RFC] Depending on "active" version by Stephen Bennett
1 Stephen Bennett wrote:
2 > On Tue, 30 Jan 2007 17:06:51 +0100
3 > Marius Mauch <genone@g.o> wrote:
4 >
5 >> The idea is to add a special category (let's call it "active" for
6 >> now) that has the following properties:
7 >> - this category doesn't exist in portdir or vdb (= no ebuilds)
8 >> - when portage ($pkgmanager) encounters a "active/foo" atom in a
9 >> dependency string it executes some special code (e.g.
10 >> "$PORTDIR/scripts/active-check/foo =active/foo-1") to determine if
11 >> that atom is satisfied
12 >
13 > Given that in the general case the package manager can't change the
14 > active provider and will have to bail with an appropriate message that
15 > the user needs to change it themselves, the obvious solution to this is
16 > the previously-discussed-somewhere-I-can't-remember ebuild function,
17 > called on depgraph creation, to check that it will be able to compile
18 > in the current system environment. It's considerably simpler and more
19 > generally useful than subverting DEPEND to add weird special-case hacks
20 > to it.
21
22 No one said subverting DEPEND was necessarily required.
23
24 This stuff is essentially another visibility filter.
25
26 Think for example along the ACCEPT_RESTRICT lines, but less fugly.
27
28 User has FEATURES="sandbox"
29
30 ebuild has RESTRICT="sandbox"
31
32 Ebuild is not visible because it is incompatable with current environment.
33
34 The only problem here being some visibility filters are 'soft' (like
35 sandbox and USE vars) and some filters are hard (dependencies). USE
36 flags can often be flippy flopped to get a solution (as with sandbox,
37 which can be selectively turned off).
38 --
39 gentoo-portage-dev@g.o mailing list