Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 144661 - Display removed USE flags?
Summary: Display removed USE flags?
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 136244
  Show dependency tree
 
Reported: 2006-08-21 10:06 UTC by Graham Murray
Modified: 2006-09-19 15:47 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Graham Murray 2006-08-21 10:06:44 UTC
Sometimes when running 'emerge -auDvN' following a sync, some packages will show as 'R' to be re-emerged but there are neither any yellow USE flags shown nor any marked '%' or '*'. My assumption is that this is because a USE flag has been removed from the ebuild or one of the eclasses it uses.

It would be nice to have emerge show which USE flags the ebuild is no longer using.
Comment 1 Zac Medico gentoo-dev 2006-08-21 11:06:04 UTC
We'll need a new symbol to represent a flag that's been removed from IUSE.  The flag is neither + nor -, so does !flag make sense?
Comment 2 Jason Stubbs (RETIRED) gentoo-dev 2006-08-21 18:31:18 UTC
How about (-flag)% ? It's overloading the meaning of () in the USE flag string context, but it's interpretable(sp?) at a glance..
Comment 3 Zac Medico gentoo-dev 2006-08-21 18:44:59 UTC
(-flag)% was another possiblity that I had already considered but I ruled it out because it's ambiguous in that the flag could be a new masked flag or an old flag that no longer exists.  Also, the - sign could be misleading because perhaps the flag is no longer optional and the choice that it once reprented is always enabled now.  Anyway, I'm just sharing thoughs and I don't really care too much what we choose.
Comment 4 Zac Medico gentoo-dev 2006-08-24 00:54:26 UTC
This is fixed in svn r4322.  Currently, removed IUSE are displayed as !flag%, but we can change that if people don't like it.
Comment 5 Zac Medico gentoo-dev 2006-08-25 21:52:28 UTC
This has been released in 2.1.1_rc1.
Comment 6 Ryan Hill (RETIRED) gentoo-dev 2006-08-26 08:04:19 UTC
this is getting extremely hard to read and understand.
Comment 7 Jason Stubbs (RETIRED) gentoo-dev 2006-08-26 08:27:43 UTC
How about slightly altering the meanings of the various symbols?

% use flag addition/removal (aka change)
* use flag setting change
() use flag setting one can't do anything about (without hacking profiles)

(-foo%*)  <= previously enabled but now removed
(-foo)    <= masked flag
(-foo%)   <= removed (or newly added masked) flag that has no impact
-foo%     <= new flag that isn't enabled
-foo*     <= flag that was previously enabled
foo%*     <= new flag that is enabled
foo*      <= flag that was previously disabled

In the above, (-foo%*) is currently !foo and foo%* is currently foo%. I _think_ all the others are the same. While the '*' in foo%* is redundant, I would guess that it would make the meanings of the symbols clearer in the long run. The above is just a suggestion though...
Comment 8 Zac Medico gentoo-dev 2006-08-26 12:15:28 UTC
I like the idea of using % together with * where appropriate.  The idea of using (-flag%) to indicate both newly masked and removed flags still bothers me slightly, since meaning is ambiguous.  A newly masked flag can potentially be overriden via the profile (though it's unlikely to happen), while a removed flag cannot.  It seems to me that there should be a visual cue to indicate the difference between them (hence the ! symbol).
Comment 9 Jason Stubbs (RETIRED) gentoo-dev 2006-08-26 20:31:51 UTC
Hmm... I've tried switching meanings a little more, but there doesn't seem to be a set where some combination doesn't represent two different states... Does it matter to alert the user of a newly added but masked flag? If not, rolling that into (-flag) would make things doable.
Comment 10 Zac Medico gentoo-dev 2006-08-26 21:27:15 UTC
Rolling newly added masked flags into (-flag) seems alright to me, except for the case where that new flag is the only thing causing --newuse to trigger remerge of a package.  Perhaps --newuse should remove masked flags from IUSE before it compares them though.  But then, forced flags should also be removed from IUSE prior to the --newuse comparison.  I guess that makes sense, since masked/forced flags are essentially removed from the available user choices (though they can be overriden, it shouldn't happen very often).
Comment 11 Jason Stubbs (RETIRED) gentoo-dev 2006-08-26 21:39:16 UTC
Sounds good except that sometimes a masked or forced flag should require a rebuild on --newuse. That is, a flag that originally wasn't under profile control becomes set to the opposite of the existing choice - (-foo*) or (bar*).
Comment 12 Zac Medico gentoo-dev 2006-08-27 04:04:24 UTC
I've made the changes in svn r4345:4350.  The ouput is as descibed in comment #7 except that the % symbol is omitted for newly added masked flags.
Comment 13 Zac Medico gentoo-dev 2006-08-27 12:15:59 UTC
This has been released in 2.1.1_rc1-r1.
Comment 14 Norman Yarvin 2006-09-19 15:47:13 UTC
It'd be nice to have an option (maybe "-vv"?) to translate these codes into English, as the table in comment #7 does.