Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 354443 - Make --newuse an alias for --reinstall=new-use
Summary: Make --newuse an alias for --reinstall=new-use
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Configuration (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-11 08:47 UTC by Dennis Schridde
Modified: 2011-02-13 08:20 UTC (History)
0 users

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 Dennis Schridde 2011-02-11 08:47:25 UTC
Minor unification in the emerge options: Make --newuse be, like --changed-use, an alias for --reinstall=new-use.

Reproducible: Always
Comment 1 Dennis Schridde 2011-02-11 08:48:31 UTC
P.S: --reinstall=new-use does not exist yet, and would have to be added.
Comment 2 Sebastian Luther (few) 2011-02-12 16:22:16 UTC
Do we really need more options that do the same? Imo we should do the opposite, remove everything use change related except --newuse. 
And when we are at it, --update should imply --newuse, because using -u without -N tends to confuse emerge if there are use changes.
Comment 3 Dennis Schridde 2011-02-12 19:01:28 UTC
(In reply to comment #2)
> Do we really need more options that do the same?
My idea had the same goal. --newuse would be only for backwards compatibility, and --reinstall would unify all the conditionals for reinstallation.

Why should everything use-change related be removed? Is changed-use not necessary? Are there more options dealing with useflags?
Comment 4 Sebastian Luther (few) 2011-02-13 06:01:58 UTC
Currently there are 3 use related options:

1) --changed-use (reinstalls if the user changed the stat of a use flag)
2) --reinstall=changed-use (alias for --changed-use)
3) --newuse (-N) (like --changed-use, but also reinstalls if a flag has been added or removed)

Your proposal: add 4)
4) --reinstall=new-use (alias for --newuse (-N))

My proposal:
Remove 1), 2) and don't add 4). Keep 3) only.
Rational is that it's the only sane action here. If a flag is added or removed, you don't know what the original behavior was (was the feature always enabled or disabled?). That's why you always want to reinstall in this case.
Comment 5 Zac Medico gentoo-dev 2011-02-13 07:18:02 UTC
(In reply to comment #4)
> Rational is that it's the only sane action here. If a flag is added or removed,
> you don't know what the original behavior was (was the feature always enabled
> or disabled?). That's why you always want to reinstall in this case.

It's true that when flags are added to or removed from IUSE, there's currently no automated way to decide whether or not a rebuild will lead to a really meaningful change. However, there are many cases where users are capable of making this judgement themselves, and the --changed-use option was added (bug 144333) for them to use at their discretion.
Comment 6 Sebastian Luther (few) 2011-02-13 07:58:33 UTC
Reading bug 144333, it was quite controversial back then. Can we at least add a note to the man page that --changed-use is discourage in favor of --newuse?

And what do you think of -u implying -N?

For this bug: Why do we need an reinstall=... alias at all?
Comment 7 Zac Medico gentoo-dev 2011-02-13 08:20:44 UTC
(In reply to comment #6)
> Reading bug 144333, it was quite controversial back then. Can we at least add a
> note to the man page that --changed-use is discourage in favor of --newuse?

Sure.

> And what do you think of -u implying -N?

That's probably fine, but If so then I think we should add support for --newuse=n to disable it.

> For this bug: Why do we need an reinstall=... alias at all?

It's not really necessary. When I added --reinstall I had intended it to be extended like this, no necessarily for --newuse since that already had a top-level option, but as a way of grouping similar options that might be added in the future.