prunerepo fails to build with Python 3.9.0a3. ============================ test basic functionality ============================ rm: cannot remove '/builddir/build/BUILD/prunerepo/tests/base/repo-test': No such file or directory + /builddir/build/BUILD/prunerepo/tests/../prunerepo --verbose . warning: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 3a1ce3e4: NOKEY warning: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-debuginfo-1.0.2-2.fc23.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 3a1ce3e4: NOKEY warning: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 3a1ce3e4: NOKEY warning: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-debuginfo-1.0.1-1.fc23.x86_64.rpm: Header V3 RSA/SHA1 Signature, key ID 3a1ce3e4: NOKEY GLib: Critical: g_async_queue_lock: assertion 'queue' failed GLib: Critical: g_async_queue_push_unlocked: assertion 'queue' failed GLib: Critical: _g_async_queue_get_mutex: assertion 'queue' failed Removing obsoleted packages... Executing: dnf repoquery --repofrompath=prunerepo_query,/builddir/build/BUILD/prunerepo/tests/base/repo-test --repo=prunerepo_query --refresh --queryformat=%{location} --quiet --setopt=skip_if_unavailable=False --latest-limit=1 Executing: dnf repoquery --repofrompath=prunerepo_query,/builddir/build/BUILD/prunerepo/tests/base/repo-test --repo=prunerepo_query --refresh --queryformat=%{location} --quiet --setopt=skip_if_unavailable=False Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.x86_64.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-debuginfo-1.0.2-2.fc23.x86_64.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/2-secondlatestpkg/example-1.0.2-2.fc23.x86_64.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-1.0.1-1.fc23.src.rpm Removing: /builddir/build/BUILD/prunerepo/tests/base/repo-test/0-oldestbuild/example-debuginfo-1.0.1-1.fc23.x86_64.rpm Recreating repository... Executing: /usr/bin/createrepo_c --database --update --local-sqlite --cachedir /tmp/ --workers 8 . > ls 0-oldestbuild/*.rpm ls: cannot access '0-oldestbuild/*.rpm': No such file or directory > ls 1-norpmsinside/*.rpm ls: cannot access '1-norpmsinside/*.rpm': No such file or directory > ls 2-secondlatestpkg/*.rpm ls: cannot access '2-secondlatestpkg/*.rpm': No such file or directory > [[ `ls 3-latestpkg/example-1.0.3-2.fc23.src.rpm 3-latestpkg/example-1.0.3-2.fc23.x86_64.rpm 3-latestpkg/example-debuginfo-1.0.3-2.fc23.x86_64.rpm | wc -l` == 3 ]] > [[ `listpkgsbyfs` == `listpkgsbyrepo` ]] fail. RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.zXwAju (%check) For the build logs, see: https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01197840-prunerepo/ For all our attempts to build prunerepo with Python 3.9, see: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/prunerepo/ 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.9: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/ Let us know here if you have any questions. Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9. 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.
Hey @clime, I fixed "assigned_to" flag here to correct email addres, do you receive the emails by default?
Probably not by default. Thank for assigning. Will check.
I tried mock -r fedora-rawhide-python39 --enablerepo=local --rebuild /home/clime/releng/prunerepo/prunerepo-1.17-2.fc32.src.rpm according to the instructions on the copr page but it builds fine for me: ... Finish: rpmbuild prunerepo-1.17-2.fc32.src.rpm Finish: build phase for prunerepo-1.17-2.fc32.src.rpm INFO: Done(/home/clime/releng/prunerepo/prunerepo-1.17-2.fc32.src.rpm) Config(fedora-rawhide-python39) 4 minutes 27 seconds INFO: Results and/or logs in: /var/lib/mock/fedora-rawhide-python39/result Finish: run All tests passed. Idk what was wrong there :(. Either: function listpkgsbyrepo { dnf repoquery --repofrompath=test_prunerepo,$testrepo --repo=test_prunerepo --refresh --quiet --queryformat '%{location}' | sort } or function listpkgsbyfs { find . -name '*.rpm' | cut -c 3- | sort } didn't return the right results.
Thanks. It worked in copr for the second time as well, probably something is just flaky, or the planets were wrongly aligned before.
(In reply to clime7 from comment #3) > Idk what was wrong there :(. Either: > > function listpkgsbyrepo { > dnf repoquery --repofrompath=test_prunerepo,$testrepo > --repo=test_prunerepo --refresh --quiet --queryformat '%{location}' | sort skip_if_unavailable again? > } > > or > > function listpkgsbyfs { > find . -name '*.rpm' | cut -c 3- | sort > } > > didn't return the right results. Locale? I'm asking because such problems can lead to fatal problems on copr-backend.
(In reply to Pavel Raiskup from comment #5) > (In reply to clime7 from comment #3) > > Idk what was wrong there :(. Either: > > > > function listpkgsbyrepo { > > dnf repoquery --repofrompath=test_prunerepo,$testrepo > > --repo=test_prunerepo --refresh --quiet --queryformat '%{location}' | sort > > skip_if_unavailable again? That is a probable reason, yes. It makes test more susceptible to failure. > > > } > > > > or > > > > function listpkgsbyfs { > > find . -name '*.rpm' | cut -c 3- | sort > > } > > > > didn't return the right results. > > Locale? Locale shouldn't be the problem. it is the same for both of the commands. > > I'm asking because such problems can lead to fatal problems on copr-backend. I think the problem here is that the test can fail occassionaly but when it succeeds, it still means something. I will add skip_if_unavailable=false to the listpkgsbyrepo function for the dnf command. I think it will resolve this issue for the future.
Actually, i will need to revisit what the exact behavior of dnf is for that opt.