78 lines
3.6 KiB
ReStructuredText
78 lines
3.6 KiB
ReStructuredText
.. _building_rpm_centos_stream:
|
|
|
|
Building RPM for CentOS Stream 8
|
|
================================
|
|
|
|
As part of your investigation ARC team tried to built mailman3 from Fedora `src.rpm` in
|
|
CentOS Stream 8 chroot.
|
|
|
|
This proven to be difficult and it's not possible without providing some patches to fix tests
|
|
for mailman3.
|
|
|
|
Resources
|
|
---------
|
|
|
|
* mailman3 COPR repository: https://copr.fedorainfracloud.org/coprs/zlopez/mailman3
|
|
|
|
Building RPM
|
|
------------
|
|
|
|
We started with
|
|
`newest passing build <https://kojipkgs.fedoraproject.org//packages/mailman3/3.3.4/1.fc35/src/mailman3-3.3.4-1.fc35.src.rpm>`_
|
|
in Fedora koji and tried to build it in CBS using infra tag `infra8-infra-common-el8`
|
|
::
|
|
|
|
cbs build --scratch infra8-infra-common-el8 mailman3-3.3.4-1.fc35.src.rpm
|
|
|
|
This failed with plenty of missing dependencies. Because of this we decided to use COPR
|
|
for further building.
|
|
|
|
The `COPR project <https://copr.fedorainfracloud.org/coprs/zlopez/mailman3>`_ used
|
|
`centos-stream-8` chroot with EPEL8 repository enabled.
|
|
|
|
In COPR project we started by building the same `src.rpm` and ended up with list of missing
|
|
dependencies::
|
|
|
|
No matching package to install: 'python3-aiosmtpd >= 1.4.1'
|
|
No matching package to install: 'python3-authheaders >= 0.9.2'
|
|
No matching package to install: 'python3-click >= 7.0'
|
|
No matching package to install: 'python3-falcon > 1.0.0'
|
|
No matching package to install: 'python3-flufl-bounce'
|
|
No matching package to install: 'python3-flufl-i18n >= 2.0.1'
|
|
No matching package to install: 'python3-lazr-config'
|
|
No matching package to install: 'python3-lazr-smtptest'
|
|
No matching package to install: 'python3-zope-interface >= 5.0'
|
|
|
|
When building the `python-aiosmtpd <https://src.fedoraproject.org/rpms/python-aiosmtpd>`_ project
|
|
from `Fedora dist-git <https://src.fedoraproject.org/rpms>`_, we ended up in state, where we would
|
|
need to build the whole python stack (python-setuptools, python-pip etc.) to continue.
|
|
|
|
We decided this wouldn't work for us and started to instead build the
|
|
`oldest commit of mailman3 <https://src.fedoraproject.org/rpms/mailman3/c/e7a19ba9fe17d469b590b69441aec83411874fd3?branch=rawhide>`_
|
|
from Fedora dist-git. We now need to satisfy lesser amount of dependencies::
|
|
|
|
No matching package to install: 'python3-aiosmtpd'
|
|
No matching package to install: 'python3-falcon >= 1.0.0'
|
|
No matching package to install: 'python3-flufl-bounce'
|
|
No matching package to install: 'python3-flufl-i18n'
|
|
No matching package to install: 'python3-lazr-config'
|
|
No matching package to install: 'python3-lazr-smtptest'
|
|
|
|
After some trial and error we got all the dependencies satisfied and all of them were
|
|
`successfully build in COPR project <https://copr.fedorainfracloud.org/coprs/zlopez/mailman3/packages/>`_.
|
|
|
|
Rebuilding the mailman3 after this failed on tests. After trying newer commits of mailman3
|
|
to fix the failing tests and building another missing dependencies, we ended up on the commit
|
|
where we started and for which the python stack needs to be rebuild.
|
|
|
|
Before decision to cease further building attempts we built mailman3 from this
|
|
`commit <https://src.fedoraproject.org/rpms/mailman3/c/1e92c38ebbf2dea3af67c9a29f77c1d8b6c31df8?branch=rawhide>`_
|
|
in Fedora dist-git. This build has all dependencies satisfied but the
|
|
`tests are failing <https://download.copr.fedorainfracloud.org/results/zlopez/mailman3/centos-stream-8-x86_64/02676767-mailman3/builder-live.log.gz>`_.
|
|
|
|
|
|
Conclusion
|
|
----------
|
|
|
|
The build of the mailman3 in `centos-stream-8` or EPEL8 chroot will probably take few weeks to
|
|
solve and probably need providing downstream patches and newer python stack.
|