On Wed, Oct 26, 2022 at 10:16 AM Abhilash Raj <maxking@asynchronous.in> wrote:
On 10/26/22 12:32, Odhiambo Washington wrote:
On Wed, Oct 26, 2022 at 8:44 AM Abhilash Raj <maxking@asynchronous.in <mailto:maxking@asynchronous.in>> wrote:
Hi, I am pleased to announce several new releases for GNU Mailman
project.
1. Mailman Core 3.3.6 [1] 2. Postorius 1.3.7 [2] 3. Hyperkitty 1.3.6 [3] 4. Mailmanclient 3.3.4 [4] 5. Django-mailman3 1.3.8 [5]
[snip]
Finally, the minimum Python version required is 3.7 although, 3.9 is recommended if you are doing a new install for longest support. 3.10
is
supported for Django apps, but Mailman Core is missing that due to
one
of the core dependencies not support 3.10 yet (aiosmtpd).
Hello @Abhilash Raj <mailto:maxking@asynchronous.in>
Thank you and the whole MM3 team for all the free work you do to make us have mailing lists :)
I have a question regarding the Python version. I have a very recent installation of MM3, via the Virtual Environment method, running smoothly - so far. The Python version that got installed is 3.10.6
wash@lists:~$ sudo su - mailman (venv) mailman@lists:~$ which python /opt/mailman/mm/venv/bin/python (venv) mailman@lists:~$ /opt/mailman/mm/venv/bin/python -V Python 3.10.6 (venv) mailman@lists:~$ mailma mailmail3 mailman (venv) mailman@lists:~$ mailman --version GNU Mailman 3.3.5 (Tom Sawyer) (venv) mailman@lists:~$
- What does the incompatibility with Python-3.10 portend for my setup and anyone else with Python-3.10?
The bug in aiosmtpd is a bit weird and has to do with how the test cases in aiosmtpd and Python 3.10 changes interact with SSL. For the intents and purposes of Mailman, we don't use SSL for the communication between MTA and aiosmtpd, so there _shouldn't_ be any issuer with your setup.
Relief!
Ideally,
pip
shouldn't have allowed you to install aiosmtpd in a Python venv with 3.10, but that depends on which version of pip you are using since the newer versions have better support for such management.
I followed the HOWTO by the late BC <https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10> for my installation. I did not have to choose any specific version of pip. I just used what was in the system at that time, which was based on the Python version on the system.
- Is it possible to downgrade the Python in a Venv down to 3.9 without breaking the installation?
You can keep the current installation running and create a 2nd installation by simply creating a 2nd venv with 3.9. Something like,
/opt/mailman/mm/venv-3.9/
. You can install things into that venv and when you are done and ready to switch, you can update all the paths in various places to use update 'venv-3.9' instead of 'venv'.
That procedure seems way too much work for someone not so well versed with the PATHs used in MM3. Since I don't remember ever having to install aiosmtpd (not even sure what it is!) I believe I should not worry.
'pip3 list | grep smtpd' yielded nothing in my install. Is that expected? Or aiosmtpd is part of the core?
In case you encounter any issues, you can always revert back to older
'venv' in the paths wherever the are needed and bring back the old install. Venvs are good for multiple installs so you can switch back and forth pretty easily.
Talking of moving between VENVs, you did not mention about migrating the lists/list data between then :-)
And finally, is there documentation/procedure to upgrade a VENV install in this case?
You don't want to upgrade venv is what i've heard, you should always create a new one if you are bumping python versions.
Noted. And only Python versions, right? Like 3.10 to 3.11?
If you are just upgrading packages in the existing venv, then you can follow:
https://docs.mailman3.org/en/latest/upgrade-3.2.html
Thank you for this.
I have a request: Is it possible for someone to update the HOWTO that was done by Brian to include the process of updating MM3? I can see that he created a heading that was supposed to have the procedure. I am assuming it should be a few simple additions - but I am not quite sure (see below):
(1) Pre-upgrade First, you need to stop the running Mailman services before the upgrade to make sure that you don’t end up in a bad state. You can stop the three systemd services:
$sudo systemctl stop mailman3 $sudo systemctl stop qcluster $sudo systemctl stop gunicorn
(2) Then you need to switch to mailman user, activate the virtualenv: $ sudo su mailman $ source /opt/mailman/mm/venv/bin/activate
(3) Upgrade package Finally, upgrade your packages:
Here, I am a little confused. The official MM3 documentation says the below: *(venv) $ pip install -U mailman postorius django-mailman3 hyperkitty mailman-web*
However, thee howto by BC, there was no installation for django-mailman3 and mailman-web. So I am unable to map 1:1 what needs to be done to upgrade to these 5 components of
- Mailman Core 3.3.6 [1]
- Postorius 1.3.7 [2]
- Hyperkitty 1.3.6 [3]
- Mailmanclient 3.3.4 [4]
- Django-mailman3 1.3.8 [5]
What should I add to the command line below so that everything is updated?
(venv) mailman@lists:~$ pip install -U mailman postorius hyperkitty mailman-hyperkitty
Sorry to bother you so much.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)