Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 947340 - sys-apps/portage is giving incorrect "Change USE" hints when binary package with a subset of required flags is available
Summary: sys-apps/portage is giving incorrect "Change USE" hints when binary package w...
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Binary packages support (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-02 04:37 UTC by Michał Górny
Modified: 2025-01-02 04:37 UTC (History)
0 users

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


Attachments
emerge --info (emerge-info.txt,8.42 KB, text/plain)
2025-01-02 04:37 UTC, Michał Górny
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-02 04:37:39 UTC
Created attachment 915715 [details]
emerge --info

1. I have added python3_13 to PYTHON_COMPAT of dev-python/bitstring.

2. dev-python/gfloat doesn't have python3_13.

3. I have six binpackages for dev-python/gfloat-0.4: -3 and -4 were built with python3_12 only, while the rest (-1, -2, -5, -6) were built with 3.10+3.11+3.12.


Without using binpackages, emerge gives the correct hint that no version of bitstring supports 3.13:

# emerge -vu bitstring  

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

Calculating dependencies... done!
Dependency resolution took 0.96 s (backtrack: 0/20).


emerge: there are no ebuilds built with USE flags to satisfy ">=dev-python/gfloat-0.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?]".
!!! One of the following packages is required to complete your request:
- dev-python/bitstring-4.3.0::gentoo (Change USE: -python_targets_python3_13)
(dependency required by "dev-python/bitstring-4.3.0::gentoo" [ebuild])
(dependency required by "bitstring" [argument])


But if I add `-k`, it claims:

# emerge -vu bitstring  -k

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

Calculating dependencies... done!
Dependency resolution took 0.99 s (backtrack: 0/20).


emerge: there are no ebuilds built with USE flags to satisfy ">=dev-python/gfloat-0.1[python_targets_python3_10(-)?,python_targets_python3_11(-)?,python_targets_python3_12(-)?,python_targets_python3_13(-)?]".
!!! One of the following packages is required to complete your request:
- dev-python/gfloat-0.4::gentoo (Change USE: +python_targets_python3_10 +python_targets_python3_11)
- dev-python/bitstring-4.3.0::gentoo (Change USE: -python_targets_python3_13)
(dependency required by "dev-python/bitstring-4.3.0::gentoo" [ebuild])
(dependency required by "bitstring" [argument])


My guess is that it's getting confused by the reason for rejecting -3/-4 binpackages -- but then, they wouldn't satisfy the dep because they don't have a 3.13 anyway.

==> gfloat-0.4-1/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 test

==> gfloat-0.4-2/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10 python_targets_python3_11 python_targets_python3_12

==> gfloat-0.4-3/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_12 test test-rust

==> gfloat-0.4-4/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_12 test test-rust

==> gfloat-0.4-5/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 test-rust

==> gfloat-0.4-6/metadata/USE <==
abi_x86_64 amd64 elibc_glibc kernel_linux python_targets_python3_10 python_targets_python3_11 python_targets_python3_12 test test-rust