On Tue, Aug 08, 2006 at 08:33:51AM +0100, Ciaran McCreesh wrote:
> On Tue, 8 Aug 2006 00:22:50 -0700 Brian Harring <[EMAIL PROTECTED]>
> wrote:
> | On Tue, Aug 08, 2006 at 07:23:31AM +0100, Ciaran McCreesh wrote:
> | > On Mon, 7 Aug 2006 21:41:39 -0700 Brian Harring <[EMAIL PROTECTED]>
> | > wrote:
> | > | > The use.force feature is complementary to use.mask.  It's
> | > | > exactly the same concept, but inverted.
> | > | 
> | > | And both files _should_ be implemented via use deps.
> | > 
> | > Huh? How?
> | 
> | forcing cxx on via package.mask for gcc
> | sys-devel/gcc[-cxx]
> | 
> | forcing it off
> | sys-devel/gcc[cxx]
> 
> Mmm. See, that'll lead to error messages if the user sets USE=cxx and
> then tries to install gcc. With the .mask/.force, it's handled
> automatically and indicated visibly by use flags being (parened).

The error msg would be "blah is masked", with an explanation of why.  
Pretty standard fair, portage already does the same now for non use 
dep maskings.

As is, the package.use.mask patch that got shoved in gives _no_ 
indication that it's forcing a flag off for a pkg- leaves the user 
wondering wtf occured once they spot the flag is disabled.

Point there is that arguing against it based on UI code is a 
non-arguement; either implementation (for portage at least) requires 
mangling portage's -vp code to indicate the forced disabling/enabling.

> | *Full* implementation of use deps requires ability to flip on use 
> | flags as needed
> 
> I implemented this a while back for Paludis and then chucked it. It
> doesn't turn out nicely, mostly because of flags like build and
> bootstrap. You'd end up with dumb cases like patch being built with
> USE=build then USE=-build, and all kinds of hairy USE flags being
> turned on.

Alternative is not being able to resolve unixodbc/qt and sizable 
chunks of bootstrap'ing without resorting to telling the resolver to 
ignore cycles.

This is part of why use deps aren't implemented in portage now; doing 
it *fully* requires a lot of bitchy internal tracking.  You can ignore 
it, but resolution capabilities pay the cost.

~harring

Attachment: pgpEjhkORpaHF.pgp
Description: PGP signature

Reply via email to