Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 741494 - FEATURES=getbinpkg causes @world dependencies to be missed
Summary: FEATURES=getbinpkg causes @world dependencies to be missed
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Dependencies (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-09-10 09:01 UTC by Daniel Harding
Modified: 2020-09-10 17:10 UTC (History)
0 users

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


Attachments
emerge --info (emerge.info,15.63 KB, application/x-info)
2020-09-10 09:01 UTC, Daniel Harding
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Harding 2020-09-10 09:01:05 UTC
Created attachment 659368 [details]
emerge --info

Ever since I began using FEATURES=getbinpkg, I've had a problem with @world updates missing some packages that need upgrading.  I'll provide an example to demonstrate what I mean.  First, with FEATURES=getbinpkg (enabled via make.conf):

    $ sudo emerge -puDN @world

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

    Calculating dependencies... done!

    Total: 0 packages, Size of downloads: 0 KiB

Then, with FEATURES=-getbinpkg explicitly on the command line:

    $ sudo FEATURES=-getbinpkg emerge -puDN @world

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

    Calculating dependencies... done!
    [ebuild     U  ] dev-lang/go-1.14.8:0/1.14.8::gentoo [1.14.7:0/1.14.7::gentoo] 22,008 KiB
    [ebuild     U  ] dev-perl/File-Which-1.230.0::gentoo [1.220.0::gentoo] USE="-pwhich* -test" 23 KiB
    [ebuild     U  ] dev-ruby/minitest-5.14.2:5::gentoo [5.14.1:5::gentoo] USE="-doc -test" RUBY_TARGETS="(-ruby24%) -ruby25 -ruby26 ruby27" 83 KiB

    Total: 3 packages (3 upgrades), Size of downloads: 22,114 KiB

If I explicitly specify the packages on the command line, everything works as expected:

    $ sudo emerge -p1 go File-Which minitest

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

    Calculating dependencies... done!
    [binary     U  ] dev-lang/go-1.15.1:0/1.15.1::gentoo [1.14.7:0/1.14.7::gentoo] 122,123 KiB
    [binary     U  ] dev-perl/File-Which-1.230.0::gentoo [1.220.0::gentoo] USE="-pwhich* -test" 27 KiB
    [ebuild     U  ] dev-ruby/minitest-5.14.2:5::gentoo [5.14.1:5::gentoo] USE="-doc -test" RUBY_TARGETS="(-ruby24%) -ruby25 -ruby26 ruby27" 83 KiB

    Total: 3 packages (3 upgrades, 2 binaries), Size of downloads: 122,232 KiB

Most dependencies get picked up correctly when running emerge -uDN @world, but there are often some that get missed unless I disable getbinpkg, but I haven't yet been able to figure out the cause.
Comment 1 Daniel Harding 2020-09-10 12:51:00 UTC
I dug into the cases from the example below, and it seems that getbinpkg causes BDEPEND (and possibly PDEPEND) dependencies to be ignored.  Here's what pulls in each of those packages:

    dev-lang/go:  listed as a BDEPEND of net-p2p/syncthing.  However, syncthing is built locally and does not come from the binary package server.

    dev-perl/File-Which:  listed as an RDEPEND of dev-perl/Alien-Build, which in turn is listed as a BDEPEND of dev-perl/Alien-Libxml2

    dev-ruby/minitest:  listed as a PDEPEND of dev-lang/ruby.  Again, dev-lang/ruby is built locally and does not come from the binary package server.
Comment 2 Zac Medico gentoo-dev 2020-09-10 16:08:50 UTC
You need to use --with-bdeps=y if you want to force BDEPEND to be installed for binary packages.
Comment 3 Zac Medico gentoo-dev 2020-09-10 16:10:51 UTC
Note that behavior that you see is a result of the --with-bdeps-auto option which was added for bug 598444.
Comment 4 Zac Medico gentoo-dev 2020-09-10 16:12:49 UTC
Also note that changing the default behavior would be disruptive to existing users of binary packages, which is why you need to explicitly specify --with-bdeps=y if you want the BDEPEND.
Comment 5 Daniel Harding 2020-09-10 17:10:52 UTC
Yep, --with-bdeps=y fixed it for me.  Sorry for the noise - I did search through the man pages before filing, but didn't use the right queries.