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
pgpEjhkORpaHF.pgp
Description: PGP signature