From e615d56cb1ea6502ed0e8a19d756aa2fc6d9b22d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Kone=C4=8Dn=C3=BD?= Date: Wed, 1 Sep 2021 14:21:04 +0200 Subject: [PATCH] Add mailman3 RPM build investigation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michal Konečný --- docs/initiatives.rst | 1 + docs/mailman3/building_rpm_centos_stream.rst | 77 ++++++++++++++++++++ docs/mailman3/index.rst | 33 +++++++++ 3 files changed, 111 insertions(+) create mode 100644 docs/mailman3/building_rpm_centos_stream.rst create mode 100644 docs/mailman3/index.rst diff --git a/docs/initiatives.rst b/docs/initiatives.rst index 5d686d7..160211c 100644 --- a/docs/initiatives.rst +++ b/docs/initiatives.rst @@ -9,3 +9,4 @@ Initiatives pdc/index fmn/index mirrors-countme/index + mailman3/index diff --git a/docs/mailman3/building_rpm_centos_stream.rst b/docs/mailman3/building_rpm_centos_stream.rst new file mode 100644 index 0000000..8e14936 --- /dev/null +++ b/docs/mailman3/building_rpm_centos_stream.rst @@ -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 `_ +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 `_ 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 `_ project +from `Fedora dist-git `_, 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 `_ +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 `_. + +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 `_ +in Fedora dist-git. This build has all dependencies satisfied but the +`tests are failing `_. + + +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. diff --git a/docs/mailman3/index.rst b/docs/mailman3/index.rst new file mode 100644 index 0000000..d1a4ceb --- /dev/null +++ b/docs/mailman3/index.rst @@ -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 +----------------