Stephen Bennett wrote:
> On Tue, 30 Jan 2007 17:06:51 +0100
> Marius Mauch <[EMAIL PROTECTED]> wrote:
> 
>> The idea is to add a special category (let's call it "active" for
>> now) that has the following properties:
>> - this category doesn't exist in portdir or vdb (= no ebuilds)
>> - when portage ($pkgmanager) encounters a "active/foo" atom in a
>> dependency string it executes some special code (e.g.
>> "$PORTDIR/scripts/active-check/foo =active/foo-1") to determine if
>> that atom is satisfied
> 
> Given that in the general case the package manager can't change the
> active provider and will have to bail with an appropriate message that
> the user needs to change it themselves, the obvious solution to this is
> the previously-discussed-somewhere-I-can't-remember ebuild function,
> called on depgraph creation, to check that it will be able to compile
> in the current system environment. It's considerably simpler and more
> generally useful than subverting DEPEND to add weird special-case hacks
> to it.

No one said subverting DEPEND was necessarily required.

This stuff is essentially another visibility filter.

Think for example along the ACCEPT_RESTRICT lines, but less fugly.

User has FEATURES="sandbox"

ebuild has RESTRICT="sandbox"

Ebuild is not visible because it is incompatable with current environment.

The only problem here being some visibility filters are 'soft' (like
sandbox and USE vars) and some filters are hard (dependencies).  USE
flags can often be flippy flopped to get a solution (as with sandbox,
which can be selectively turned off).
-- 
gentoo-portage-dev@gentoo.org mailing list

Reply via email to