Hello Fedora EPEL maintainers!
First I don't feel comfortable announcing this, I'm not happy about the
situation and so I don't want to be the lightning rod :-). But I believe
that we can come to acceptable Copr/Mock solution and this needs to be
discussed... so here we are.
By the end of the year 2021 we have to fix our default EPEL 8 Mock
configuration (mock-core-configs.rpm, /etc/mock/epel-8-*.cfg) as CentOS 8
goes EOL by then.
The same thing needs to happen in Fedora Copr, with the epel-8-* chroots
(side note, in Fedora Copr we use the mock-core-configs package for builds
without any deployment specific modifications).
I am proposing (as PR against mock upstream ATM [1]) to switch the default
epel-* configuration from CentOS+EPEL to RHEL+EPEL as soon as possible
(see the pull request [1]).
This would bring some consequences, namely newly with epel-8* chroots,
- builds will require a valid Red Hat subscription (the no-cost variant is
OK as well, though [2])
- we will miss some build-time packages that Red Hat is not shipping, at
least at the beginning till they are added (to RHEL CRB, or other
currently unknown place).
- cross-arch compilation can not be used, Red Hat subscriptions don't
allow that (using QEMU and rpm --forcearch), [3]
The positive thing is that the default configuration will be much closer
to the official EPEL builds (because Fedora Koji EPEL builds are actually done
also against RHEL).
For the Fedora Copr builders, we already have the necessary Red Hat
subscriptions in hand (will be deployed by the end of the year). So we will
only loose the opportunity to build on emulated epel-8-armhfp permanently, and
epel-8-s390x temporarily (as we already work on the native s390x support).
Any thoughts? Feedback is needed here.
[1] https://github.com/rpm-software-management/mock/pull/802
[2] https://rpm-software-management.github.io/mock/Feature-rhelchroots
[3] https://bugzilla.redhat.com/show_bug.cgi?id=1912847
Pavel
I'm trying to package my PyPI config-path package.
Its failing to build:
https://copr.fedorainfracloud.org/coprs/barryascott/tools/build/6487785/
The log
https://download.copr.fedorainfracloud.org/results/barryascott/tools/srpm-b…
I see no error message that is actionable only report of failure.
The log tells me that I can do the build locally.
I have followed these steps to check the build locally on my up to date f38:
sudo dnf install copr-rpmbuild
/usr/bin/copr-rpmbuild --verbose --drop-resultdir --srpm --task-url
https://copr.fedorainfracloud.org/backend/get-srpm-build-task/6487785
I also needed to sudo dnf install pyp2spec
Then I needed to set /etc/mock/default.cfg to point to an existing cfg,
it was pointing to fedoara-35-x86_64.cfg
I set it to fedora-38-x86_64.cfg.
This build completes without error and I have a .src.rpm created.
I also set /etc/mock/default.cfg to point to fedora-rawhide-x86_64 as
the copr build log suggests
that is what using and the build succeeded as well.
I can then use mock to build the binary rpm:
mock -r fedora-38-x86_64 --rebuild
/var/lib/copr-rpmbuild/results/python-config-path-1.0.5-1.src.rpm
Which creates:
$ ll /var/lib/mock/fedora-38-x86_64/result
total 368
-rw-rw-r--. 1 barry 55899 2023-10-03 21:00:35 build.log
-rw-rw-r--. 1 barry  3454 2023-10-03 21:00:14 hw_info.log
-rw-rw-r--. 1 barry 15194 2023-10-03 21:00:24 installed_pkgs.log
-rw-r--r--. 1 barry 19114 2023-10-03 21:00:35
python3-config-path-1.0.5-1.fc38.noarch.rpm
-rw-r--r--. 1 barry 29486 2023-10-03 21:00:35
python-config-path-1.0.5-1.fc38.src.rpm
-rw-rw-r--. 1 barry 238389 2023-10-03 21:00:35 root.log
-rw-rw-r--. 1 barry  1414 2023-10-03 21:00:35 state.log
Why does it fail at copr.fedorainfracloud.org but work locally?
Barry