
Hello.
I'm one of the guy managing the mailman package for mandrake-linux. I've currently trying to make setup a bit more standard and FHS compliant. I need developpers help however, first to make sure my changes won't cause trouble, second as I think some of these change should get merged upstream, as they would benefit more people.
The first issue is file location. We are trying to achieve FHS compliance, so i had to move things a bit.
I'm using the --with-var-prefix configure option to have variable files in /var/lib/mailman and non-variables files in /usr/lib/mailman. That is supported by mailman install.
Then i move logs from /var/lib/mailman/logs to /var/log/mailman through a symlink.
The config file location, however, is still puzzling me. Having a configuration file (mm_cfg.py) under /usr is non-standard, as /usr is supposed to be read-only. Moreover, it is a pain for us packagers, as we have to include everything but this file as normal files, then tag it as config file. I'd really think it should be moved in /etc instead, either by me using a symlink, but much better by an upstream change.
The second issue are perms. The default install make everything owned by the uid/gid determined at configure stage (mail/mail for me), and make all directories setgid, even for non-variables files, which is quite really a non-standard practice. So i tried to clean it a bit.
I made everything under /usr/lib/mailman owned by root.root, with standard perms (644 for files, 755 for directories) except the binaries in /usr/lib/mailman/cgi-bin and usr/lib/mailman/mail which are setgid, and owned by mail group. I tested, it seems to work.
I also made top-level directory for variable files (/var/lib/mailman) owned by root/root with standard 755 perms, but i didn't tried yet further perm modifications there, as mailman need write permissions in subdirectories.
You can have a look at the spec file in CVS if you want details (http://cvs.mandrakesoft.com/cgi-bin/cvsweb.cgi/SPECS/mailman/mailman.spec). Your comments on my changes are welcome, as well as what could get integrated into mailman.
Those who hesitate under fire usually do not end up KIA, MIA or WIA -- Murphy's Military Laws n°101

At 9:51 PM +0100 2004/01/22, Guillaume Rousse wrote:
I didn't received any answer to my post.
Sorry, I don't recall seeing the previous post.
Does this means this kind of problem
is considered secondary for developpers ?
You can propose whatever changes you think will be beneficial.
However, if the developers feel that those changes will be
detrimental to Mailman or to using Mailman on other platforms, I believe that they're highly unlikely to accept them.
If the changes are felt to be beneficial, then they are more
likely to be accepted. If they are minor, they may be slipped in earlier during the development and maintenance process. If they are larger, then you are likely to have to wait longer, as more code restructuring is likely to be necessary to accommodate them.
In any event, you'll have to wait for Barry (or one of the other
developers) to find the time necessary to incorporate them, and where you get in this process will depend on their personal priorities.
At this point, I would suggest getting into the code and start
mucking about. Post your suggested changes and why you think they should be made, and let's discuss.
-- Brad Knowles, <brad.knowles@skynet.be>
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, Historical Review of Pennsylvania.
GCS/IT d+(-) s:+(++)>: a C++(+++)$ UMBSHI++++$ P+>++ L+ !E-(---) W+++(--) N+ !w--- O- M++ V PS++(+++) PE- Y+(++) PGP>+++ t+(+++) 5++(+++) X++(+++) R+(+++) tv+(+++) b+(++++) DI+(++++) D+(++) G+(++++) e++>++++ h--- r---(+++)* z(+++)

On Thursday 22 January 2004 21:51, Guillaume Rousse wrote:
I didn't received any answer to my post. Does this means this kind of problem is considered secondary for developpers ?
Hi Guillame,
sorry for the late answer, here are my comments. Please note that I think none of the suggested changes should make it in the standard Mailman tree, at least until 3.0. Instead, they should be diffs in your src.rpm, or on-the-fly patches performed by the spec.
On Monday 29 December 2003 16:50, Guillaume Rousse wrote:
Then i move logs from /var/lib/mailman/logs to /var/log/mailman through a symlink.
You can define LOG_DIR in mm_cfg.py (or overwrite the value in Defaults.py)
I'd do the following:
after "from Defaults import *" and maybe the LOG_DIR override, add this code to the standard mm_cfg.py (without moving it out of the tree!)
try: execfile('/etc/mailman.conf') except SyntaxError: # I don't know how to write better info, like the offending line number. print "Syntax error in the config file!" import sys sys.exit(1) except IOError, e: import errno errcode, errdesc = e if errcode != errno.ENOENT: # this shouldn't happen raise
put your config in /etc/mailman.conf. You can use Defaults.py as a template (commenting everything)
document in detail whatever you've done, because all information that people can google only mentions mm_cfg.py. People will be confused.
it's OK, as long as you pack in you rpm the .pyc files too. Also note that a possible different choice could be to install the Mailman directory (the one with mm_cfg.py) in /usr/list/pythonXXX/site-packages, so that 3rd party apps can use it as a library. In this case you should better split in two packages: library and app.
And note the check_perms script... you should either patch it or remove it from the package.
I believe all the /var/lib/mailman should be sgid.
the most challenge will be for bin scripts and the like... note the paths.py common include.... it must be in the same directory, or you'll have to copy the relevant paths on top of all scripts.
Cheers Simone

