On 8/9/06, Brian Harring <[EMAIL PROTECTED]> wrote:
General problem with use deps; *could* still implement it via
seperating out use specific restrictions and generating the second
logic statement above, but that's bit magic imo.

Is it really "magic"?  Admittedly I know exactly nothing about portage
internals, but it seems to me that use-specific restrictions and
version-specific restrictions are two completely separate concepts,
and that you have to deal with them separately, regardless of whether
you put the directives all in the same file or not.

I see the normal case for gcc being something like:

sys-devel/gcc[-cxx]
=sys-devel/gcc-5.0

The above is very clear and obvious to me...all versions of gcc should
be built with USE=cxx, and you should not try >= version 5.0.  If you
tried to combine those two concepts into a single directive, you would
end up with:

=sys-devel/gcc-5.0[-cxx]

and I can think of at least 3 useful and logical interpretations of
that single statement.  This is quite different than the same token in
an [R]DEPEND, where only one sane interpretation exists.

So in fact I think that in the context of masking/unmasking packages,
you must deal with the version and use flag masking separately.  You
should not even allow the combined syntax form, since it is so
ambiguous.

And if you do that, then the unmasking of use-specific or
version-specific masks becomes quite obvious.  Placing
"sys-devel/gcc[-cxx]" in package.unmask has no effect on the
_versions_ of gcc that are masked, as it isn't a version-specific
directive.

-Richard
--
gentoo-dev@gentoo.org mailing list

Reply via email to