Red Hat Bugzilla – Bug 77275
Initscript design unfriendly towards 3rd party apps
Last modified: 2014-03-16 22:32:05 EDT
Description of Problem:
RedHat requires init scripts to touch the file /var/lock/subsys/MY_NAME during
"start", and if it does not, then the script will not be called later with a
"stop" argument. This is a problem for 3rd party software which designs init
scripts for other Linux distributes or other Unixes which do not use
/var/lock/subsys: 3rd party software usually fails to shutdown properly because
RedHat's /etc/rc.d/rc decides not to invoke it's init script with the "stop" option.
RedHat's design distributes the responsibility for the lock file across two
modules: each init script and also /etc/rc.d/rc. I suggest that the design would
be more robust if it were in only one place. I suggest that the lock file stuff
be removed from /etc/rc.d/rc and encapsulated wholly within each init script.
3rd party scripts sometimes have their own means to determine whether their
daemon is running, in which case the lock file is redundant and could prevent
start-up following a reboot if the lock file were still in the file system.
For example, two useful 3rd party apps I have discovered are not compatible with
the RedHat design are ALSA and CUPS. While RedHat has their own CUPS release,
CUPS is still in development and it is important to get the latest version from
the developer; of course, the latest versions have incompatible init scripts.
There are also a number of RedHat bugs related to this design: bug 59206, bug
70218, bug 52755, bug 26296, bug 26291, bug 26289, bug 17279, bug 3187. I
suggest that if the design were simplified, this class of bugs would disappear.
Also, RedHat's job of maintaining their own init scripts would be simplified.
Closing bugs on older, no longer supported, releases. Apologies for any lack of
Realistically, this will be changed when we move to a newer init system, such as
one that handles dependencies, etc.
Closing until then.