Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 654608 - qmerge cannot download from a binhost whose Packages are generated with FEATURES=binpkg-multi-instance
Summary: qmerge cannot download from a binhost whose Packages are generated with FEATU...
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Third-Party Tools (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-02 13:12 UTC by Daniel Cordero
Modified: 2023-09-08 12:59 UTC (History)
1 user (show)

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 Daniel Cordero 2018-05-02 13:12:49 UTC
Portage, when building packages with FEATURES=binpkg-multi-instance, saves built packages to a different path name, e.g with build ID in the file name and xpak instead of tbz2 as the extension, compared to when FEATURES=-binpkg-multi-instance is (by default) set, e.g.:

-binpkg-multi-instance: $PKGDIR/sys-devel/make-4.1-r1.tbz2
+binpkg-multi-instance: $PKGDIR/sys-devel/bc/bc-1.06.95-r2-1.xpak

qmerge computes the path using the category, package name and version only:

https://gitweb.gentoo.org/proj/portage-utils.git/tree/qmerge.c?id=40c86daf547ed9f296d292e0ea8a87be741af90e#n1316

Reproducible: Always

Steps to Reproduce:
on binhost:
1. # rm -fr /usr/portage/packages
2. # FEATURES="binpkg-multi-instance" emerge --buildpkg $aPackage
3. # cd /usr/portage/packages && python -mhttp.server # serve this directory as a binhost on port 8000

on another machine:
1. PORTAGE_BINHOST="http://binhost.machine.ip.address:8000/" qmerge -y $thatSamePackage
Actual Results:  
After downloading and parsing of the Packages file, qmerge attempts to download a tbz2 file from the binhost, receives a 404 not found and exits

Expected Results:  
qmerge downloads and installs binary package(s) from the binhost

qmerge could use the PATH: information from the Packages file (or compute it with other pieces of information in the Packages file such as BUILD_ID:).

It is also possible to have packages in a mixed configuration, if some packages have been built with FEATURES=-binpkg-multi-instance and (e.g. if later turned on in make.conf) FEATURES=binpkg-multi-instance (i.e. some packages with BUILD_IDs and .xpak format and some in .tbz2)
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-09-08 12:59:39 UTC
See also the work in https://github.com/gentoo/portage-utils/pull/16.

Not sure if that resolves this or not though (not checked).