[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Re: [Mailman-Developers] Let's try to package mailman3 in Debian!



Hey,

> > Before requesting for sponsorship, and packaging officially the other
> > components of mailman3, I'd like some "testers" for the core package I
> > built, in order to be sure that it works, and that I will not introduce 
some
> > stupid caveats on the packaging of the other components.
> >
> > .deb can be found here: http://peb.pimeys.fr/mailman/mailman3-core/
> > git repo can be found there: https://gitlab.pimeys.fr/PEB/mailman3-core
> > and there: https://github.com/P-EB/mailman3-core
> >
> > Any volunteer welcome! Please, I need your help, I cannot review my work
> > alone! :)
> 
> I just tried to have a look in a stretch docker image.
> 
> - There are three .deb files on your webserver
> 
>   mailman3-core_3.0.0-1_all.deb
>   mailman3-core_3.0.0-3_all.deb
>   mailman3-core_3.0.0-3_amd64.deb
> 
>   It is not immediately obvious which one to test, since -1 has actually
>   a newer timestamp.
> 
> - Mailman Core 3.0.1 and 3.0.2 have been released in the meantime

Fixes e.g https://gitlab.com/mailman/mailman/issues/125 which could be very 
frustrating to users as seen in https://groups.io/g/debops/message/29

> - it does not work on stretch/sid because it is not compatible with
>   Python 3.5, see https://gitlab.com/mailman/mailman/issues/181

Same problem on Ubuntu Xenial, that I tried first for testing. The package 
should have a more strict python dependency.

> - it does not install on Jessie (even with jessie-backports because of
>   missing dependencies) (just a note because of not working on stretch
>   either)

I tries Ubuntu Wily afterwards. But I good an error due to outdated falcon. 
Please express the version constraint also in Dpkg to get an error on 
installation time, not on start time. Backporting a newer falcon version fixed 
the issue.

> - The systemd unit won't work because the parameter for the
>   configuration file is '-C', not '-c'
> 
> - installing python3.4 and changing the shebang in /usr/bin/mailman
>   leads to the following error
> 
>   root@4ca9477a166c:~# /usr/bin/mailman -C /etc/mailman3/mailman.cfg start
>   Starting Mailman's master runner
>   /usr/bin/python3.4: can't open file '/var/lib/mailman/bin/master':
>   [Errno 2] No such file or directory
> 
>   The files are installed in /var/lib/mailman3/bin, but bin_dir in
>   /etc/mailman3/mailman.cfg points to /var/lib/mailman/bin ... both
>   directories are wrong from my POV, it should probably be
>   /usr/lib/mailman3 or something like that
> 
> - Fixing this up leads to
> 
>   root@4ca9477a166c:~# /usr/bin/mailman -C /etc/mailman3/mailman.cfg start
>   Starting Mailman's master runner
>   Traceback (most recent call last):
>     File "/var/lib/mailman3/bin/master", line 9, in <module>
>       load_entry_point('mailman==3.0.0', 'console_scripts', 'master')()
>     File "/usr/lib/python3/dist-packages/mailman/bin/master.py", line 536,
>   in main
>       with open(config.PID_FILE, 'w') as fp:
>   FileNotFoundError: [Errno 2] No such file or directory:
>   '/run/mailman3/master.pid'
> 
>   because the directory does not exist. Since you are shipping a systemd
>   unit only you should probably ship a .tmpfile as well.
> 
> I now have a running daemon. I haven't done anything with Mailman3 so
> far, so I need to read up on that first.

I did some further testing

- Mailman does not use /etc/mailman3/mailman.cfg as default config. So to each  
  mailman call a extra parameter or the environment variable   
  MAILMAN_CONFIG_FILE as to be added. If you forget this, mailman creates a
  new instance one the fly under ./var (very annoying). I would be nice to 
  patch mailman to use the example configuration file by default.

- The default configuration uses postfix, needing postmap to run mailman 
  aliases (which is called automatically on mailman create). So the package
  should recommend/suggests postfix.

I was now able to create a mailing list, subscribe with multiple users, send a 
test message and get the answers by the other user. So base feature set 
working :-)

Some other remarks to the package:

- The service should not be run as root. The package should create a own 
  user and the systemd service unit should to start mailman as that user.

- It would be good to add the next step to README.Debian (reconfigure postfix
  etc. and uses the mailman executable to create lists ...). And add a note 
  that sqlite is used by default, that for some people might not be
  appropriate for production installations.

- I prefer removing the tests files or moving them into a own binary packages,
  as they are not needed on most installations.

- The documentation's raw rst files are currently installed; please run sphinx 
  during the build and ship the compiled files instead.

Thx for your work - I got a working mailman3 instance,
Malte Swart.

Attachment: signature.asc
Description: This is a digitally signed message part.


Reply to: