ls -l /etc/mailman/mm_cfg.py reveals that it is a symlink to /usr/lib/mailman/Mailman/mm_cfg.py . It should be the other way around. I'm trying to put all the things I change in my /etc directory under version control to make future upgrades go more smoothly, and to track what config changes I've made. My version control tool won't handle symlinks, and even if it did it wouldn't be storing the contents of the file being pointed at, but the contents of the pointer. Things in /etc shouldn't be symlinks.
right.
This comment can be found in the mailman.spec file: Create a link so that the config file mm_cfg.py appears in config directory /etc/mailman. We don't put mm_cfg.py in the config directory because its executable code (python file) and the security policy wants to keep executable code out of /etc and inside of a lib directory instead, and because traditionally mm_cfg.py was in the Mailman subdirectory and experienced mailman admins will expect to find it there. It's really difficult to decide which is right. I would appreciate any comments about this.
The only comment I have is that it would sure be nice if I could version control /etc and have it catch everything I cared about. :-) I suppose mm_cfg.py is executable. You could put potentially anything in there, but in practice all it does is set a whole bunch of variables, much like any other config file. In the interests of making my version control scheme work, I've already swapped it so the /etc one is the real file and there's a symlink in /usr/lib/Mailman
Well. I don't like the idea of taking mm_cfg.py off the Mailman tree. Anyone who administers mailman is also used to have the config file in /usr/lib/mailman. So I think the symlink in /etc is a better compromise.