From owner-freebsd-current Tue Jul 25 01:07:46 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.11/8.6.6) id BAA15646 for current-outgoing; Tue, 25 Jul 1995 01:07:46 -0700 Received: from silvia.HIP.Berkeley.EDU (silvia.HIP.Berkeley.EDU [136.152.64.181]) by freefall.cdrom.com (8.6.11/8.6.6) with ESMTP id BAA15639 for ; Tue, 25 Jul 1995 01:07:42 -0700 Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.6.11/8.6.9) id BAA03432; Tue, 25 Jul 1995 01:07:33 -0700 Date: Tue, 25 Jul 1995 01:07:33 -0700 Message-Id: <199507250807.BAA03432@silvia.HIP.Berkeley.EDU> To: jkh@time.cdrom.com CC: rgrimes@gndrsh.aac.dev.com, current@freebsd.org In-reply-to: <3089.806642464@time.cdrom.com> (jkh@time.cdrom.com) Subject: Re: Knobs in /etc/sysconfig From: asami@cs.berkeley.edu (Satoshi Asami) Sender: current-owner@freebsd.org Precedence: bulk * So put the change in rc.local. Or, better yet, make an rc.locald * directory and organize the various types of startup (networking, i386, * site) into classes, one startup file per class. Then rc.local can go * away (yes! die! die!) and we can have one addition to the bottom of * /etc/rc like this: I'm all for this. In fact, I want it to be "one startup file per program". I don't want to have to edit any /etc/* file as part of the "automatically adding itself to startup sequence". Let's face it, there's no way we can do that from the ports tree without worrying about accidentally tramping on someone's toes by screwing up the startup files. So, we can do something like this: /etc/rc.locald/S being a startup script of sequence . The sequence is like "before such-and-such daemon starts", "between foo and bar", etc. (I'm no expert in the startup sequence but there are some stuff that have to be started in between the system daemons, right?) At various points of the startup, all the scripts with sequence number will be called from system rc files. They will be sorted in shell globbing order (so the comes in here, if we have inter- dependencies among ports). Then the job of pkg_add is just to add this file, and pkg_delete to just delete this file. The porter's job is to write this script so that the program will be started up with reasonable arguments, and check other ports to see if there are any dependencies. The user can edit the content of the file if she wants it come up with a different set of arguments. Can't get any simpler than this. :) Satoshi