Let's say I have two profiles: base and subprofile, with subprofile inheriting base. If base has: USE_EXPAND="PYTHON_TARGETS" PYTHON_TARGETS="python2_7 python3_4" and subprofile has: PYTHON_TARGETS="python3_3" Portage appends 3.3 as if PYTHON_TARGETS were incremental. However, if I do: PYTHON_TARGETS="-* python3_3" It complains: Invalid '-' operator in non-incremental variable 'PYTHON_TARGETS': '-*' and ignores the unset. Now, reading PMS. '5.3.2 Specific variables and their meanings' says: USE_EXPAND Defines a list of variables which are to be treated incrementally and whose contents are to be expanded into the USE variable as passed to ebuilds. See section 11.1.1 for details. So I'd say Portage should treat it fully incrementally, and respect '-flag' incl. '-*'. CC-ing pms-bugs@ to confirm.
I have a patch in this branch: https://github.com/zmedico/portage/tree/bug_530222 I'll post it for review after I've added some unit tests.
I've posted a patch with tests for review here: http://thread.gmane.org/gmane.linux.gentoo.portage.devel/4840
This is in the master branch now: https://github.com/gentoo/portage/commit/ffbc3416f535752e50a60adfaf0d64486c50a035
(In reply to Zac Medico from comment #3) > This is in the master branch now: > > https://github.com/gentoo/portage/commit/ > ffbc3416f535752e50a60adfaf0d64486c50a035 The above commit broke tests strangely somehow, so here it is with fixup: https://github.com/gentoo/portage/commit/10f991041672f36b05a42752c81ffc6ede0c3326
Here's the final version which uses filter(None, self.make_defaults_use) to fix the previously mentioned test failure: https://github.com/gentoo/portage/commit/b9c06a6a2dd4ccc875f8b9dd3139ea582e1e5621
This is in the portage-2.2.15 release.
*** Bug 351591 has been marked as a duplicate of this bug. ***