Bug 2264414 - pungi fails to build in Rawhide: AssertionError: tests/test_gather.py::DNFDepsolvingTestCase::test_multilib_method_devel_runtime
Summary: pungi fails to build in Rawhide: AssertionError: tests/test_gather.py::DNFDep...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: pungi
Version: rawhide
Hardware: Unspecified
OS: Unspecified
high
unspecified
Target Milestone: ---
Assignee: Lubomír Sedlář
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F41FTBFS PYTHON3.13
TreeView+ depends on / blocked
 
Reported: 2024-02-15 13:21 UTC by Karolina Surma
Modified: 2024-05-06 09:45 UTC (History)
7 users (show)

Fixed In Version: pungi-4.6.2-1.fc41
Clone Of:
Environment:
Last Closed: 2024-05-06 09:45:18 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Karolina Surma 2024-02-15 13:21:28 UTC
pungi fails to build with Python 3.13.0a3.


=================================== FAILURES ===================================
___________ DNFDepsolvingTestCase.test_multilib_method_devel_runtime ___________

self = <tests.test_gather.DNFDepsolvingTestCase testMethod=test_multilib_method_devel_runtime>

    def test_multilib_method_devel_runtime(self):
        packages = [
            "dummy-lvm2-devel",
        ]
        pkg_map = self.go(
            packages,
            None,
            greedy="none",
            fulltree=False,
            multilib_methods=["devel", "runtime"],
        )
    
>       six.assertCountEqual(
            self,
            pkg_map["rpm"],
            [
                "dummy-basesystem-10.0-6.noarch.rpm",
                "dummy-filesystem-4.2.37-6.x86_64.rpm",
                "dummy-glibc-2.14-5.x86_64.rpm",
                "dummy-glibc-2.14-5.i686.rpm",
                "dummy-glibc-common-2.14-5.x86_64.rpm",
                "dummy-lvm2-2.02.84-4.x86_64.rpm",
                "dummy-lvm2-devel-2.02.84-4.i686.rpm",  # Important
                "dummy-lvm2-devel-2.02.84-4.x86_64.rpm",  # Important
                "dummy-lvm2-libs-2.02.84-4.x86_64.rpm",
            ],
        )

tests/test_gather.py:2526: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.13/site-packages/six.py:695: in assertCountEqual
    return getattr(self, _assertCountEqual)(*args, **kwargs)
