Bug 2417962

Summary: python-fastrlock fails to build with pip 25.3
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: python-fastrlockAssignee: Tom.Rix
Status: POST --- QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: Tom.Rix
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2384424, 2406299    

Description Miro Hrončok 2025-12-01 09:51:35 UTC
Description of problem:
We want to update pip from 25.2 to 25.3 in Rawhide but python-fastrlock fails to build:

https://copr.fedorainfracloud.org/coprs/churchyard/pip-25.3/package/python-fastrlock/


+ /usr/bin/python3 -m tox --current-env --assert-config -q --recreate -e py314
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: pytest in /usr/lib/python3.14/site-packages (8.4.2)
Requirement already satisfied: Cython<3.2,>=3.0.11 in /usr/lib64/python3.14/site-packages (from -r requirements.txt (line 1)) (3.1.6)
Requirement already satisfied: setuptools in /usr/lib/python3.14/site-packages (from -r requirements.txt (line 2)) (80.9.0)
Requirement already satisfied: wheel in /usr/lib/python3.14/site-packages (from -r requirements.txt (line 3)) (0.45.1)
Requirement already satisfied: iniconfig>=1 in /usr/lib/python3.14/site-packages (from pytest) (2.1.0)
Requirement already satisfied: packaging>=20 in /usr/lib/python3.14/site-packages (from pytest) (25.0)
Requirement already satisfied: pluggy<2,>=1.5 in /usr/lib/python3.14/site-packages (from pytest) (1.6.0)
Requirement already satisfied: pygments>=2.7.2 in /usr/lib/python3.14/site-packages (from pytest) (2.19.1)
/usr/lib/python3.14/site-packages/setuptools/_distutils/dist.py:289: UserWarning: Unknown distribution option: 'test_suite'
  warnings.warn(msg)
/usr/lib/python3.14/site-packages/setuptools/dist.py:759: SetuptoolsDeprecationWarning: License classifiers are deprecated.
!!

        ********************************************************************************
        Please consider removing the following classifiers in favor of a SPDX license expression:

        License :: OSI Approved :: MIT License

        See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
        ********************************************************************************

!!
  self._finalize_license_expression()
building without Cython
running build_ext
copying build/lib.linux-x86_64-cpython-314/fastrlock/rlock.cpython-314-x86_64-linux-gnu.so -> fastrlock
Defaulting to user installation because normal site-packages is not writeable
Processing /builddir/build/BUILD/python-fastrlock-0.8.3-build/fastrlock-0.8.3
  Installing build dependencies: started
  Installing build dependencies: finished with status 'error'
  error: subprocess-exited-with-error
  
  × installing build dependencies did not run successfully.
  │ exit code: 1
  ╰─> [7 lines of output]
      WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fdaf2cf6660>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
      WARNING: Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fdaf2cbf250>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
      WARNING: Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fdaf2cbf390>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
      WARNING: Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fdaf2cbf4d0>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
      WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fdaf2cbf610>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/setuptools/
      ERROR: Could not find a version that satisfies the requirement setuptools>=40.8.0 (from versions: none)
      ERROR: No matching distribution found for setuptools>=40.8.0
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build 'file:///builddir/build/BUILD/python-fastrlock-0.8.3-build/fastrlock-0.8.3' when installing build dependencies
py314: exit 1 (8.18 seconds) /builddir/build/BUILD/python-fastrlock-0.8.3-build/fastrlock-0.8.3> python -m pip install . pid=360
  py314: FAIL code 1 (8.86 seconds)
  evaluation failed :( (8.91 seconds)



This looks like the following change in pip:

https://pip.pypa.io/en/stable/news/#v25-3

"""
Remove support for the deprecated setup.py bdist_wheel mechanism. Consequently, --use-pep517 is now always on, and --no-use-pep517 has been removed.
"""

https://github.com/pypa/pip/issues/6334


As a workaround, try building the package with PIP_NO_BUILD_ISOLATION=0 set -- that disables build isolation (which is a tad confusing, see https://github.com/pypa/pip/issues/5735).


Version-Release number of selected component (if applicable): 0.8.3-9.fc44

Steps to Reproduce: Build the package from distgit using our copr linked above. E.g.:

fedpkg --release rawhide mockbuild -- --addrepo=https://download.copr.fedorainfracloud.org/results/churchyard/pip-25.3/fedora-rawhide-x86_64

Comment 1 Miro Hrončok 2025-12-01 19:19:08 UTC
In this package, the reason for the failure is a tad weird. tox calls:

commands_pre =
    python -m pip install pytest -r requirements.txt
    python setup.py build_ext -i
    python -m pip install .

And the final installation fails here. While PIP_NO_BUILD_ISOLATION=0 might make this go away, a proper fix is not to ever do this. I tried at https://github.com/scoder/fastrlock/pull/22 however the fact that the tests are a subpackage of fastrlock makes this a complicated case.

Anyway, this fixes it: https://src.fedoraproject.org/rpms/python-fastrlock/pull-request/3