On Tue, Feb 9, 2016 at 7:19 AM, Kent Fredric <kentfred...@gmail.com> wrote:
> On 10 February 2016 at 02:14, Daniel Campbell <z...@gentoo.org> wrote: > > Another concern, though, is it'd result in something similar. Instead > > of "cat/foo bar baz" and later removing 'baz', you'd have "cat/foo bar > > ~baz" (with '~baz' as 'enable this if you need to'). You'd still have > > cruft left in your p.use file, and it would achieve the same result as > > a well-commented file. > > > Granted you'd still have the cruft in your config files, but it would > become mostly-harmless cruft, not cruft that caused needless > dependencies to get pulled into the dependency tree as a side-effect. > > And because it would be "only as needed", you could afford to use some > of those "only if needed" useflags in a more global manner. > > For instance, I really don't want to globally define PYTHON_TARGETS to > include python2_7, because it will simply install a lot of extra > things I know I don't need. > > But if I could globally define something to the effect of "anything > that wants python2.7 support can have it", then that's acceptable > globally, because the effect would still turn things on automatically > on a per-page level, not at a global level. > > So you could achieve the same results with much less syntax and much > less effort. > A distinct behavior for +USE (as opposed to -USE and USE) would fit better than "~USE" IMHO, where the plus means "add if (and only if) required" and would cascade through dependencies, so if I merge e.g. app-portage/pfl with USE="+PYTHON_TARGETS_PYTHON2_7" it would apply that to dependencies as required. ~USE might fit for something like "~PYTHON_TARGETS_PYTHON3", where it would select the greatest flag matching that prefix, and would therefore automatically keep packages that have 3_2, 3_3, 3_4, 3_5 using whatever is the latest unmasked flag. Could potentially combine the prefixes, e.g. "~+PYTHON_TARGETS_PYTHON3" to both select the greatest python version AND cascade to dependencies.