Skip to content
This repository has been archived by the owner on Nov 28, 2023. It is now read-only.

PYTHON_SINGLE_TARGET isn't supported well #9

Closed
juippis opened this issue Jan 26, 2021 · 7 comments
Closed

PYTHON_SINGLE_TARGET isn't supported well #9

juippis opened this issue Jan 26, 2021 · 7 comments
Labels
bug Something isn't working
Milestone

Comments

@juippis
Copy link
Contributor

juippis commented Jan 26, 2021

Calculating dependencies... done!
[ebuild  N     ] sys-cluster/glusterfs-7.9:0/7::testworld  USE="emacs (libtirpc) rsyslog static-libs syslog xml -debug -fuse -georeplication -infiniband -ipv6 -libressl -test" PYTHON_SINGLE_TARGET="python3_7 python3_8 python3_9" 0 KiB

Total: 1 package (1 new), Size of downloads: 0 KiB

>>> Verifying ebuild manifests
>>> Emerging (1 of 1) sys-cluster/glusterfs-7.9::testworld
>>> Failed to emerge sys-cluster/glusterfs-7.9, Log file:
>>>  '/var/tmp/portage/sys-cluster/glusterfs-7.9/temp/build.log'
>>> Jobs: 0 of 1 complete, 1 failed                 Load avg: 1.90, 1.54, 0.71
 * Package:    sys-cluster/glusterfs-7.9
 * Repository: testworld
 * Maintainer: jaco@uls.co.za jpds@protonmail.com,cluster@gentoo.org,proxy-maint@gentoo.org
 * USE:        abi_x86_64 amd64 elibc_glibc emacs kernel_linux libtirpc python_single_target_python3_7 python_single_target_python3_8 python_single_target_python3_9 rsyslog static-libs syslog userland_GNU xml
 * FEATURES:   network-sandbox preserve-libs sandbox test userpriv usersandbox
 * Using python3.7 to build
 * Your PYTHON_SINGLE_TARGET setting lists more than a single Python
 * implementation. Please set it to just one value. If you need
 * to override the value for a single package, please use package.env
 * or an equivalent solution (man 5 portage).

 * ERROR: sys-cluster/glusterfs-7.9::testworld failed (setup phase):
 *   More than one implementation in PYTHON_SINGLE_TARGET.
@slashbeast slashbeast added the bug Something isn't working label Jan 30, 2021
@slashbeast
Copy link
Owner

slashbeast commented Jan 30, 2021

I will fix it by quering PYTHON_SINGLE_TARGET and PYTHON_TARGETS from the current setup and always append it to the list of USE that is passed around.

@waebbl
Copy link

waebbl commented Feb 14, 2021

Might this be because of https://github.com/slashbeast/pkg-testing-tools/blob/master/src/pkg_testing_tool/use.py#L34 ? AFAIK there's no python_target_ prefix for any USE_EXPAND value, but python_single_target_.

@juippis
Copy link
Contributor Author

juippis commented Feb 15, 2021

Also this needs to be done for LUA_SINGLE_TARGET_LUA5_* too. Ideally you'd match LUA_SINGLE_TARGET with LUA_TARGETS, and same with python.

@slashbeast
Copy link
Owner

Yes, this is correct. This all comes from the idea to not shuffle around PYTHON_TARGETS and such. So the best would be to actually load the all USE_EXTEND and append them as the static, unchangable USE when shuffling, making sure the portage API that I use to validate USE flags set does not trigger false negatives like it does now.

@APN-Pucky
Copy link
Contributor

APN-Pucky commented Jul 27, 2022

My workaround goes like this

[...] --append-required-use "^^ ( python_single_target_python3_10 python_single_target_python3_9 python_single_target_python3_8 )"

with the obvious disadvantage that one sort of needs to specify a list of *_single_* targets.

@slashbeast
Copy link
Owner

I have a snippet that does exactly what is required inside gentoolkit's flag.py, I just need to port it. It will have logic of 'pull from system' flags and append them to check, meaning if we ignore PYTHON_* flags, those will be pulled out of the make.conf.

The time however to work on it is very limited.

@slashbeast slashbeast added this to the 0.2.0 milestone Mar 1, 2023
@slashbeast
Copy link
Owner

Project now being archived and turned into read-only, no further development will happen in this repository.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants