Bug 2480529 - python-pdm-backend: FTBFS in Fedora Rawhide: AssertionError: assert 'demo_package.pth' in ['.gitignore', '_editable_impl_demo_package.pth', 'demo_package-0.1.0.dist-info/METADATA', 'demo_package-0.1.0.dist-info/WHEEL', 'demo_package-0.1.0.dist-info/entry_
Summary: python-pdm-backend: FTBFS in Fedora Rawhide: AssertionError: assert 'demo_pac...
Keywords:
Status: POST
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pdm-backend
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Karolina Surma
QA Contact:
URL: https://koschei.fedoraproject.org/pac...
Whiteboard:
Depends On:
Blocks: PYTHON3.15 F45FTBFS, RAWHIDEFTBFS
TreeView+ depends on / blocked
 
Reported: 2026-05-21 15:11 UTC by Karolina Surma
Modified: 2026-05-22 08:21 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2026-05-21 15:11:23 UTC
Description of problem:
Package python-pdm-backend fails to build from source in Fedora Rawhide. Judging from koschei diffs, probably caused by editables update.

Version-Release number of selected component (if applicable):
2.4.8-1.fc45

Steps to Reproduce:
koji build --scratch f45 python-pdm-backend-2.4.8-1.fc45.src.rpm

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/python-pdm-backend

Reproducible: Always

Actual Results:
______________________ test_build_editable[demo-package] _______________________
dist = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_demo_packa0/dist')
fixture_project = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_demo_packa0/demo-package')
    @pytest.mark.parametrize("name", ["demo-package"])
    def test_build_editable(dist: Path, fixture_project: Path) -> None:
        wheel_name = api.build_editable(dist.as_posix())
        assert api.get_requires_for_build_editable() == []
        with zipfile.ZipFile(dist / wheel_name) as zf:
            namelist = zf.namelist()
>           assert "demo_package.pth" in namelist
E           AssertionError: assert 'demo_package.pth' in ['.gitignore', '_editable_impl_demo_package.pth', '_editable_impl_demo_package.py', 'demo_package-0.1.0.dist-info/METADATA', 'demo_package-0.1.0.dist-info/WHEEL', 'demo_package-0.1.0.dist-info/entry_points.txt', ...]
/builddir/build/BUILD/python-pdm-backend-2.4.8-build/pdm_backend-2.4.8/tests/test_api.py:320: AssertionError
----------------------------- Captured stdout call -----------------------------
 - Adding .pdm-build/.gitignore -> .gitignore
 - Adding .pdm-build/_editable_impl_demo_package.pth -> _editable_impl_demo_package.pth
 - Adding .pdm-build/_editable_impl_demo_package.py -> _editable_impl_demo_package.py
 - Adding .pdm-build/demo_package-0.1.0.dist-info/METADATA -> demo_package-0.1.0.dist-info/METADATA
 - Adding .pdm-build/demo_package-0.1.0.dist-info/WHEEL -> demo_package-0.1.0.dist-info/WHEEL
 - Adding .pdm-build/demo_package-0.1.0.dist-info/entry_points.txt -> demo_package-0.1.0.dist-info/entry_points.txt
 - Adding .pdm-build/demo_package-0.1.0.dist-info/licenses/LICENSE -> demo_package-0.1.0.dist-info/licenses/LICENSE
 - Adding demo_package-0.1.0.dist-info/RECORD -> demo_package-0.1.0.dist-info/RECORD
______________ test_build_editable_src[demo-src-package-include] _______________
dist = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_src_demo_s0/dist')
fixture_project = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_src_demo_s0/demo-src-package-include')
    @pytest.mark.parametrize("name", ["demo-src-package-include"])
    def test_build_editable_src(dist: Path, fixture_project: Path) -> None:
        wheel_name = api.build_editable(dist.as_posix())
    
        with zipfile.ZipFile(dist / wheel_name) as zf:
            namelist = zf.namelist()
>           assert "demo_package.pth" in namelist
E           AssertionError: assert 'demo_package.pth' in ['.gitignore', '_editable_impl_demo_package.pth', '_editable_impl_demo_package.py', 'data_out.json', 'demo_package-0.1.0.dist-info/METADATA', 'demo_package-0.1.0.dist-info/WHEEL', ...]
/builddir/build/BUILD/python-pdm-backend-2.4.8-build/pdm_backend-2.4.8/tests/test_api.py:348: AssertionError
----------------------------- Captured stdout call -----------------------------
 - Adding .pdm-build/.gitignore -> .gitignore
 - Adding .pdm-build/_editable_impl_demo_package.pth -> _editable_impl_demo_package.pth
 - Adding .pdm-build/_editable_impl_demo_package.py -> _editable_impl_demo_package.py
 - Adding data_out.json -> data_out.json
 - Adding .pdm-build/demo_package-0.1.0.dist-info/METADATA -> demo_package-0.1.0.dist-info/METADATA
 - Adding .pdm-build/demo_package-0.1.0.dist-info/WHEEL -> demo_package-0.1.0.dist-info/WHEEL
 - Adding .pdm-build/demo_package-0.1.0.dist-info/entry_points.txt -> demo_package-0.1.0.dist-info/entry_points.txt
 - Adding .pdm-build/demo_package-0.1.0.dist-info/licenses/LICENSE -> demo_package-0.1.0.dist-info/licenses/LICENSE
 - Adding demo_package-0.1.0.dist-info/RECORD -> demo_package-0.1.0.dist-info/RECORD
_______________ test_build_editable_pep420[demo-pep420-package] ________________
dist = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_pep420_dem0/dist')
fixture_project = PosixPath('/tmp/pytest-of-mockbuild/pytest-0/test_build_editable_pep420_dem0/demo-pep420-package')
    @pytest.mark.parametrize("name", ["demo-pep420-package"])
    def test_build_editable_pep420(dist: Path, fixture_project: Path) -> None:
        with pytest.warns(UserWarning) as recorded:
            wheel_name = api.build_editable(dist.as_posix())
    
        assert len(recorded) == 1
        assert str(recorded.pop().message).startswith("editables backend is not available")
    
        with zipfile.ZipFile(dist / wheel_name) as zf:
            namelist = zf.namelist()
>           assert "demo_package.pth" in namelist
E           AssertionError: assert 'demo_package.pth' in ['.gitignore', '_editable_impl_demo_package.pth', 'demo_package-0.1.0.dist-info/METADATA', 'demo_package-0.1.0.dist-info/WHEEL', 'demo_package-0.1.0.dist-info/entry_points.txt', 'demo_package-0.1.0.dist-info/licenses/LICENSE', ...]
/builddir/build/BUILD/python-pdm-backend-2.4.8-build/pdm_backend-2.4.8/tests/test_api.py:378: AssertionError
----------------------------- Captured stdout call -----------------------------
 - Adding .pdm-build/.gitignore -> .gitignore
 - Adding .pdm-build/_editable_impl_demo_package.pth -> _editable_impl_demo_package.pth
 - Adding .pdm-build/demo_package-0.1.0.dist-info/METADATA -> demo_package-0.1.0.dist-info/METADATA
 - Adding .pdm-build/demo_package-0.1.0.dist-info/WHEEL -> demo_package-0.1.0.dist-info/WHEEL
 - Adding .pdm-build/demo_package-0.1.0.dist-info/entry_points.txt -> demo_package-0.1.0.dist-info/entry_points.txt
 - Adding .pdm-build/demo_package-0.1.0.dist-info/licenses/LICENSE -> demo_package-0.1.0.dist-info/licenses/LICENSE
 - Adding demo_package-0.1.0.dist-info/RECORD -> demo_package-0.1.0.dist-info/RECORD
=========================== short test summary info ============================
FAILED tests/test_api.py::test_build_editable[demo-package] - AssertionError:...
FAILED tests/test_api.py::test_build_editable_src[demo-src-package-include]
FAILED tests/test_api.py::test_build_editable_pep420[demo-pep420-package] - A...
=================== 3 failed, 91 passed, 1 skipped in 16.81s ===================


Note You need to log in before you can comment on or make changes to this bug.