Subject: Re: Changing root's shell to /bin/sh
To: None <jonathan@DSG.Stanford.EDU>
From: maximum entropy <entropy@zippy.bernstein.com>
List: current-users
Date: 03/17/1999 13:36:08
>cc: current-users@netbsd.org, tech-userlevel@netbsd.org
>Date: Wed, 17 Mar 1999 09:38:58 -0800
>	* Is the dependency acutally used at boot time read from a file,
>	  is it directory-entry lexographical order,  or is it computed
>	  (say from #require and #provide header lines) by some tool?

This strikes me as undenably the Right Thing to do.  It avoids all the
problems with other methods.  No information encoded in "icky"
filenames, and you don't need to edit two things (the script and the
configuration file) to change the boot process.

>          iianm, a number  of developers have expressed very strong
>	  reservations about the last idea. (the principal one being,
>	  what if the tool dies halfway through and leaves  things
>	  in an inconsistent state? What if the tool  isn't re-run

I don't think this is really a concern.  If coded properly, such a
tool would write to a temporary file and replace the configuration
file atomically.

>	  when it should be? Or if it runs on every reboot, what're

Make it run at boot time.

>	  the  time impacts on older systems (think: vax-11/750)

It should be very simple to compare the timestamps on all the input
files to the output configuration file.  The dependency generation
tool could then rebuild the configuration iff the configuration file
is out of date.  This could be done easily with make(1), but it woulld
probably be better to just code it in the tool (because make lives in
/usr/bin and we probably want the configuration built before /usr is
mounted).  The time impact of checking the timestamps should be
negligible, even on ancient slow hardware.

Cheers,
entropy

p.s.  I _don't_ volunteer to implement it.  Too many projects, not
enough time...

--
entropy -- it's not just a good idea, it's the second law.