From owner-freebsd-hackers Mon Sep 25 23:02:57 1995 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.6.12/8.6.6) id XAA13304 for hackers-outgoing; Mon, 25 Sep 1995 23:02:57 -0700 Received: from phoenix.volant.org (root@phoenix.volant.org [205.179.79.1]) by freefall.freebsd.org (8.6.12/8.6.6) with ESMTP id XAA13298 for ; Mon, 25 Sep 1995 23:02:53 -0700 From: patl@asimov.volant.org Received: from asimov.volant.org (asimov.volant.org [205.179.79.65]) by phoenix.volant.org (8.6.11/8.6.9) with SMTP id XAA20725; Mon, 25 Sep 1995 23:01:44 -0700 Received: by asimov.volant.org (5.x/SMI-SVR4) id AA29960; Mon, 25 Sep 1995 23:07:22 -0700 Date: Mon, 25 Sep 1995 23:07:22 -0700 Message-Id: <9509260607.AA29960@asimov.volant.org> To: jehamby@lightside.com, gary@palmer.demon.co.uk Subject: Re: ports startup scripts Cc: hackers@freebsd.org X-Sun-Charset: US-ASCII Sender: owner-hackers@freebsd.org Precedence: bulk |> As someone who has ``grown up'' around BSD derrivatives, I still |> scratch my head when asked to work on a Solaris box. Solaris2 actually has some pretty nice things, once you get past the fact that they are different. I found it was much easier to understand and appreciate Solaris2 if I pretended that it was the first unix system I had come across so that I could look at it for its own merits instead of for the differences from SunOS4/BSD/... |> 1) Who issues these script ID numbers? We cannot let people go |> claiming their own at random, as they *WILL* clash (even if we let |> them loose on a number domain with 6 significant digits!) Of course we can. The script names aren't just an ID number, they are of the form [SK]##mumble, where '##' is the ID number, and 'mumble' is the service name. It doesn't matter if two services have the same ID number, the name will keep them unique. (And we document that the execution order for scripts with the same number is 'deterministic but not defined'.) |> 2) Who is responsible for ensuring that they are in the correct order? |> (e.g. something which loads a LKM is run *AFTER* the script to |> mount /usr is run). This could potentially be nasty, as the |> dependancy tree WILL vary over time (and even from machine to |> machine). That's why you use sparse numbering, and define significant sequence points within the runlevel. (A sequence point is a number by which all services within some abstract category have been started.) |> 3) How will we cope with local alterations (e.g. someone running |> locally developed s/w which is only for local use)? Do we leave |> large gaps in the numbering to allow for local hacks? Yep, exactly. And you document the sequence points in a per-state README file in the rc?.d directory. If you have access to a late-version Solaris2 box (say 2.4 or later), take a good look at how they did it. -Pat