It would be nice if USE_ORDER in /etc/make.globals was set to "env:pkg:pkginternal:conf:defaults" instead of "env:pkg:conf:defaults:pkginternal". I think that default per-package USE flags should be defaultly allowed to be disabled ONLY by entries in package.use or in environment. For example if a user has some flag disabled in /etc/make.conf, but having it enabled for one specific package is highly recommended (and having it disabled is not supported), then I think that the user should confirm his decision by placing the appropriate entry in package.use. (I know that I can change it in /etc/make.conf, but I would want to propagate this useful change to other users.)
(In reply to comment #0) > I think that default per-package USE flags > should be defaultly allowed to be disabled ONLY by entries in package.use or in > environment. We already have package.use.force and use.force for flags that are extremely important to have enabled. Your proposed change makes it more difficult for users to disable flags globally, creating a similar effect to that of package.use.force. Why not use package.use.force instead?
(In reply to comment #1) > Why not use package.use.force instead? package.use.force is intended to force some USE flags in specific profiles. Using +flag in IUSE is better than having too many entries in ${PORTDIR}/profiles/base/package.use.force.
How about if we add new syntax for forcing flags via IUSE? For example, we could use the same syntax that's used in emerge ouput for forced and masked flags: IUSE="(+foo) (-bar) +baz"
(In reply to comment #3) > How about if we add new syntax for forcing flags via IUSE? For example, we > could use the same syntax that's used in emerge ouput for forced and masked > flags: > > IUSE="(+foo) (-bar) +baz" I'm not sure, but it would probably be at least better than current default behaviour :) .
Just my opinion, but lets not make USE handling even more complex, it's already overly complicated for many people. And forcing flags via IUSE seems plain stupid to me, you can do that by simply removing the flag. If you're after "strongly recommending" flags, then profile package.use is the way to go.
Lets revisit this once default IUSE flags are actually in use.