Alle 00:03, venerdì 23 gennaio 2004, Simone Piunno ha scritto:
OK, this is better:
except SyntaxError:
import sys
et, ev, tb = sys.exc_info()
print 'Configuration Error:', ev
sys.exit(1)
it will print:
Configuration Error: invalid syntax (/etc/mailman.conf, line NNN)
Cheers, Simone
-- This signature intentionally left blank

At 9:51 PM +0100 2004/01/22, Guillaume Rousse wrote:
I didn't received any answer to my post.
Sorry, I don't recall seeing the previous post.
Does this means this kind of problem
is considered secondary for developpers ?
You can propose whatever changes you think will be beneficial.
However, if the developers feel that those changes will be
detrimental to Mailman or to using Mailman on other platforms, I believe that they're highly unlikely to accept them.
If the changes are felt to be beneficial, then they are more
likely to be accepted. If they are minor, they may be slipped in earlier during the development and maintenance process. If they are larger, then you are likely to have to wait longer, as more code restructuring is likely to be necessary to accommodate them.
In any event, you'll have to wait for Barry (or one of the other
developers) to find the time necessary to incorporate them, and where you get in this process will depend on their personal priorities.
At this point, I would suggest getting into the code and start
mucking about. Post your suggested changes and why you think they should be made, and let's discuss.
-- Brad Knowles, <brad.knowles@skynet.be>
"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety." -Benjamin Franklin, Historical Review of Pennsylvania.
GCS/IT d+(-) s:+(++)>: a C++(+++)$ UMBSHI++++$ P+>++ L+ !E-(---) W+++(--) N+ !w--- O- M++ V PS++(+++) PE- Y+(++) PGP>+++ t+(+++) 5++(+++) X++(+++) R+(+++) tv+(+++) b+(++++) DI+(++++) D+(++) G+(++++) e++>++++ h--- r---(+++)* z(+++)

On Thursday 22 January 2004 21:51, Guillaume Rousse wrote:
I didn't received any answer to my post. Does this means this kind of problem is considered secondary for developpers ?
Hi Guillame,
sorry for the late answer, here are my comments. Please note that I think none of the suggested changes should make it in the standard Mailman tree, at least until 3.0. Instead, they should be diffs in your src.rpm, or on-the-fly patches performed by the spec.
On Monday 29 December 2003 16:50, Guillaume Rousse wrote:
Then i move logs from /var/lib/mailman/logs to /var/log/mailman through a symlink.
You can define LOG_DIR in mm_cfg.py (or overwrite the value in Defaults.py)
I'd do the following:
after "from Defaults import *" and maybe the LOG_DIR override, add this code to the standard mm_cfg.py (without moving it out of the tree!)
try: execfile('/etc/mailman.conf') except SyntaxError: # I don't know how to write better info, like the offending line number. print "Syntax error in the config file!" import sys sys.exit(1) except IOError, e: import errno errcode, errdesc = e if errcode != errno.ENOENT: # this shouldn't happen raise
put your config in /etc/mailman.conf. You can use Defaults.py as a template (commenting everything)
document in detail whatever you've done, because all information that people can google only mentions mm_cfg.py. People will be confused.
it's OK, as long as you pack in you rpm the .pyc files too. Also note that a possible different choice could be to install the Mailman directory (the one with mm_cfg.py) in /usr/list/pythonXXX/site-packages, so that 3rd party apps can use it as a library. In this case you should better split in two packages: library and app.
And note the check_perms script... you should either patch it or remove it from the package.
I believe all the /var/lib/mailman should be sgid.
the most challenge will be for bin scripts and the like... note the paths.py common include.... it must be in the same directory, or you'll have to copy the relevant paths on top of all scripts.
Cheers Simone

Alle 00:03, venerdì 23 gennaio 2004, Simone Piunno ha scritto:
OK, this is better:
except SyntaxError:
import sys
et, ev, tb = sys.exc_info()
print 'Configuration Error:', ev
sys.exit(1)
it will print:
Configuration Error: invalid syntax (/etc/mailman.conf, line NNN)
Cheers, Simone
-- This signature intentionally left blank
participants (3)
-
Brad Knowles
-
Guillaume Rousse
-
Simone Piunno