Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 340173 - Unexpected behaviour for --complete-graph --unmerge, and confusing --depclean docs
Summary: Unexpected behaviour for --complete-graph --unmerge, and confusing --depclean...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-08 17:14 UTC by Martin von Gagern
Modified: 2022-10-20 02:44 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 Martin von Gagern 2010-10-08 17:14:01 UTC
I recently unmerged libpng:1.2 and made sure to pass the --complete-graph switch to emerge. It unmerged that old libpng all right. Next world update, however, wanted to reinstall it to satisfy a depnendency from chromium-bin which was installed and part of my @world set.

Quoting from the emerge man page about the --complete-graph option:
> This  causes  emerge to consider the deep dependencies of all packages
> from the world set. With this option enabled, emerge will bail out if it
> determines that the given operation will break any dependencies of the
> packages that have been added to the graph.

The documentation seems to apply to any operation that emerge might perform. So I suggest one of several possible solutions:

1. Make --complete-graph work for -C as I expected it to, i.e. perform check
2. Have emerge reject that combination of options, as it isn't supported
3. Adjust the documentation to better describe the scope of --complete-graph
4. Solutions 2. and 3. together, i.e. document and abort on misuse

Perhaps 1. can be implemented by reformulating the request internally in terms of --depclean instead of --unmerge. After all, I want to /unmerge/ a package, taking the /complete graph/ into account. That's what my options say, and that's what --depclean with an atom seems to do.

Yes, --unmerge does warn about the possibility of breaking the system, and advise --depclean. But the manual about --depclean starts out in this fashion: "Cleans the system ...". So I always associated it with a system-wide cleanup operation, and used it in that way.

Only the last paragraph of the man page option states that "Depclean serves as a dependency aware version of --unmerge." The fact that this seems to be the interpretation when an atom is given on the emerge command line, whereas the descriptions above that are in the absence of any package atoms, is far from obvious, at least to me. So an improvement to the --depclean documentation in the man page would be nice as well.
Comment 1 Zac Medico gentoo-dev 2010-10-08 21:33:23 UTC
I guess we need to clarify that --complete graph only applies to installation operations, and --unmerge implies --nodeps in essence.