I noticed a problem with the RPM install of gexec. I'm installing the
gexec RPM using Red Hat 7.2's kickstart installation system (so the
whole cluster comes up gexec-ready).
The gexec postinstall scriptlet is:
echo "Sending SIGUSR2 to xinetd (pid `cat /var/run/xinetd.pid`)"
kill -USR2 `cat /var/run/xinetd.pid`
postuninstall scriptlet (through /bin/sh):
echo "Sending SIGUSR2 to xinetd (pid `cat /var/run/xinetd.pid`)"
kill -USR2 `cat /var/run/xinetd.pid`
There are several problems with this:
1) xinetd isn't running at kickstart time
2) kickstart's rather limited version of kill doesn't support the -USR2
command (I think)
one or the other causes the second kill to reeturn non-zero, and the
shell returns non-zero (since it returns the exit status of the last
command). This causes the RPM installer to think the postinstall
scriptlet failed. This isn't a major error, as the package is still
installed, but it shouldn't occur (at least, the exit sciprt should not
return 1 if it failed to restart xinetd).
Also, stylistically, I think that gexec shouldn't actually retart xinetd
as part of the RPM. I understand the rationale (make it as easy for
the admin as possible), but typically the Red Hat RPMs don't do this,
it's even documented in the manual and the errata that the proper way to
do this after installing an RPM is to use 'service <blah> restart' in
the case of non-xinetd daemons when installing or upgrading a standalone
daemone, and 'chkconfig <blah> on' in the case of an xinetd service:
http://www.redhat.com/docs/errata/RHL-7.2-Manual/
http://www.redhat.com/docs/manuals/linux/RHL-7.2-Manual/custom-guide/chkconfig.html
Dave