E   AssertionError: Element counts were not equal:
E   First has 0, Second has 1:  'dummy-glibc-2.14-5.i686.rpm'
------------------------------ Captured log call -------------------------------
DEBUG    dnf:logging.py:296 User-Agent: constructed: 'libdnf (Fedora Linux 41; generic; Linux.x86_64)'
INFO     dnf:repodict.py:94 Added test-repo repo from /builddir/build/BUILD/pungi-4.6.0/tests/fixtures/repos/repo
DEBUG    dnf:logging.py:296 repo: downloading from remote: test-repo
DEBUG    dnf:base.py:412 test-repo: using metadata from Fri Sep 27 12:37:48 2019.
DEBUG    gather_dnf:gather_dnf.py:211 Gather received gather_options=[
    fulltree=False
    fulltree_excludes=0 items
    resolve_deps=True
    selfhosting=False
    greedy_method=none
    langpacks=[]
    multilib_methods=['devel', 'runtime']
    multilib_blacklist=0 items
    multilib_whitelist=0 items
    lookaside_repos=[]
    prepopulate=0 items
    exclude_source=False
    exclude_debug=False
]
DEBUG    gather_dnf:gather_dnf.py:1010 INITIAL PACKAGES
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-lvm2-devel-2.02.84-4.x86_64
DEBUG    gather_dnf:gather_dnf.py:1083 PREPOPULATE
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 1
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-lvm2-2.02.84-4.x86_64 (pulled by dummy-lvm2-devel-2.02.84-4.x86_64, repo: test-repo) (Requires: dummy-lvm2 = 2.02.84-4) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 1
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 2
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-lvm2-libs-2.02.84-4.x86_64 (pulled by dummy-lvm2-2.02.84-4.x86_64, repo: test-repo) (Requires: dummy-lvm2-libs = 2.02.84-4) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-glibc-2.14-5.x86_64 (pulled by dummy-lvm2-2.02.84-4.x86_64, repo: test-repo) (Requires: dummy-glibc) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 2
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 3
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-glibc-common-2.14-5.x86_64 (pulled by dummy-glibc-2.14-5.x86_64, repo: test-repo) (Requires: dummy-glibc-common = 2.14-5) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-basesystem-10.0-6.noarch (pulled by dummy-glibc-2.14-5.x86_64, repo: test-repo) (Requires: dummy-basesystem) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 2
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 4
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-filesystem-4.2.37-6.x86_64 (pulled by dummy-basesystem-10.0-6.noarch, repo: test-repo) (Requires: dummy-filesystem) (binary-dep)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 1
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 5
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 4
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 6
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG PACKAGES
DEBUG    gather_dnf:gather_dnf.py:838 Added debuginfo dummy-lvm2-debuginfo-2.02.84-4.x86_64 (for dummy-lvm2-2.02.84-4.x86_64, repo: test-repo)
DEBUG    gather_dnf:gather_dnf.py:838 Added debuginfo dummy-glibc-debuginfo-2.14-5.x86_64 (for dummy-glibc-2.14-5.x86_64, repo: test-repo)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 2
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 7
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG DEPS
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-glibc-debuginfo-common-2.14-5.x86_64 (pulled by dummy-glibc-debuginfo-2.14-5.x86_64, repo: test-repo) (Requires: dummy-glibc-debuginfo-common(x86-64) = 2.14-5) (debug-dep)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 1
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 8
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 FULLTREE
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 LANGPACKS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 MULTILIB
DEBUG    gather_dnf:gather_dnf.py:373 Added package dummy-lvm2-devel-2.02.84-4.i686 (multilib:devel)
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 1
DEBUG    gather_dnf:gather_dnf.py:1020 PASS 9
DEBUG    gather_dnf:gather_dnf.py:1083 CONDITIONAL DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 BINARY DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 SOURCE PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG PACKAGES
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 DEBUG DEPS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 FULLTREE
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 LANGPACKS
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
DEBUG    gather_dnf:gather_dnf.py:1083 MULTILIB
DEBUG    gather_dnf:gather_dnf.py:1085 ADDED: 0
=========================== short test summary info ============================
FAILED tests/test_gather.py::DNFDepsolvingTestCase::test_multilib_method_devel_runtime
=========== 1 failed, 1080 passed, 66 skipped, 7 warnings in 17.22s ============


https://docs.python.org/3.13/whatsnew/3.13.html

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.13/fedora-rawhide-x86_64/07019658-pungi/

For all our attempts to build pungi with Python 3.13, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/package/pungi/

Testing and mass rebuild of packages is happening in copr.
You can follow these instructions to test locally in mock if your package builds with Python 3.13:
https://copr.fedorainfracloud.org/coprs/g/python/python3.13/

Let us know here if you have any questions.

Python 3.13 is planned to be included in Fedora 41.
To make that update smoother, we're building Fedora packages with all pre-releases of Python 3.13.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires),
so if this package is required a lot, it's important for us to get it fixed soon.

We'd appreciate help from the people who know this package best,
but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Miro Hrončok 2024-02-15 13:49:32 UTC
Seems copr-related rather than Python 3.13-related: https://copr.fedorainfracloud.org/coprs/churchyard/pungi/builds/

Comment 2 Lubomír Sedlář 2024-02-15 13:54:32 UTC
I have seen the same failure in rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=113218090
I didn't yet have time to dig into it and find out what's going on, but I plan to do that.

Comment 3 Miro Hrončok 2024-02-15 13:57:06 UTC
I bumped the priority in Koschei. It shows the failure now and some changes in the buildroot. https://koschei.fedoraproject.org/package/pungi

Comment 4 Miro Hrončok 2024-02-15 13:57:56 UTC
I would guess dnf 4.18 -> 4.19 is the main suspect.

Comment 5 Lubomír Sedlář 2024-02-15 14:29:43 UTC
This should fix it: https://pagure.io/pungi/pull-request/1725

Comment 6 Miro Hrončok 2024-04-23 12:31:35 UTC
Installable pungi is a requirement to install @critical-path-compose, raising priority.

Please backport the upstream fix.

Comment 7 Miro Hrončok 2024-05-06 09:45:18 UTC
Thanks.


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