Hi,
Is there a way to change where mailman looks for files? I've run into many issues with the default config:
mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5
shell scripts expect bash to be at /bin/bash (mine is at /usr/local/bin/bash)
mailman expects postmap to be at /usr/sbin/postmap (mine is at /usr/local/sbin/postmap)
Please CC me in your reply as I wasn't able to join this mailing list (I login by email, get the login.persona.org pop-up, click sign in, the pop-up closes... but I'm still not logged in).
Cheers, Jean-Luc
On 07/13/2016 07:30 AM, Jean-Luc Wasmer wrote:
Please CC me in your reply as I wasn't able to join this mailing list (I login by email, get the login.persona.org pop-up, click sign in, the pop-up closes... but I'm still not logged in).
I've seen this issue. I haven't figured it out. Try subscribing by email. Just send a blank email to mailman-users-join@mailman3.org (or mailman-users-subscribe@mailman3.org. This should result in a confirmation request email and your reply should subscribe you.
Let me know if that works? If not, I can add you.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
On Jul 13, 2016, at 10:30 AM, Jean-Luc Wasmer wrote:
Is there a way to change where mailman looks for files? I've run into many issues with the default config:
mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5
How did you install Mailman? If it was into a virtualenv, then it will use the Python in your venv's bin directory, so if you first created it with Python 3.4, that's what you'll get.
- shell scripts expect bash to be at /bin/bash (mine is at
- /usr/local/bin/bash)
Which shell scripts? Mailman itself doesn't ship any shell scripts, so again, I'm guessing you're talking about the ones in your venv?
- mailman expects postmap to be at /usr/sbin/postmap (mine is at
- /usr/local/sbin/postmap)
That one's easy. If you run `mailman conf | grep '\[mta\]' you will see a setting for the [mta]configuration variable, e.g.
[mta] configuration: python:mailman.config.postfix
The python:
says that the lookup scheme is via Python import path, where the
mailman.config
part says that it's in the mailman.config package, and the
postfix
part says that the configuration file is postfix.cfg inside that
path.
If you look in postfix.cfg, you'll see a postmap_command
setting, and this
is what points to /usr/sbin/postmap by default. Change that to point to
/usr/local/sbin/postmap and restart Mailman.
Cheers, -Barry
On 2016-07-13 14:53, Barry Warsaw wrote:
On Jul 13, 2016, at 10:30 AM, Jean-Luc Wasmer wrote:
Is there a way to change where mailman looks for files? I've run into many issues with the default config:
mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5
How did you install Mailman? If it was into a virtualenv, then it will use the Python in your venv's bin directory, so if you first created it with Python 3.4, that's what you'll get.
I followed the instructions on: https://gitlab.com/mailman/mailman-bundler/ I didn't have Python 3.4 installed at all... had to install it to complete Mailman's installation.
- shell scripts expect bash to be at /bin/bash (mine is at
- /usr/local/bin/bash)
Which shell scripts? Mailman itself doesn't ship any shell scripts, so again, I'm guessing you're talking about the ones in your vent?
I'm referring to: ./bin/mailman-post-update ./bin/mailman-web-django-admin createsuperuser
- mailman expects postmap to be at /usr/sbin/postmap (mine is at
- /usr/local/sbin/postmap)
That one's easy. If you run `mailman conf | grep '\[mta\]' you will see a setting for the [mta]configuration variable, e.g.
[mta] configuration: python:mailman.config.postfix
The
python:
says that the lookup scheme is via Python import path, where themailman.config
part says that it's in the mailman.config package, and thepostfix
part says that the configuration file is postfix.cfg inside that path.If you look in postfix.cfg, you'll see a
postmap_command
setting, and this is what points to /usr/sbin/postmap by default. Change that to point to /usr/local/sbin/postmap and restart Mailman.
Thanks Barry!
Cheers, Jean-Luc
On 07/13/2016 12:30 PM, Jean-Luc Wasmer wrote:
I followed the instructions on:
https://gitlab.com/mailman/mailman-bundler/
I didn't have Python 3.4 installed at all... had to install it to complete Mailman's installation.
So you should have two virtualenvs, a Python 2 virtualenv at /opt/mailman/mailman-bundler/venv and a Python 3 virtualenv at /opt/mailman/mailman-bundler/venv-3.4 (I'm pretty sure bundler won't install with Python 3.5).
- shell scripts expect bash to be at /bin/bash (mine is at
- /usr/local/bin/bash)
Which shell scripts? Mailman itself doesn't ship any shell scripts, so again, I'm guessing you're talking about the ones in your vent?
I'm referring to: ./bin/mailman-post-update ./bin/mailman-web-django-admin createsuperuser
Those scripts are created by bundler you should be activating the Python 2 venv before running them. I.e.,
source ./venv/bin/activate
I'm not sure this will help. It looks like bundler has #!/bin/bash hard-coded in the templates for these scripts.
You might file an issue on this at <https://gitlab.com/mailman/mailman-bundler/issues>.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5 The current release of mailman (core) is incompatible with python 3.5 The version is set in buildout.cfg (look for python3-version under [mailman]
shell scripts expect bash to be at /bin/bash (mine is at /usr/local/bin/bash) /bin/bash is the standard. Is there any reason why you don't have it there? You can manually change the files to suit you. In theory you could go without them. You would have to manually activate the virtualenvs and execute the commands to start django/mailman yourself.
On Jul 14, 2016, at 03:05 AM, Simon Hanna wrote:
The current release of mailman (core) is incompatible with python 3.5
To be clear, that means Mailman 3.0. Mailman 3.1 will be compatible with both Python 3.4 and 3.5. (I should really start testing it against 3.6 alphas soon.)
Cheers, -Barry
Oooops, forgot to reply to this.
On 2016-07-13 21:05, Simon Hanna wrote:
- mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5 The current release of mailman (core) is incompatible with python 3.5 The version is set in buildout.cfg (look for python3-version under [mailman]
I guess my point was that the documentation is misleading: "Mailman requires at least Python 3.4"
- shell scripts expect bash to be at /bin/bash (mine is at /usr/local/bin/bash) /bin/bash is the standard. Is there any reason why you don't have it there?
What standard?
According to POSIX:
"Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH, ensuring that the returned pathname is an absolute pathname and not a shell built-in."
But to answer your question, bash will be in /bin/ for systems that ship with it. For systems where it needs to be manually installed, chances are bash will end up somewhere else.
I recently discovered that things can get more complicated with Ubuntu starting with the current 16 release and maybe as early as 14. Starting at some point, /bin/sh no longer points to /bin/bash, instead it points to /bin/dash. /bin/dash is supposed to be POSIX compliant while /bin/bash is not.
I did a fresh install of Ubuntu 16.04 LTS and discovered it broke a lot of my sysadmin scripts. An older system updated to 16.04 was ok. They have changed so many things with 16.04 and broke so many things it is taking me a long time to figure out how to get things working again. I'm even thinking of abandoning Ubuntu for FreeBSD.
On 8/17/2016 10:18 PM, Jean-Luc Wasmer wrote:
Oooops, forgot to reply to this.
On 2016-07-13 21:05, Simon Hanna wrote:
- mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5 The current release of mailman (core) is incompatible with python 3.5 The version is set in buildout.cfg (look for python3-version under [mailman]
I guess my point was that the documentation is misleading: "Mailman requires at least Python 3.4"
- shell scripts expect bash to be at /bin/bash (mine is at /usr/local/bin/bash) /bin/bash is the standard. Is there any reason why you don't have it there?
What standard?
According to POSIX:
"Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH, ensuring that the returned pathname is an absolute pathname and not a shell built-in."
But to answer your question, bash will be in /bin/ for systems that ship with it. For systems where it needs to be manually installed, chances are bash will end up somewhere else.
Mailman-users mailing list mailman-users@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
I'm a NetBSD veteran... well almost (been using it since '99). When I decided to switch from colocation to VPS (for obvious cost reasons), it was difficult to find a good provider that supported NetBSD so I switched to Linux *barf* After many years of frustration, I'm switching to FreeBSD and I'm happy again :) My issue with Linux systems is that support for 3rd party packages is scattered throughout many repositories.
On 2016-08-18 10:06, Richard Shetron wrote:
I recently discovered that things can get more complicated with Ubuntu starting with the current 16 release and maybe as early as 14. Starting at some point, /bin/sh no longer points to /bin/bash, instead it points to /bin/dash. /bin/dash is supposed to be POSIX compliant while /bin/bash is not.
I did a fresh install of Ubuntu 16.04 LTS and discovered it broke a lot of my sysadmin scripts. An older system updated to 16.04 was ok. They have changed so many things with 16.04 and broke so many things it is taking me a long time to figure out how to get things working again. I'm even thinking of abandoning Ubuntu for FreeBSD.
On 8/17/2016 10:18 PM, Jean-Luc Wasmer wrote:
Oooops, forgot to reply to this.
On 2016-07-13 21:05, Simon Hanna wrote:
- mailman is specifically calling Python 3.4, ignoring the fact that I have Python 3.5 The current release of mailman (core) is incompatible with python 3.5 The version is set in buildout.cfg (look for python3-version under [mailman]
I guess my point was that the documentation is misleading: "Mailman requires at least Python 3.4"
- shell scripts expect bash to be at /bin/bash (mine is at /usr/local/bin/bash) /bin/bash is the standard. Is there any reason why you don't have it there?
What standard?
According to POSIX:
"Applications should note that the standard PATH to the shell cannot be assumed to be either /bin/sh or /usr/bin/sh, and should be determined by interrogation of the PATH returned by getconf PATH, ensuring that the returned pathname is an absolute pathname and not a shell built-in."
But to answer your question, bash will be in /bin/ for systems that ship with it. For systems where it needs to be manually installed, chances are bash will end up somewhere else.
Mailman-users mailing list mailman-users@mailman3.org https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
On Aug 17, 2016, at 10:18 PM, Jean-Luc Wasmer wrote:
I guess my point was that the documentation is misleading: "Mailman requires at least Python 3.4"
I was hoping at one point that I could make the Mailman 3.0 series compatible with Python 3.5, but it turned out to be too much work. Right now I think I'll take a page from the Python playbook and we'll retire the 3.0 series when 3.1 gets released before the end of 2016. There probably will not be a Mailman Core 3.0.4.
Cheers, -Barry
participants (5)
-
Barry Warsaw
-
Jean-Luc Wasmer
-
Mark Sapiro
-
Richard Shetron
-
Simon Hanna