Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 500548 - sys-apps/portage-2.2.8-r1 fails to upgrade all packages with --deep --bdeps=y, but depclean won't remove due to deps, either
Summary: sys-apps/portage-2.2.8-r1 fails to upgrade all packages with --deep --bdeps=y...
Status: RESOLVED WORKSFORME
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-06 18:35 UTC by Duncan
Modified: 2014-07-24 12:58 UTC (History)
0 users

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


Attachments
emerge --info (emerge.info,5.36 KB, text/plain)
2014-02-06 19:14 UTC, Duncan
Details
emerge -puD --debug oxygen-icons (ep.oxygen-icons.xz,38.24 KB, application/x-xz)
2014-02-06 19:37 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2014-02-06 18:35:54 UTC
$ emerge -pNuD --with-bdeps=y @world

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

Calculating dependencies  ..... done!

[nothing]

But:

$ emerge --pretend --update --verbose subversion

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

Calculating dependencies  ... done!
[ebuild     U  ] dev-vcs/subversion-1.8.5 [1.7.14] USE="-apache2 -berkdb -ctypes-python -debug -doc -dso -extras -gnome-keyring -http% -java -kde -nls -perl -python -ruby -sasl {-test} -vim-syntax (-webdav-neon%*) (-webdav-serf%)" PYTHON_TARGETS="python2_7 -python2_6" 6,721 kB

Total: 1 package (1 upgrade), Size of downloads: 6,721 kB

And:

$ emerge --pretend --depclean --with-bdeps=y --verbose subversion
!!! You have no system list.
!!! Proceeding is likely to break your installation.

Calculating dependencies  .... done!
  dev-vcs/subversion-1.7.14 pulled in by:
    kde-base/oxygen-icons-4.12.49.9999 requires dev-vcs/subversion[webdav-neon]

>>> No packages selected for removal by depclean
Packages installed:   869
Packages in world:    339
Packages in system:   0
Required packages:    869
Number to remove:     0


Of course oxygen-icons-4.12.49.9999 is the live version from the kde overlay, but its subversion dep ultimately traces back to subversion.eclass in the main gentoo repo.

In the ebuild:

KDE_SCM="svn"
inherit kde4-base

In kde4-base.eclass:

inherit kde4-functions

In kde4-functions.eclass:

# determine the build type
if [[ ${PV} = *9999* ]]; then
        KDE_BUILD_TYPE="live"
else
        KDE_BUILD_TYPE="release"
fi
export KDE_BUILD_TYPE

Back in kde4-base.eclass:

if [[ ${KDE_BUILD_TYPE} = live ]]; then
        case ${KDE_SCM} in
                svn) inherit subversion ;;
                git) inherit git-r3 ;;
        esac
fi

In subversion.eclass (in the gentoo tree):

case "${EAPI:-0}" in
        0|1)
                EXPORT_FUNCTIONS src_unpack pkg_preinst
                DEPEND="dev-vcs/subversion"
                ;;
        *)
                EXPORT_FUNCTIONS src_unpack src_prepare pkg_preinst
                DEPEND="|| ( dev-vcs/subversion[http] dev-vcs/subversion[webdav-neon] dev-vcs/subversion
                ;;
esac


Perhaps portage's failure to detect the candidate update is due to the change in required-use, since the currently installed subversion-1.7.4 is filling it with USE=webdav-neon, while the new version doesn't have that flag and would fill it with USE=http, which would require a USE flag change since currently USE=-http (well, it's unset with -* in USE)?

If that's the case, since I used --deep and --with-bdeps=y, shouldn't it still alert me to the change, with the same required USE change warning it gives me when I try either specifically emerging subversion or do an emerge --empty-tree @world?

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by kde-base/oxygen-icons-4.12.49.9999::kde
# required by kde-base/kbounce-4.12.49.9999::kde
# required by @jed.kde.base.kdegames
# required by @selected
# required by @world (argument)
>=dev-vcs/subversion-1.8.5 http


Meanwhile, note that I discovered the update when I tried to merge a different live-kde package that requires subversion via the exact same kde4-base/kde4-functions/subversion eclass inheritance thread detailed above:

$ emerge --with-bdeps=y --pretend --update --deep kde-base-artwork 

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

Calculating dependencies  ..... done!
[ebuild  N     ] dev-util/scons-2.3.0  USE="-doc" PYTHON_TARGETS="python2_7 -python2_6" 
[ebuild     U  ] dev-libs/apr-1.5.0-r2 [1.5.0]
[ebuild     U  ] dev-libs/apr-util-1.5.3-r1 [1.5.3]
[ebuild  N     ] net-libs/serf-1.3.3  USE="-kerberos" 
[ebuild     U  ] dev-vcs/subversion-1.8.5 [1.7.14] USE="http%*" 
[ebuild  N    *] kde-base/kde-base-artwork-4.11.49.9999  USE="(-aqua)" 

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by kde-base/kde-base-artwork-4.11.49.9999::kde
# required by kde-base-artwork (argument)
>=dev-vcs/subversion-1.8.5 http

But the exact same command for oxygen-icons, already installed, doesn't prompt for the update despite --update --deep --with-bdeps=y

$ emerge --with-bdeps=y --pretend --update --deep oxygen-icons

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

Calculating dependencies  .... done!

[nothing]


Actually, I believe it *IS* the required-use change, since being about thru filing this bug I decided to set HTTP in my USE flags in preparation for doing the merge manually, and once I did so, I again tried the above command and THIS time it wants to do the merge:

$ emerge --with-bdeps=y --pretend --update --deep oxygen-icons

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

Calculating dependencies  ..... done!
[ebuild  N     ] dev-util/scons-2.3.0  USE="-doc" PYTHON_TARGETS="python2_7 -python2_6" 
[ebuild     U  ] dev-libs/apr-1.5.0-r2 [1.5.0]
[ebuild     U  ] dev-libs/apr-util-1.5.3-r1 [1.5.3]
[ebuild  N     ] net-libs/serf-1.3.3  USE="-kerberos" 
[ebuild     U  ] dev-vcs/subversion-1.8.5 [1.7.14] USE="http%*" 


So the required-use change is unexpectedly taking precedence over the specifically expressed --update --deep --with-bdeps=y, despite the clearly expressed intentions of the user feeding in those options. =:^(
Comment 1 Sebastian Luther (few) 2014-02-06 18:53:31 UTC
Please post your emerge --info and the output of "emerge --with-bdeps=y --pretend --update --deep oxygen-icons --debug" with the http flag disabled (your second last example).
Comment 2 Duncan 2014-02-06 19:14:35 UTC
Created attachment 369716 [details]
emerge --info
Comment 3 Duncan 2014-02-06 19:37:23 UTC
Created attachment 369720 [details]
emerge -puD --debug oxygen-icons

Thanks.  Sorry about forgetting --info at first.  It has been so long since I filed a bug that actually needed it that...

Anyway here's the debug, compressed to *.xz as bugzilla said it was too big uncompressed.  However...

1) This is after I already did the subversion upgrade.  If you need me to revert to the old version and run it again, I can.

2) This is a STDOUT redirect.  But I still got a lot of on-screen output, presumably from STDERR.  You didn't specify, do you need STDERR too?  If so do you want /just/ it posted now, or would a combined file of both STDOUT/STDERR be more useful?
Comment 4 Sebastian Luther (few) 2014-02-06 19:49:24 UTC
(In reply to Duncan from comment #3)
> 
> 1) This is after I already did the subversion upgrade.  If you need me to
> revert to the old version and run it again, I can.

Is there some problem left? If yes, please explain what it is, if not then you'll need to revert.

> 
> 2) This is a STDOUT redirect.  But I still got a lot of on-screen output,
> presumably from STDERR.  You didn't specify, do you need STDERR too?  If so
> do you want /just/ it posted now, or would a combined file of both
> STDOUT/STDERR be more useful?

Just do:
emerge --with-bdeps=y --pretend --update --deep oxygen-icons --debug &> log
Comment 5 Duncan 2014-07-24 12:58:17 UTC
Closing this as I didn't get around to that revert and retry, and things are enough changed by now that I'm not sure it's relevant any longer.  Resolved/worksforme since I manually did the upgrade.