Add mailman3 RPM build investigation

Signed-off-by: Michal Konečný <mkonecny@redhat.com>
This commit is contained in:
Michal Konečný 2021-09-01 14:21:04 +02:00
parent ef43d0bbf3
commit e615d56cb1
3 changed files with 111 additions and 0 deletions

View file

@ -9,3 +9,4 @@ Initiatives
pdc/index
fmn/index
mirrors-countme/index
mailman3/index

View file

@ -0,0 +1,77 @@
.. _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.

33
docs/mailman3/index.rst Normal file
View file

@ -0,0 +1,33 @@
Mailman3
========
Purpose
-------
Purpose of this investigation is to find a possible ways to migrate CentOS mailing lists to
mailman3 from the current solution and look at them more closely. The output of the investigation
is this document.
Resources
---------
* Mailman3 upstream: https://wiki.list.org/Mailman3
* Mailman3 Fedora dist-git: https://src.fedoraproject.org/rpms/mailman3
Investigation
-------------
Here is the list of ideas/things we looked at:
.. toctree::
:maxdepth: 1
building_rpm_centos_stream
Conclusions
-----------
Proposed roadmap
----------------