![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
Since Centos 7 is way behind on mailman rpm (2.1.15 is the only available rpm) and mailman is currently at 2.1.34 I need to do a manual update. While I know how to install software, I am concerned that just doing a manual install from the tarball will mess up current settings, lists and members. Does anyone have experience doing this that can advise about pitfalls or has a cookbook document to do a safe update? TIA.
![](https://secure.gravatar.com/avatar/e2371bef92eb40cd7c586e9f2cc75cd8.jpg?s=120&d=mm&r=g)
Dennis Putnam writes:
Perhaps the most straightforward procedure is to backup mm_cfg.py and the data in the archives, data, lists, logs, messages, and qfiles folders under /var/lib/mailman. Then get the source rpm, unpack it, delete the old source tree and replace it with the new source tree. Review the patches and delete any that apply to executable Mailman code, keep only those that make the Mailman installation conform to Centos layout. Fixup the rpm control file (Mailman version, build, and list of patches), and build an installable rpm and a srpm. Then install the rpm. Finally, check that the files backed up above have not been corrupted, and start Mailman.
If you have to do a full manual install, I am not familiar with Centos's layout, but the principles are the same for all distros. The main issues that are common are
- For Mailman itself, preserving and restoring the site config file (mm_cfg.py), the list config files, and any in-process messages (qfiles).
- For system administration, the manual install layout is usually different from distro packaging. For several reasons, we recommend installing to /usr/local (and /var/local), which is the default, because you will not overwrite any state, and it is easy to recognize which files are "new" and which are "old" from the prefix.
- This means that you will need to adjust system startup configuration and services like logrotate, your MTA, and your webserver, to point at the new Mailman installation.
- It is important to remove all of the original package installation including state data such as qfiles to avoid confusing Mailman and/or running two Mailman processes at the same time.
Check the release notes to see if there are any special considerations between 2.1.15 and 2.1.34.
Outline of the procedure:
- Get the list of contents of the installed package using rpm or yum or whatever. It won't have the list configs, qfiles, logs, or mm_cfg.py, but should have the directories where those things live, as well as the code. This should also capture boot scripts, logrotate configs, and if you're lucky MTA and webserver configs. This is useful information if no RH/Centos people show up; I can be much more precise about what you need to preserve and restore, and how to do it, if things go sidewise. find /etc -name '*mailman*' may help, but I expect those files will be in the rpm query output. (The leading * is to catch '00mailman.sh'-style naming.)
- zip (or tar) up the whole thing: any Mailman configs in /etc, the Mailman code in /usr, and the list database, qfiles (if any), and logs from /var. Don't forget init scripts or systemd services under /etc/, logrotate configs, etc. This is a backup and reference installation.
- Use the default install of the new code. You can untar source pretty much anywhere. /usr/local/src and /tmp are common choices. Install to /usr/local and /var/local. Much safer than trying to install to the /usr and /var hierarchies.
- The global config mm_cfg.py can be copied directly from your Centos installation to /usr/local/lib/mailman/Mailman/ or you can put in it /usr/local/etc/mailman and symlink.
- IIRC the var stuff goes in /var/local/lib/mailman/{lists,qfiles,...}. Just copy the list configs and queue files from the old install there. It's probably not a good idea to recursive copy the /var/lib/mailman directory, because it contains symlinks into /usr/lib/mailman, and also if there's anything including hidden files in /var/lib/mailman/lock, it's likely that Mailman will fail to start or worse, function incorrectly.
- Start the new installation, if it works you can remove the Centos mailman package with rpm (or whatever).
- You will have to fiddle with MTA, webserver, logrotate and init script configurations to point to the /usr/local and /var/local hierarchies instead of /usr and /var. How you do that on Centos I'm not sure, but usually there are .d folders under /etc where the sysadmin can drop local configs that will not be overwritten by the package manager. Some manual editing will very likely be necessary because some package configuration is normally done by scripts that directly edit config files rather than dropping include files in .d folders.
I'm sorry, even as long as it is that's pretty sketchy. But as long as you keep backups of mm_cfg.py and the list configs, qfiles, and logs you will be able to restart Mailman as it is now. If you install to /usr/local and /var/local, you don't have to worry about overwriting anything.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 8/29/20 9:29 PM, Stephen J. Turnbull wrote:
Much more snipped.
Steve has given lots of good info, but also see <https://wiki.list.org/x/8486953>, <https://mail.python.org/pipermail/mailman-developers/2004-October/017343.htm...> and the patch attached to the latter. The latter can also be found at <https://mail.python.org/archives/list/mailman-developers@python.org/message/...>
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 8/29/2020 2:11 PM, Dennis Putnam wrote:
After additional attempts and some research I am stuck upgrading mailman 2.1.5 to 2.1.34 and get the same results I had reported here earlier. I followed these instructions:
https://wiki.list.org/DOC/How%20do%20I%20upgrade%20a%20Debian/Ubuntu%20Mailm....
And made, what I thought were, the appropriate changes to the configure parameters:
./configure --prefix=/usr/lib/mailman --with-username=mailman --with-groupname=mailman --with-cgi-gid=apache --with-mail-gid=mailman
If anyone sees anything wrong please point it out. Anyway, after doing the make and install, I start mailman and get this status:
● mailman.service - GNU Mailing List Manager Loaded: loaded (/usr/lib/systemd/system/mailman.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Mon 2020-09-14 10:31:12 MDT; 20min ago Process: 20030 ExecStart=/usr/lib/mailman/bin/mailmanctl -s start (code=exited, status=1/FAILURE) Process: 20028 ExecStartPre=/bin/chmod 660 /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20024 ExecStartPre=/bin/chown mailman:mailman /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20021 ExecStartPre=/bin/touch /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20018 ExecStartPre=/usr/bin/install -m644 -o root -g root /usr/lib/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited, status=0/SUCCESS) Process: 20014 ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg (code=exited, status=0/SUCCESS)
Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: File "/usr/lib64/python2.7/codecs.py", line 881, in open Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: file = __builtin__.open(filename, mode, buffering) Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: IOError: [Errno 13] Permission denied: '/usr/lib/mailman/logs/error' Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: Original log message: Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: [Errno 13] Permission denied: '/usr/lib/mailman/logs/error' Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: Sep 14 10:31:12 2020 (20030) Site list is missing: mailman Sep 14 10:31:12 harmonia.csd.net systemd[1]: mailman.service: control process exited, code=exited status=1 Sep 14 10:31:12 harmonia.csd.net systemd[1]: Failed to start GNU Mailing List Manager. Sep 14 10:31:12 harmonia.csd.net systemd[1]: Unit mailman.service entered failed state. Sep 14 10:31:12 harmonia.csd.net systemd[1]: mailman.service failed.
I don't understand the permissions denied error. Unfortunately it does not tell me what process is trying to open it. The directory is rw by mailman:mailman. In addition, the error that site list is missing 'mailman' is also confusing. Does the upgrade overwrite something that makes the existing lists disappear? The instructions say nothing about running anything else to make the lists known to the new version. I am guessing I need to do something with 'withlist' but I don't know what. Finally, I am concerned that the working 2.1.15 version has no 'mm_cfg.py' while the new version has a file with only comments. Perhaps this is OK if I'm using all defaults. I need someone to nursemaid me through this upgrade. TIA.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/14/20 9:59 AM, Dennis Putnam wrote:
This FAQ (note period is part of URL) is not relevant.
The relevant FAQ is https://wiki.list.org/x/8486953> which references the post at <https://mail.python.org/pipermail/mailman-developers/2004-October/017343.htm...> (also now at <https://mail.python.org/archives/list/mailman-developers@python.org/message/...> which contains a patch which enables Mailman to install in the RHEL/Centos way.
(more below)
I suspect this is a SELinux issue. That's what the RHEL FHS patch is for. Is SELinux enabled? If yoiu disable it does Mailman start?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/14/2020 9:11 PM, Mark Sapiro wrote:
Hi Mark,
Thanks for the reply. Your article is not much help as I am already at 2.1.15 so the paths are already correct. I turned off SELinux to see if that helps but there is another issue after the reboot. I'll let you know when I get the machine back online. That may fix the permission problem but probably not the missing site list.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 6:56 AM, Dennis Putnam wrote:
The point is that without applying the patch attached to the post linked from the article, running configure and make install as you did will not install things according to the RHEL FHS layout.
At a minimum, you need to configure with the options
--prefix=/usr/lib/mailman --with-var-prefix=/var/lib/mailman
, but
there are other things changed in configure itself by the patch to get
things installed in the proper places.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 10:26 AM, Mark Sapiro wrote:
Hi Mark,
Thanks again. I thought if I was already at 2.1.15 the patch was not necessary. However, reading the article it is not clear to me when/where to run that patch. Does it get run after the install or before running ./config?
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 9:02 AM, Dennis Putnam wrote:
It needs to be applied before running configure as it patches configure.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 1:13 PM, Mark Sapiro wrote:
Hi Mark,
I guess I don't know how to use patch. Better documentation would be helpful.
# patch --verbose -i ../mailman-FHS.patch
Hmm... Looks like a unified diff to me... can't find file to patch at input line 5 Perhaps you should have used the -p or --strip option? The text leading up to this was:
|Only in mailman-2.1.5.FHS: autom4te.cache |diff -r -u mailman-2.1.5.orig/bin/check_perms mailman-2.1.5.FHS/bin/check_perms |--- mailman-2.1.5.orig/bin/check_perms 2003-03-31 15:07:55.000000000 -0500 |+++ mailman-2.1.5.FHS/bin/check_perms 2004-10-08 16:05:09.000000000 -0400
File to patch:
Before I screw it up, is it wanting to patch the file listed in the diff command (i.e. check_perms)? I also assume I need to use -u.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 10:44 AM, Dennis Putnam wrote:
I guess I don't know how to use patch. Better documentation would be helpful.
man patch?
If you are in the directory that you unpacked the Mailman 2.1.34 tarball into, do
patch -p1 < /path/to/mailman-FHS.patch
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/dbf97c196d6ec08d02e175372aecc411.jpg?s=120&d=mm&r=g)
On 9/15/2020 2:06 PM, Mark Sapiro wrote:
In all fairness, as I recall "-p" isn't explained all that well.
The diff file has paths to file(s) to patch, something like --- foo/bar/baz.py.orig +++ foo/bar/baz.py
and you (and the diff) need to be in foo's parent directory when you run patch. If you're in "bar" you'll get that error and you'll need to tell it to strip "foo" -- or however many levels of subdirs -- from the paths.
Dima
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 3:06 PM, Mark Sapiro wrote:
Hi Mark, I guess there is still something wrong: # patch -p1 <../mailman-FHS.patch patching file bin/check_perms Hunk #1 succeeded at 183 with fuzz 1 (offset 19 lines). patching file configure.in Hunk #1 succeeded at 321 (offset 141 lines). Hunk #2 succeeded at 348 with fuzz 2 (offset 141 lines). Hunk #3 succeeded at 821 (offset 147 lines). patching file Mailman/Defaults.py.in Hunk #1 succeeded at 1751 (offset 553 lines). Hunk #2 succeeded at 1766 (offset 553 lines). Hunk #3 succeeded at 1780 (offset 553 lines). patching file Mailman/MTA/Postfix.py Hunk #1 FAILED at 32. 1 out of 1 hunk FAILED -- saving rejects to file Mailman/MTA/Postfix.py.rej patching file Makefile.in patching file misc/mailman.in Hunk #1 FAILED at 24. 1 out of 1 hunk FAILED -- saving rejects to file misc/mailman.in.rej patching file misc/Makefile.in Hunk #1 succeeded at 27 (offset 1 line). Hunk #2 succeeded at 94 with fuzz 1 (offset 4 lines). # cat Postfix.py.rej --- Mailman/MTA/Postfix.py 2003-03-31 16:49:43.000000000 -0500 +++ Mailman/MTA/Postfix.py 2004-10-08 16:02:20.000000000 -0400 @@ -32,8 +32,8 @@ from Mailman.Logging.Syslog import syslog LOCKFILE = os.path.join(mm_cfg.LOCK_DIR, 'creator') -ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases') -VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman') +ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases') +VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman') try: True, False
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 12:28 PM, Dennis Putnam wrote:
These warnings/errors are all because that patch is against the 2.1.5 base and you're patching 2.1.34. The succeeded at (offset) and succeeded at with fuzz messages are warnings. They will have created '.orig' files, but the patches were applied and should be OK. The FAILED patches will have to be applied manually.
E.g., for this one, just find the ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases') VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman') lines in Mailman/MTA/Postfix.py and change them to ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases') VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman') The other failure is the patch to misc/mailman.in. The rejected patch is --- mailman-2.1.5.orig/misc/mailman.in 2003-09-25 18:13:26.000000000 -0400 +++ mailman-2.1.5.FHS/misc/mailman.in 2004-10-06 16:15:28.000000000 -0400 @@ -24,13 +24,13 @@ # On Debian, type "update-rc.d mailman defaults" # On RedHat, and derivatives, install with "chkconfig --add mailman" # -# chkconfig: 2345 98 12 +# chkconfig: - 98 12 # description: Mailman is the GNU Mailing List Manager, a program that \ # manages electronic mail discussion groups. For more \ # on GNU Mailman see http://www.list.org # processname: mailmanctl # config: @prefix@/Mailman/mm_cfg.py -# pidfile: @prefix@/data/master-qrunner.pid +# pidfile: @PID_DIR@/master-qrunner.pid PYTHON=@PYTHON@ MAILMANHOME=@prefix@ It fails because # pidfile: @prefix@/data/master-qrunner.pid is # pidfile: @VAR_PREFIX@/data/master-qrunner.pid in 2.1.34. Again, just make the changes manually, but in this case, misc/mailman.in is just a template for building misc/mailman which in turn is a sample init.d script for starting Mailman and is probably already installed from your 2.1.15 installation. -- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
Hi Mark,
On to the next layer of the onion. After the install I get this:
#./check_perms -f WARNING: directory does not exist: @PID_DIR@ WARNING: directory does not exist: @CONFIG_DIR@ WARNING: directory does not exist: @LOCK_DIR@ WARNING: directory does not exist: @QUEUE_DIR@ WARNING: directory does not exist: @LOG_DIR@ Warning: Private archive directory is other-executable (o+x). This could allow other users on your system to read private archives. If you're on a shared multiuser system, you should consult the installation manual on how to fix this. No problems found
Although it says no problems found I am concerned about the warnings (except the last). I seem to be back, more or less, to where I started. Interestingly the 'execstartpre' uses the hard coded path and the startup script uses the symbolic path which is one of the warnings.
● mailman.service - GNU Mailing List Manager Loaded: loaded (/usr/lib/systemd/system/mailman.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2020-09-16 11:55:31 MDT; 3min 49s ago Process: 3303 ExecStart=/usr/lib/mailman/bin/mailmanctl -s start (code=exited, status=1/FAILURE) Process: 3300 ExecStartPre=/bin/chmod 660 */var/log/mailman/error* (code=exited, status=0/SUCCESS) Process: 3297 ExecStartPre=/bin/chown mailman:mailman /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 3294 ExecStartPre=/bin/touch /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 3289 ExecStartPre=/usr/bin/install -m644 -o root -g root /usr/lib/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited, status=0/SUCCESS) Process: 3286 ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg (code=exited, status=0/SUCCESS)
Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: File "/usr/lib64/python2.7/codecs.py", line 881, in open Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: file = __builtin__.open(filename, mode, buffering) Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: IOError: [Errno 13] Permission denied: '*@LOG_DIR@/error*' Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: Original log message: Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: [Errno 13] Permission denied: '@LOG_DIR@/error' Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: Sep 16 11:55:31 2020 (3303) Site list is missing: mailman Sep 16 11:55:31 harmonia.csd.net systemd[1]: mailman.service: control process exited, code=exited status=1 Sep 16 11:55:31 harmonia.csd.net systemd[1]: Failed to start GNU Mailing List Manager. Sep 16 11:55:31 harmonia.csd.net systemd[1]: Unit mailman.service entered failed state. Sep 16 11:55:31 harmonia.csd.net systemd[1]: mailman.service failed.
I am guessing I can't just overwrite the 2.1.15 version with this version using 'make install'. The upgrade is more complicated, right? I have to uninstall the old version, install the new version then migrate the data into the new version.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/16/20 11:10 AM, Dennis Putnam wrote:
configure should have replaced the things @PID_DIR@, @CONFIG_DIR@, @LOCK_DIR@, @QUEUE_DIR@ and @LOG_DIR@ with actual paths.
I think you need to provide options like --with-pid-dir=/var/run/mailman/ -- with-config-dir=/etc/mailman --with-lock-dir=/var/lock/mailman --with-queue-dir=/var/spool/mailman --with-log-dir=/var/log/mailman in addition to --prefix=/usr/lib/mailman and --with-var-prefix=/var/lib/mailman
If you get it properly configured, you can just install it using make install and it should work.
OTOH, you could just configure, make and install stock 2.1.34 and then migrate the data, but you will then have permission issues if SELinux is enabled.
If you do proceed with the former approach, let us know the steps. I.e., apply the mailman-FHS.patch and fix issues with that; run configure with options ..., and anything else. With that info, I will create a FAQ for RHEL/CentOS analogous to the Debian/Ubuntu one at <https://wiki.list.org/x/17891606>. Actually, I'm starting to work ion that now.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/16/20 12:11 PM, Mark Sapiro wrote:
You also need to run autoconf
after patching and before running
configure because the patch only patches configure.in.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
I have created a work in progress FAQ at
<https://wiki.list.org/x/17892071>. This contains an updated patch that
applies cleanly to the head of the lp:mailman branch and also patches
configure so the autoconf
step is not required. It also contains a
brief summary of steps to upgrade.
If you try it, I'd appreciate feedback.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/16/2020 4:33 PM, Mark Sapiro wrote:
That worked perfectly. Thanks. This is the configure command I used:
*./configure --prefix=/usr/lib/mailman --with-username=mailman --with-groupname=mailman --with-cgi-gid=apache --with-mail-gid=mailman --with-pid-dir=/var/run/mailman/ --with-config-dir=/etc/mailman/ --with-lock-dir=/var/lock/mailman/ --with-queue-dir=/var/spool/mailman/ --with-log-dir=/var/log/mailman/ --with-var-prefix=/var/lib/mailman/*
Also, I don't know if it was necessary but I did run autoconf after. I don't know if it actually did anything.
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/17/2020 4:47 AM, Dennis Putnam wrote:
I didn't have it quite right. I got this postfix error:
Sep 17 07:30:46 harmonia postfix/local[22654]: A6FE22B14: to=<rushtalk@harmonia.csd.net>, relay=local, delay=0.15, delays=0.09/0.04/0/0.02, dsn=5.3.0, status=bounced (Command died with status 2: "/usr/lib/mailman/mail/mailman post rushtalk". Command output: Group mismatch error. Mailman expected the mail wrapper script to be executed as group "mailman", but the system's mail server executed the mail script as group "nobody". Try tweaking the mail server to run the script as group "mailman", or re-run configure, providing the command line option `--with-mail-gid=nobody'. )
I assumed, for lack of anything better, '*--with-mail-gid=mailman'*. Obviously I should have used '*--with-mail-gid=nobody*'. The documentation was lacking on what that parameter should be. I suggest you add this to your document.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/17/20 6:44 AM, Dennis Putnam wrote:
I didn't have it quite right. I got this postfix error: ...
I've updated the FAQ. Thanks again.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/17/20 1:47 AM, Dennis Putnam wrote:
Thanks for the feedback. Running autoconf is not needed with the patch in the FAQ article, as that patches configure as well as configure.in, but it doesn't hurt as it won't actually change the patched configure.
I've made an additional update to <https://wiki.list.org/x/17892071> to include the other configure options you used.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/e2371bef92eb40cd7c586e9f2cc75cd8.jpg?s=120&d=mm&r=g)
Dennis Putnam writes:
Perhaps the most straightforward procedure is to backup mm_cfg.py and the data in the archives, data, lists, logs, messages, and qfiles folders under /var/lib/mailman. Then get the source rpm, unpack it, delete the old source tree and replace it with the new source tree. Review the patches and delete any that apply to executable Mailman code, keep only those that make the Mailman installation conform to Centos layout. Fixup the rpm control file (Mailman version, build, and list of patches), and build an installable rpm and a srpm. Then install the rpm. Finally, check that the files backed up above have not been corrupted, and start Mailman.
If you have to do a full manual install, I am not familiar with Centos's layout, but the principles are the same for all distros. The main issues that are common are
- For Mailman itself, preserving and restoring the site config file (mm_cfg.py), the list config files, and any in-process messages (qfiles).
- For system administration, the manual install layout is usually different from distro packaging. For several reasons, we recommend installing to /usr/local (and /var/local), which is the default, because you will not overwrite any state, and it is easy to recognize which files are "new" and which are "old" from the prefix.
- This means that you will need to adjust system startup configuration and services like logrotate, your MTA, and your webserver, to point at the new Mailman installation.
- It is important to remove all of the original package installation including state data such as qfiles to avoid confusing Mailman and/or running two Mailman processes at the same time.
Check the release notes to see if there are any special considerations between 2.1.15 and 2.1.34.
Outline of the procedure:
- Get the list of contents of the installed package using rpm or yum or whatever. It won't have the list configs, qfiles, logs, or mm_cfg.py, but should have the directories where those things live, as well as the code. This should also capture boot scripts, logrotate configs, and if you're lucky MTA and webserver configs. This is useful information if no RH/Centos people show up; I can be much more precise about what you need to preserve and restore, and how to do it, if things go sidewise. find /etc -name '*mailman*' may help, but I expect those files will be in the rpm query output. (The leading * is to catch '00mailman.sh'-style naming.)
- zip (or tar) up the whole thing: any Mailman configs in /etc, the Mailman code in /usr, and the list database, qfiles (if any), and logs from /var. Don't forget init scripts or systemd services under /etc/, logrotate configs, etc. This is a backup and reference installation.
- Use the default install of the new code. You can untar source pretty much anywhere. /usr/local/src and /tmp are common choices. Install to /usr/local and /var/local. Much safer than trying to install to the /usr and /var hierarchies.
- The global config mm_cfg.py can be copied directly from your Centos installation to /usr/local/lib/mailman/Mailman/ or you can put in it /usr/local/etc/mailman and symlink.
- IIRC the var stuff goes in /var/local/lib/mailman/{lists,qfiles,...}. Just copy the list configs and queue files from the old install there. It's probably not a good idea to recursive copy the /var/lib/mailman directory, because it contains symlinks into /usr/lib/mailman, and also if there's anything including hidden files in /var/lib/mailman/lock, it's likely that Mailman will fail to start or worse, function incorrectly.
- Start the new installation, if it works you can remove the Centos mailman package with rpm (or whatever).
- You will have to fiddle with MTA, webserver, logrotate and init script configurations to point to the /usr/local and /var/local hierarchies instead of /usr and /var. How you do that on Centos I'm not sure, but usually there are .d folders under /etc where the sysadmin can drop local configs that will not be overwritten by the package manager. Some manual editing will very likely be necessary because some package configuration is normally done by scripts that directly edit config files rather than dropping include files in .d folders.
I'm sorry, even as long as it is that's pretty sketchy. But as long as you keep backups of mm_cfg.py and the list configs, qfiles, and logs you will be able to restart Mailman as it is now. If you install to /usr/local and /var/local, you don't have to worry about overwriting anything.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 8/29/20 9:29 PM, Stephen J. Turnbull wrote:
Much more snipped.
Steve has given lots of good info, but also see <https://wiki.list.org/x/8486953>, <https://mail.python.org/pipermail/mailman-developers/2004-October/017343.htm...> and the patch attached to the latter. The latter can also be found at <https://mail.python.org/archives/list/mailman-developers@python.org/message/...>
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 8/29/2020 2:11 PM, Dennis Putnam wrote:
After additional attempts and some research I am stuck upgrading mailman 2.1.5 to 2.1.34 and get the same results I had reported here earlier. I followed these instructions:
https://wiki.list.org/DOC/How%20do%20I%20upgrade%20a%20Debian/Ubuntu%20Mailm....
And made, what I thought were, the appropriate changes to the configure parameters:
./configure --prefix=/usr/lib/mailman --with-username=mailman --with-groupname=mailman --with-cgi-gid=apache --with-mail-gid=mailman
If anyone sees anything wrong please point it out. Anyway, after doing the make and install, I start mailman and get this status:
● mailman.service - GNU Mailing List Manager Loaded: loaded (/usr/lib/systemd/system/mailman.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Mon 2020-09-14 10:31:12 MDT; 20min ago Process: 20030 ExecStart=/usr/lib/mailman/bin/mailmanctl -s start (code=exited, status=1/FAILURE) Process: 20028 ExecStartPre=/bin/chmod 660 /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20024 ExecStartPre=/bin/chown mailman:mailman /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20021 ExecStartPre=/bin/touch /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 20018 ExecStartPre=/usr/bin/install -m644 -o root -g root /usr/lib/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited, status=0/SUCCESS) Process: 20014 ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg (code=exited, status=0/SUCCESS)
Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: File "/usr/lib64/python2.7/codecs.py", line 881, in open Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: file = __builtin__.open(filename, mode, buffering) Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: IOError: [Errno 13] Permission denied: '/usr/lib/mailman/logs/error' Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: Original log message: Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: [Errno 13] Permission denied: '/usr/lib/mailman/logs/error' Sep 14 10:31:12 harmonia.csd.net mailmanctl[20030]: Sep 14 10:31:12 2020 (20030) Site list is missing: mailman Sep 14 10:31:12 harmonia.csd.net systemd[1]: mailman.service: control process exited, code=exited status=1 Sep 14 10:31:12 harmonia.csd.net systemd[1]: Failed to start GNU Mailing List Manager. Sep 14 10:31:12 harmonia.csd.net systemd[1]: Unit mailman.service entered failed state. Sep 14 10:31:12 harmonia.csd.net systemd[1]: mailman.service failed.
I don't understand the permissions denied error. Unfortunately it does not tell me what process is trying to open it. The directory is rw by mailman:mailman. In addition, the error that site list is missing 'mailman' is also confusing. Does the upgrade overwrite something that makes the existing lists disappear? The instructions say nothing about running anything else to make the lists known to the new version. I am guessing I need to do something with 'withlist' but I don't know what. Finally, I am concerned that the working 2.1.15 version has no 'mm_cfg.py' while the new version has a file with only comments. Perhaps this is OK if I'm using all defaults. I need someone to nursemaid me through this upgrade. TIA.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/14/20 9:59 AM, Dennis Putnam wrote:
This FAQ (note period is part of URL) is not relevant.
The relevant FAQ is https://wiki.list.org/x/8486953> which references the post at <https://mail.python.org/pipermail/mailman-developers/2004-October/017343.htm...> (also now at <https://mail.python.org/archives/list/mailman-developers@python.org/message/...> which contains a patch which enables Mailman to install in the RHEL/Centos way.
(more below)
I suspect this is a SELinux issue. That's what the RHEL FHS patch is for. Is SELinux enabled? If yoiu disable it does Mailman start?
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/14/2020 9:11 PM, Mark Sapiro wrote:
Hi Mark,
Thanks for the reply. Your article is not much help as I am already at 2.1.15 so the paths are already correct. I turned off SELinux to see if that helps but there is another issue after the reboot. I'll let you know when I get the machine back online. That may fix the permission problem but probably not the missing site list.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 6:56 AM, Dennis Putnam wrote:
The point is that without applying the patch attached to the post linked from the article, running configure and make install as you did will not install things according to the RHEL FHS layout.
At a minimum, you need to configure with the options
--prefix=/usr/lib/mailman --with-var-prefix=/var/lib/mailman
, but
there are other things changed in configure itself by the patch to get
things installed in the proper places.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 10:26 AM, Mark Sapiro wrote:
Hi Mark,
Thanks again. I thought if I was already at 2.1.15 the patch was not necessary. However, reading the article it is not clear to me when/where to run that patch. Does it get run after the install or before running ./config?
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 9:02 AM, Dennis Putnam wrote:
It needs to be applied before running configure as it patches configure.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 1:13 PM, Mark Sapiro wrote:
Hi Mark,
I guess I don't know how to use patch. Better documentation would be helpful.
# patch --verbose -i ../mailman-FHS.patch
Hmm... Looks like a unified diff to me... can't find file to patch at input line 5 Perhaps you should have used the -p or --strip option? The text leading up to this was:
|Only in mailman-2.1.5.FHS: autom4te.cache |diff -r -u mailman-2.1.5.orig/bin/check_perms mailman-2.1.5.FHS/bin/check_perms |--- mailman-2.1.5.orig/bin/check_perms 2003-03-31 15:07:55.000000000 -0500 |+++ mailman-2.1.5.FHS/bin/check_perms 2004-10-08 16:05:09.000000000 -0400
File to patch:
Before I screw it up, is it wanting to patch the file listed in the diff command (i.e. check_perms)? I also assume I need to use -u.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 10:44 AM, Dennis Putnam wrote:
I guess I don't know how to use patch. Better documentation would be helpful.
man patch?
If you are in the directory that you unpacked the Mailman 2.1.34 tarball into, do
patch -p1 < /path/to/mailman-FHS.patch
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/dbf97c196d6ec08d02e175372aecc411.jpg?s=120&d=mm&r=g)
On 9/15/2020 2:06 PM, Mark Sapiro wrote:
In all fairness, as I recall "-p" isn't explained all that well.
The diff file has paths to file(s) to patch, something like --- foo/bar/baz.py.orig +++ foo/bar/baz.py
and you (and the diff) need to be in foo's parent directory when you run patch. If you're in "bar" you'll get that error and you'll need to tell it to strip "foo" -- or however many levels of subdirs -- from the paths.
Dima
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/15/2020 3:06 PM, Mark Sapiro wrote:
Hi Mark, I guess there is still something wrong: # patch -p1 <../mailman-FHS.patch patching file bin/check_perms Hunk #1 succeeded at 183 with fuzz 1 (offset 19 lines). patching file configure.in Hunk #1 succeeded at 321 (offset 141 lines). Hunk #2 succeeded at 348 with fuzz 2 (offset 141 lines). Hunk #3 succeeded at 821 (offset 147 lines). patching file Mailman/Defaults.py.in Hunk #1 succeeded at 1751 (offset 553 lines). Hunk #2 succeeded at 1766 (offset 553 lines). Hunk #3 succeeded at 1780 (offset 553 lines). patching file Mailman/MTA/Postfix.py Hunk #1 FAILED at 32. 1 out of 1 hunk FAILED -- saving rejects to file Mailman/MTA/Postfix.py.rej patching file Makefile.in patching file misc/mailman.in Hunk #1 FAILED at 24. 1 out of 1 hunk FAILED -- saving rejects to file misc/mailman.in.rej patching file misc/Makefile.in Hunk #1 succeeded at 27 (offset 1 line). Hunk #2 succeeded at 94 with fuzz 1 (offset 4 lines). # cat Postfix.py.rej --- Mailman/MTA/Postfix.py 2003-03-31 16:49:43.000000000 -0500 +++ Mailman/MTA/Postfix.py 2004-10-08 16:02:20.000000000 -0400 @@ -32,8 +32,8 @@ from Mailman.Logging.Syslog import syslog LOCKFILE = os.path.join(mm_cfg.LOCK_DIR, 'creator') -ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases') -VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman') +ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases') +VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman') try: True, False
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/15/20 12:28 PM, Dennis Putnam wrote:
These warnings/errors are all because that patch is against the 2.1.5 base and you're patching 2.1.34. The succeeded at (offset) and succeeded at with fuzz messages are warnings. They will have created '.orig' files, but the patches were applied and should be OK. The FAILED patches will have to be applied manually.
E.g., for this one, just find the ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases') VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman') lines in Mailman/MTA/Postfix.py and change them to ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases') VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman') The other failure is the patch to misc/mailman.in. The rejected patch is --- mailman-2.1.5.orig/misc/mailman.in 2003-09-25 18:13:26.000000000 -0400 +++ mailman-2.1.5.FHS/misc/mailman.in 2004-10-06 16:15:28.000000000 -0400 @@ -24,13 +24,13 @@ # On Debian, type "update-rc.d mailman defaults" # On RedHat, and derivatives, install with "chkconfig --add mailman" # -# chkconfig: 2345 98 12 +# chkconfig: - 98 12 # description: Mailman is the GNU Mailing List Manager, a program that \ # manages electronic mail discussion groups. For more \ # on GNU Mailman see http://www.list.org # processname: mailmanctl # config: @prefix@/Mailman/mm_cfg.py -# pidfile: @prefix@/data/master-qrunner.pid +# pidfile: @PID_DIR@/master-qrunner.pid PYTHON=@PYTHON@ MAILMANHOME=@prefix@ It fails because # pidfile: @prefix@/data/master-qrunner.pid is # pidfile: @VAR_PREFIX@/data/master-qrunner.pid in 2.1.34. Again, just make the changes manually, but in this case, misc/mailman.in is just a template for building misc/mailman which in turn is a sample init.d script for starting Mailman and is probably already installed from your 2.1.15 installation. -- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
Hi Mark,
On to the next layer of the onion. After the install I get this:
#./check_perms -f WARNING: directory does not exist: @PID_DIR@ WARNING: directory does not exist: @CONFIG_DIR@ WARNING: directory does not exist: @LOCK_DIR@ WARNING: directory does not exist: @QUEUE_DIR@ WARNING: directory does not exist: @LOG_DIR@ Warning: Private archive directory is other-executable (o+x). This could allow other users on your system to read private archives. If you're on a shared multiuser system, you should consult the installation manual on how to fix this. No problems found
Although it says no problems found I am concerned about the warnings (except the last). I seem to be back, more or less, to where I started. Interestingly the 'execstartpre' uses the hard coded path and the startup script uses the symbolic path which is one of the warnings.
● mailman.service - GNU Mailing List Manager Loaded: loaded (/usr/lib/systemd/system/mailman.service; disabled; vendor preset: disabled) Active: failed (Result: exit-code) since Wed 2020-09-16 11:55:31 MDT; 3min 49s ago Process: 3303 ExecStart=/usr/lib/mailman/bin/mailmanctl -s start (code=exited, status=1/FAILURE) Process: 3300 ExecStartPre=/bin/chmod 660 */var/log/mailman/error* (code=exited, status=0/SUCCESS) Process: 3297 ExecStartPre=/bin/chown mailman:mailman /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 3294 ExecStartPre=/bin/touch /var/log/mailman/error (code=exited, status=0/SUCCESS) Process: 3289 ExecStartPre=/usr/bin/install -m644 -o root -g root /usr/lib/mailman/cron/crontab.in /etc/cron.d/mailman (code=exited, status=0/SUCCESS) Process: 3286 ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg (code=exited, status=0/SUCCESS)
Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: File "/usr/lib64/python2.7/codecs.py", line 881, in open Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: file = __builtin__.open(filename, mode, buffering) Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: IOError: [Errno 13] Permission denied: '*@LOG_DIR@/error*' Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: Original log message: Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: [Errno 13] Permission denied: '@LOG_DIR@/error' Sep 16 11:55:31 harmonia.csd.net mailmanctl[3303]: Sep 16 11:55:31 2020 (3303) Site list is missing: mailman Sep 16 11:55:31 harmonia.csd.net systemd[1]: mailman.service: control process exited, code=exited status=1 Sep 16 11:55:31 harmonia.csd.net systemd[1]: Failed to start GNU Mailing List Manager. Sep 16 11:55:31 harmonia.csd.net systemd[1]: Unit mailman.service entered failed state. Sep 16 11:55:31 harmonia.csd.net systemd[1]: mailman.service failed.
I am guessing I can't just overwrite the 2.1.15 version with this version using 'make install'. The upgrade is more complicated, right? I have to uninstall the old version, install the new version then migrate the data into the new version.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/16/20 11:10 AM, Dennis Putnam wrote:
configure should have replaced the things @PID_DIR@, @CONFIG_DIR@, @LOCK_DIR@, @QUEUE_DIR@ and @LOG_DIR@ with actual paths.
I think you need to provide options like --with-pid-dir=/var/run/mailman/ -- with-config-dir=/etc/mailman --with-lock-dir=/var/lock/mailman --with-queue-dir=/var/spool/mailman --with-log-dir=/var/log/mailman in addition to --prefix=/usr/lib/mailman and --with-var-prefix=/var/lib/mailman
If you get it properly configured, you can just install it using make install and it should work.
OTOH, you could just configure, make and install stock 2.1.34 and then migrate the data, but you will then have permission issues if SELinux is enabled.
If you do proceed with the former approach, let us know the steps. I.e., apply the mailman-FHS.patch and fix issues with that; run configure with options ..., and anything else. With that info, I will create a FAQ for RHEL/CentOS analogous to the Debian/Ubuntu one at <https://wiki.list.org/x/17891606>. Actually, I'm starting to work ion that now.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/16/20 12:11 PM, Mark Sapiro wrote:
You also need to run autoconf
after patching and before running
configure because the patch only patches configure.in.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
I have created a work in progress FAQ at
<https://wiki.list.org/x/17892071>. This contains an updated patch that
applies cleanly to the head of the lp:mailman branch and also patches
configure so the autoconf
step is not required. It also contains a
brief summary of steps to upgrade.
If you try it, I'd appreciate feedback.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/16/2020 4:33 PM, Mark Sapiro wrote:
That worked perfectly. Thanks. This is the configure command I used:
*./configure --prefix=/usr/lib/mailman --with-username=mailman --with-groupname=mailman --with-cgi-gid=apache --with-mail-gid=mailman --with-pid-dir=/var/run/mailman/ --with-config-dir=/etc/mailman/ --with-lock-dir=/var/lock/mailman/ --with-queue-dir=/var/spool/mailman/ --with-log-dir=/var/log/mailman/ --with-var-prefix=/var/lib/mailman/*
Also, I don't know if it was necessary but I did run autoconf after. I don't know if it actually did anything.
![](https://secure.gravatar.com/avatar/55dd4b9d4dca2dc661df666477622d76.jpg?s=120&d=mm&r=g)
On 9/17/2020 4:47 AM, Dennis Putnam wrote:
I didn't have it quite right. I got this postfix error:
Sep 17 07:30:46 harmonia postfix/local[22654]: A6FE22B14: to=<rushtalk@harmonia.csd.net>, relay=local, delay=0.15, delays=0.09/0.04/0/0.02, dsn=5.3.0, status=bounced (Command died with status 2: "/usr/lib/mailman/mail/mailman post rushtalk". Command output: Group mismatch error. Mailman expected the mail wrapper script to be executed as group "mailman", but the system's mail server executed the mail script as group "nobody". Try tweaking the mail server to run the script as group "mailman", or re-run configure, providing the command line option `--with-mail-gid=nobody'. )
I assumed, for lack of anything better, '*--with-mail-gid=mailman'*. Obviously I should have used '*--with-mail-gid=nobody*'. The documentation was lacking on what that parameter should be. I suggest you add this to your document.
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/17/20 6:44 AM, Dennis Putnam wrote:
I didn't have it quite right. I got this postfix error: ...
I've updated the FAQ. Thanks again.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
![](https://secure.gravatar.com/avatar/56f108518d7ee2544412cc80978e3182.jpg?s=120&d=mm&r=g)
On 9/17/20 1:47 AM, Dennis Putnam wrote:
Thanks for the feedback. Running autoconf is not needed with the patch in the FAQ article, as that patches configure as well as configure.in, but it doesn't hurt as it won't actually change the patched configure.
I've made an additional update to <https://wiki.list.org/x/17892071> to include the other configure options you used.
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
participants (4)
-
Dennis Putnam
-
Dmitri Maziuk
-
Mark Sapiro
-
Stephen J. Turnbull