Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 878481

Summary: games-util/xboxdrv: has_version's scons during pkg_setup via python_check_deps, breaking binpkgs
Product: Gentoo Linux Reporter: John Helmert III <ajak>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: RESOLVED DUPLICATE    
Severity: normal CC: mgorny
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log

Description John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-10-27 22:40:05 UTC
Created attachment 825661 [details]
build.log

I'm unable to install an games-util/xboxdrv binpkg because it checks for scons being present unconditionally via the scons-utils eclass:

if [[ -n ${SCONS_MIN_VERSION} ]]; then
    SCONS_DEPEND=">=dev-util/scons-${SCONS_MIN_VERSION}"
else
    SCONS_DEPEND="dev-util/scons"
fi

if [[ ${_PYTHON_ANY_R1} ]]; then

    BDEPEND="$(python_gen_any_dep "${SCONS_DEPEND}[\${PYTHON_USEDEP}]")"

    scons-utils_python_check_deps() {
        has_version "${SCONS_DEPEND}[${PYTHON_USEDEP}]"
    }
    python_check_deps() { scons-utils_python_check_deps; }

Not quite sure what the right thing to do would be. In this case, it is indeed an accident that the bdeps aren't installed, but that shouldn't break the binpkg installation.

mnt ~ # emerge -qpvG xboxdrv  --with-bdeps=y
[binary  N    ] dev-util/glib-utils-2.74.1-1  PYTHON_SINGLE_TARGET="python3_10 -python3_8 -python3_9 -python3_11"
[binary  N    ] dev-util/scons-4.4.0-1  USE="-doc -test" PYTHON_TARGETS="python3_10 -python3_8 -python3_9"
[binary  N    ] games-util/xboxdrv-0.8.8_p20190118-r1-7

mnt ~ # emerge -qpvG xboxdrv
[binary  N    ] games-util/xboxdrv-0.8.8_p20190118-r1-7
Comment 1 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2022-10-28 05:25:09 UTC
The eclass doesn't declare pkg_setup, and both python eclasses do it right.  It's the package explicitly overriding pkg_setup and calling python_setup instead of python-any-r1_pkg_setup.
Comment 2 John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-10-29 03:14:41 UTC
Right, sorry! I was confused by an eclass comment somewhere.
Comment 3 John Helmert III archtester Gentoo Infrastructure gentoo-dev Security 2022-10-30 02:07:01 UTC
Aha, and this is a duplicate at that. Sorry for the noise.

*** This bug has been marked as a duplicate of bug 776601 ***