On 3 April 2015 at 06:32, Rich Freeman <ri...@gentoo.org> wrote:

> Why is this necessary?  If a USE flag changes, just rebuild the
> application.
>


Isn't the nature of your proposal,( that is, dynamic deps for USE flags )
inherently "Use flags change, _dont_ rebuild the application" ? :)

It may help to think in terms of : Any ebuild without IUSE="foo" , once
installed, actually has a property of USE_foo=undef

Once an ebuild has IUSE="foo", the installed package then can subsequently
get

USE_foo=y
USE_foo=n


So under that logic, adding a new IUSE implies "Use flag changes" ( either
from state undef to y , or state undef to n ).

We have mechanisms for other ebuilds to declare what USE_foo=undef means in
dependency defaults:

    >=X[foo(+)]   # Assume USE_foo = undef to mean USE_foo = y
    >=X[foo(-)]   # Assume USE_foo = undef to mean USE_foo = n

There's just no mechanism similar to that for an ebuild with CVS revision
02 to declare what USE_foo = undef meant on ebuild with CVS revision 01


Nor is there a way to express what USE_foo=undef meant on  X<$PV



( And subsequently, there is no user visible way /in portage/ for portage
to express the meaning of a new USE flag becoming visible )

So I'm basically having trouble with groking the logic you're proposing of
"add a new use flag" -> "implied change of useflag" -> "rebuild when
useflags change" -> "but don't rebuild for this useflag change using some
kind of magic"

( Mostly due to the implied-change via addition I can't seem to ignore )


-- 
Kent

*KENTNL* - https://metacpan.org/author/KENTNL

Reply via email to