fix parsing errors and sphinx warnings

Signed-off-by: Ryan Lerch <rlerch@redhat.com>
This commit is contained in:
Ryan Lercho 2023-11-16 08:02:56 +10:00 committed by zlopez
parent 8fb9b2fdf0
commit ba720c3d77
98 changed files with 4799 additions and 4788 deletions

View file

@ -3,19 +3,18 @@
Add Centos Mailing List To Fedora Server
========================================
This was offered as a potential shortcut solution to quickly get a web front end
for the CentOS mailing list. Fedora currently runs a mailman 3 server with
Postorius and HyperKitty which provide a web user interface. The idea would be
to add the CentOS mailing lists to the currently running mailing list.
This was offered as a potential shortcut solution to quickly get a web front end for the
CentOS mailing list. Fedora currently runs a mailman 3 server with Postorius and
HyperKitty which provide a web user interface. The idea would be to add the CentOS
mailing lists to the currently running mailing list.
Basic Implementation
====================
A new domain would be set up for CentOS on the Fedora mailman server. The CentOS
A new domain would be set up for CentOS on the Fedora mailman server. The CentOS
Archives and lists would then be imported to the Fedora Server. The Centos MX domain
would then be pointed here. Configuration would need to be edited to support this.
All email registered would need to be converted to users to integrate with sso logins.
would then be pointed here. Configuration would need to be edited to support this. All
email registered would need to be converted to users to integrate with sso logins.
The Good Points
===============
@ -23,10 +22,9 @@ The Good Points
There are some advantages to this solution.
1. It would involve the least work to implement
2. CentOS and Fedora would only have a single mail server rather than one each to
2. CentOS and Fedora would only have a single mail server rather than one each to
maintain
The Bad Points
==============

View file

@ -6,23 +6,24 @@ 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.
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
- 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>`_
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
.. 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.
@ -30,49 +31,55 @@ 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::
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'
.. code-block::
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.
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'
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::
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.
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'
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/>`_.
`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>`_.
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.
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.

View file

@ -4,15 +4,15 @@ Mailman3
Purpose
-------
Purpose of this investigation is to find potential ways to migrate the CentOS mailing lists to
mailman3 from the current solution and allow for a frontend. The output of the investigation
is this document.
Purpose of this investigation is to find potential ways to migrate the CentOS mailing
lists to mailman3 from the current solution and allow for a frontend. 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
- Mailman3 upstream: https://wiki.list.org/Mailman3
- Mailman3 Fedora dist-git: https://src.fedoraproject.org/rpms/mailman3
Investigation
-------------
@ -23,40 +23,38 @@ Here is the list of ideas/things we discussed/looked at:
:maxdepth: 1
building_rpm_centos_stream
install_using_pip_and_venv
install_using_podman
add_centos_to_fedora_server
Conclusions
-----------
Based on the investigations carried out the most beneficial but probably most difficult
solution would be to build the rpms for mailman3 hyperkitty and postorius for epel. This
would make this available for Centos but could also be used by fedora which could help
with some longstanding issues such as https://pagure.io/fedora-infrastructure/issue/5478.
with some longstanding issues such as
https://pagure.io/fedora-infrastructure/issue/5478.
The installation using containers would address the issues of compatibility and push
them upstream but it also brings the problems of relying on an upstream maintainer who
them upstream but it also brings the problems of relying on an upstream maintainer who
is not a part of our community.
When installing with pip and venv similar problems are encountered as with rpm where
When installing with pip and venv similar problems are encountered as with rpm where
dependencies are not available or up to date in the fedora or stream environment.
Adding Centos mailing list to the fedora server would be a quick fix but doubles down
on using the fedora setup which itself in not in perfect health. It would also involve
some issues with naming as the centos mail list uses centos.org rather than lists.centos.org
Adding Centos mailing list to the fedora server would be a quick fix but doubles down on
using the fedora setup which itself in not in perfect health. It would also involve some
issues with naming as the centos mail list uses centos.org rather than lists.centos.org
Proposed Roadmap
----------------
1. Package mailman3-core postorious and hyperkitty for epel. This requires python3 base
2. Deploy a server using the above packages.
3. Convert all email addresses to users. This will involve comms as emails may not
3. Convert all email addresses to users. This will involve comms as emails may not
directly relate to fas users.
3. Integrate with Accounts sso. This may potentially force mailing list users to have
an account with Fedora/Centos which was not a rule up to now.
4. Import all archives/lists. This may require an outage as any pending subsriptions or
4. Integrate with Accounts sso. This may potentially force mailing list users to have an
account with Fedora/Centos which was not a rule up to now.
5. Import all archives/lists. This may require an outage as any pending subsriptions or
emails won't be carried across.
5. Assign correct owners to lists. Currently in CentOS this is just controlles by passwords
6. Assign correct owners to lists. Currently in CentOS this is just controlles by
passwords