arc/docs/mailman3/building_rpm_centos_stream.rst
Ryan Lerch ba720c3d77 fix parsing errors and sphinx warnings
Signed-off-by: Ryan Lerch <rlerch@redhat.com>
2023-11-20 13:04:34 +00:00

85 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`
.. code-block::
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:
.. code-block::
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:
.. code-block::
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.