[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Anyone working on the rc.d installer problem?



Hi there,

	Is anyone currently working on the rc.d installer problem?  That
is, how to install rc scripts into different distribution's rc.d
hierarchies?

	I've had to deal with this problem quite a bit thanks to a
number of device drivers which are loaded as loadable modules at
boot-time.  The Comtrol Rocketport and VS-1000 are two examples of
these, and the fact that Debian and Redhat (among others) are
incompatible in installing rc.d files really annoyed me when I was
working on rc.serial for setserial.  (So currently rc.serial only
supports RedHat, using the chkconfig interface.  Patches from Debian
folks are welcome....)

	I was thinking about something along these lines:

/usr/sbin/rcinstall path_to_rc_script 

And then having the rc script contain as comments in the beginning of
the file something like this:

# BEGIN RCINSTALLINFO
# runlevels = 2 3 4 5
# start = after network
# stop = after lpd
# END RCINSTALLINFO

(There would also be command-line options to rcinstall which would
override the default values found in the rc script, but I won't try to
describe those now.  They should be fairly self-explanatory.)

One of the tricker parts of this exercise would be describing a
consistent abstract order of boot time actions, so that the script can
specify that it wishes to be started {before|after|during} one of these
abstract points in the boot scripts. 

An example of an order list of abstract points for a start sequence
might be:

boot
kerneld
networking
logging
pcmcia
remotefs		(at this point /usr is guaranteed to be present)
named
netdaemons
sysdaemons
console			(console setup: keytable, gpm, etc.)
local

and a shutdown sequence might look like this:

local
console
sysdaemons
netdaemons
named
killall			(shutdown any remaining user processes)
remotefs
pcmcia
logging
kerneld
halt

Anyway, these are just some initial first thoughts on the subject.  If
someone else has already started working on this, perhaps this would be
useful.  If not, do people agree this is a good first place to start?

						- Ted


Reply to: