Usama Nadeem writes:
How did you set up your local machine? The only doc I could find on setting up was this: https://wiki.list.org/DEV/HowToContributeGit
As a specific example of setting up a dev environment, I did
mkdir Mailman cd Mailman
then cloned
mailman mailman-web mailman-hyperkitty django-mailman3 mailmanclient postorius hyperkitty
from the GitLab mailman project. Then
python -m venv VENV . VENV/bin/activate python -m pip --upgrade install pip python -m pip install build wheel mkdir DIST for d in $the_repos_above; do pushd $d python -m build -o ../DIST popd done python -m pip install DIST/*.whl
After that you need to do a certain amount of setup, creating files in /etc/mailman3, at least mailman.cfg, settings.py, and gunicorn-conf.py (that last is my preferred name, I forget the exact standard name, which doesn't express that it's just Python code, and tends to draw warnings because it lacks the .py extension).
Something that I don't recall being documented is that "mailman-web compress" expects to be run from Mailman's $var_dir (see mailman.cfg for its definition). Also, recently the django-allauth module which is downloaded from PyPI has been quite unstable (in the sense of API compatibility, AFAIK it works fine once APIs match). The HEAD commits of postorius, hyperkitty, and django-mailman3 should be compatible with the most recent django-allauth, but if you get errors from "mailman-web" subcommands about missing methods or wrong type arguments, there's a good chance it's django-allauth (especially if for some reason you are working with past versions). Feel free to ask on the list about those.
OTOH, if you're at all experienced with Python, they're not hard to debug. If you are thinking about contributing to the mailman-web side of the suite, debugging such errors yourself is a good exercise to dip your toe into the code.
Steve