Summary: | portage-2.1.2_pre1-r4 'emerge -up world' doesn't update direct dependencies of world packages | ||
---|---|---|---|
Product: | Portage Development | Reporter: | MATSUI Tetsushi <VED03370> |
Component: | Core - Dependencies | Assignee: | Portage team <dev-portage> |
Status: | RESOLVED FIXED | ||
Severity: | normal | Keywords: | InVCS, REGRESSION |
Priority: | High | ||
Version: | 2.1 | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 147007 | ||
Attachments: | attempt to emulate old --update behavior by pulling in direct dependencies of world and system |
Description
MATSUI Tetsushi
2006-09-29 08:30:50 UTC
This seems very similar to bug 149208. I suppose we can treat packages from world like we do command line arguments for that bug. Then, direct dependencies of world packages will be updated with `emerge -up world`. I can see how this may be useful if you don't want to use --deep for some reason. Actually, considering that portage considers "system" as a part of "world", I'm not sure that it's really worth it to only update direct dependencies rather than just use --deep. I thought --deep was a kind of sub-option for --update. They have completely different usefulness. I update only --update dependencies daily, and --deep dependencies monthly or so. The point is that the behavior of --update has changed drastically. It has lost consistency between for world and for a package in world. Some of the internals are different now, leading to different semantics. At the moment, --update is only useful for updating packages that have been specified on the command line along with their direct dependencies. I think it would be useful to extend that behavior to world and system, but separately. That way one could update world and direct dependencies of world while leaving system packages untouched. With --deep, all dependencies (direct and indirect) are updated. Currently, there is no need to specify --update when --deep has already been specified. Created attachment 98430 [details, diff]
attempt to emulate old --update behavior by pulling in direct dependencies of world and system
I think this patch should emulate the old behavior of `emerge --update world`. If you save it as /tmp/world_update.patch, then you can apply it as follows:
cd /usr/lib/portage
patch -p0 < /tmp/world_update.patch
Thank you for the patch. It solved my problem. This is in svn r4567. (In reply to comment #4) > I think it would be useful to extend that behavior to world and system, but separately. World has always been the set including all other sets - speak system ;). While I do think it may be nice to so something like e.g. emerge (- world system), (- world kde) or (+ kde use_defined_set), I do think world should be kept as it is. Changing the semantic is something to discuss on gentoo-dev imho - and if it'd be decided to change it, we'd need to make our userbase aware about it. (In reply to comment #8) > World has always been the set including all other sets - speak system ;). I don't want to "rock the boat" too much, so that's why I've applied the patch to emulate the old behavior. When we get broader support for package sets it will open up lots of other possibilities. This has been released in 2.1.2_pre2-r1. |