Red Hat Bugzilla – Bug 89250
Wrong pid file in mailman initfile - and other info missing.
Last modified: 2007-04-18 12:53:11 EDT
If you hack your way by the other critical bug in the package, you'll see that
the initscript doesn't work because the name of the pidfile is wrong. Start it
manually, look in the same dir and see the new name of pid file.
This initscript also lacks informative output, i18n for said output and a
Thanks for pointing out the error in the initscript. I can see the names are
mismatched, which is an error in the upstream sources. But what I don't
understand is why this is creating a problem. To the best of my knowledge the
pidfile attribute should not be referenced by anything else in a Red Hat system.
I'll certainly fix it, but I'm wondering if you can tell me who is referencing
this? It's not in /etc/init.d/functions, pidof is a link to killall and killall
does not look at it, and service stop|start|restart all invoke mailmanctl which
knows how to find the pidfile via mm_cfg. Is this something you were doing by
hand because you saw it in the initscript or did you invoke something and had it
fail because of the filename mismatch?
It showed up a couple of times when working on the system.... don't remember the
exact details, I was surprised myself. Ask Bill, initscripts are slightly magic.
pidfile name is fixed both in our package and upstream.
The condrestart and i18n for the initscript seem like feature requests to me as
opposed to bugs.
The condrestart is optional according to Bill Nottingham, its not present in the
upstream package. A while ago I looked into adding this but as I recall it
turned out to be more work than seemed worth the effort. Sorry, I don't recall
the details but I seem to think it was because mailmanctl needed reworking to
properly deal with the pid.
I'm not sure what you want in terms of i18n in the initscript. I'm not aware of
other initscripts that are internationalized.
My inclination is not to invest further time on these two items but I want to
give you chance to comment.
"condrestart" is optional in that it isn't necesarry for all packages. The
reason you need it (and why it's a bug it's not in there now) is that you use
it to restart the running daemon on upgrade so the version with potential bugs
(usually security, as that is the most common reason for errata) is no longer
(and it's a real simple fix... just check for program running (pidfile), then
stop and start the program)
For a simple example, look at the dhcp package and the pre/post-uninstall
sections of those spec files.
As for i18n of other scripts, I suggest you look at them. They are all i18ned...
A simple example would be the dhcp package. Adding $ in front of the bash
strings and making sure to source the common init script funtions is a pretty
good start - and sufficient for this package. Ideally, use the standard strings
("Starting $prog: ") to share the strings used in the other packages.
You might take the opportunity to make sure the script behaves like the rest of
the scripts wrt. output as well.... output format etc. are standardized.
fixed in mailman-2.1.5-19
condrestart was added
mailmanctl still does a majority of the init.d script work and it's
strings are il18n'ed already. Added the il18n start and stop strings