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