Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 149208 - portage-2.1.2-pre1-r3 emerge -u doesn't update direct dependencies
Summary: portage-2.1.2-pre1-r3 emerge -u doesn't update direct dependencies
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Ebuild Support (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS, REGRESSION
Depends on:
Blocks: 147007
  Show dependency tree
 
Reported: 2006-09-26 11:51 UTC by Colin Macdonald
Modified: 2006-09-27 13:45 UTC (History)
0 users

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


Attachments
update direct dependencies of command line arguments (update_direct_deps.patch,2.17 KB, patch)
2006-09-26 15:28 UTC, Zac Medico
Details | Diff
update direct dependencies of command line arguments (update_direct_deps.patch,2.26 KB, patch)
2006-09-27 01:55 UTC, Zac Medico
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Colin Macdonald 2006-09-26 11:51:31 UTC
[This must be a dup but I couldn't find anything!]

--update doesn't seem to do anything in these new portage versions.  I do remember reading somewhere there was a change in behavior but I don't think it was supposed to be this drastic:

Here is an example using 2.1.2-pre1-r1:
# emerge -vup scipy

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] app-admin/eselect-blas-0.1  0 kB 
[ebuild  N    ] app-admin/eselect-cblas-0.1  0 kB 
[ebuild     U ] sci-libs/blas-atlas-3.7.11-r1 [3.7.11] USE="-debug -doc" 1,990 kB 
[ebuild  N    ] app-admin/eselect-lapack-0.1  0 kB 
[ebuild     U ] sci-libs/lapack-atlas-3.7.11-r1 [3.7.11] USE="-debug -doc -ifc" 4,934 kB 
[ebuild     U ] dev-python/numpy-1.0_rc1 [1.0_beta2] USE="lapack" 1,094 kB 
[ebuild     U ] sci-libs/scipy-0.5.1 [0.4.9] USE="fftw -debug" 4,043 kB 

and with 2.1.2-pre1-r2 (or r3)

# emerge -vup scipy

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sci-libs/scipy-0.5.1 [0.4.9] USE="fftw -debug" 4,043 kB 

quoting emerge(1):
--update: ...
"This  will also  update  direct  dependencies which may not be what you want."

(which is not happening in my above example)

Of course there is also this, which suggests I shouldn't use --update with scipy (why not?):

"In general, use this option only in combination with the world or system target."

Perhaps related: bug #149092.
Comment 1 Zac Medico gentoo-dev 2006-09-26 12:11:47 UTC
I realize that the behavior has changed.  However, I think --deep will do what you want, and is makes sense in this case.
Comment 2 Zac Medico gentoo-dev 2006-09-26 12:17:14 UTC
Nevermind, I think I see the problem.  I make a patch.
Comment 3 Zac Medico gentoo-dev 2006-09-26 15:28:28 UTC
Created attachment 98176 [details, diff]
update direct dependencies of command line arguments

This will bring back the old behavior.  Previously we used an "empty" depgraph parameter to produce this type of behavior, but the logic was quite messy in my opinion.  I think that this is a much cleaner way to implement it.

I'm not sure if we really need the "update direct dependencies" feature anyway.  We could get rid of it and people would just have to use --deep to pull in updates of dependencies.
Comment 4 Colin Macdonald 2006-09-26 23:23:36 UTC
I'm not a big fan of --deep as it tends to put things in a strange order where the direct dependencies end up being emerged after the package itself.  See numpy in the following example:

 # emerge -vuDp scipy

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U ] sys-devel/binutils-config-1.9-r2 [1.8-r7] 0 kB 
[ebuild     U ] sys-devel/m4-1.4.7 [1.4.6] USE="nls" 499 kB 
[ebuild     U ] sys-apps/debianutils-2.17.1 [2.16.2] USE="-static" 127 kB 
[ebuild     U ] sys-libs/timezone-data-2006l [2006g] 336 kB 
[ebuild     U ] sci-libs/scipy-0.5.1 [0.4.9] USE="fftw -debug" 4,043 kB 
[ebuild     U ] app-admin/perl-cleaner-1.04.3 [1.04.1] 5 kB 
[ebuild     U ] dev-lang/python-2.4.3-r4 [2.4.3-r3] USE="berkdb gdbm ncurses readline ssl tk -bootstrap -build -doc -ipv6 -nocxx -ucs2" 7,827 kB 
[ebuild     U ] dev-java/java-config-2.0.30 [2.0.28-r1] 16 kB 
[ebuild  N    ] app-admin/eselect-blas-0.1  0 kB 
[ebuild  N    ] app-admin/eselect-cblas-0.1  0 kB 
[ebuild     U ] sci-libs/blas-atlas-3.7.11-r1 [3.7.11] USE="-debug -doc" 1,990 kB 
[ebuild  N    ] app-admin/eselect-lapack-0.1  0 kB 
[ebuild     U ] sci-libs/lapack-atlas-3.7.11-r1 [3.7.11] USE="-debug -doc -ifc" 4,934 kB 
[ebuild     U ] dev-python/numpy-1.0_rc1 [1.0_beta2] USE="lapack" 1,094 kB 
[ebuild     U ] x11-drivers/xf86-input-evdev-1.1.2-r2 [1.1.2-r1] USE="-debug" 220 kB 

I like to old behavior of --update because I could count on it to pull in the most recent versions of the direct dependencies without a lot of other things (and it did it in a predictable order).  For example, in this case scipy depends directly on numpy so if I'm interested in the new version of scipy then I'm probably interested in the newer numpy as well.

I suppose I wouldn't care so much if --deep put things in a more predictable order (maybe that's a separate bug).
Comment 5 Zac Medico gentoo-dev 2006-09-27 01:55:54 UTC
Created attachment 98200 [details, diff]
update direct dependencies of command line arguments

This updated patch is in svn r4541.

(In reply to comment #4)
> I'm not a big fan of --deep as it tends to put things in a strange order where
> the direct dependencies end up being emerged after the package itself.

As long as everything builds correctly and works, we shouldn't be too concerned about the specific ordering.  Anyway, the pulling in of direct dependencies seems reasonably useful, so this is fixed for the next release.
Comment 6 Colin Macdonald 2006-09-27 09:19:04 UTC
Cool!  thanks fixing and sorry about the ranting.
Comment 7 Zac Medico gentoo-dev 2006-09-27 13:45:29 UTC
This has been released in 2.1.2_pre1-r4.