Bug#66912: marked as done ([PROPOSAL] init script configuration variables)
Your message dated Thu, 18 Jan 2001 14:47:32 -0500
with message-id <E14JL1w-0006t3-00@auric.debian.org>
and subject line Bug#66912: fixed in debian-policy 3.2.1.2
has caused the attached Bug report to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere. Please contact me immediately.)
Darren Benham
(administrator, Debian Bugs database)
--------------------------------------
Received: (at submit) by bugs.debian.org; 8 Jul 2000 10:03:14 +0000
>From joey@kitenet.net Sat Jul 08 05:03:13 2000
Return-path: <joey@kitenet.net>
Received: from adsl-63-193-116-241.dsl.snfc21.pacbell.net (kitenet.net) [63.193.116.241] (postfix)
by master.debian.org with esmtp (Exim 3.12 2 (Debian))
id 13ArS4-0006Om-00; Sat, 08 Jul 2000 05:03:13 -0500
Received: by kitenet.net (Postfix, from userid 500)
id 240FBBC010; Sat, 8 Jul 2000 03:03:10 -0700 (PDT)
Date: Sat, 8 Jul 2000 03:03:10 -0700
From: Joey Hess <joeyh@debian.org>
To: submit@bugs.debian.org
Subject: [PROPOSAL] init script configuration variables
Message-ID: <20000708030310.E27384@kitenet.net>
Mail-Followup-To: submit@bugs.debian.org
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
User-Agent: Mutt/1.0.1i
Sender: joey@kitenet.net
Delivered-To: submit@bugs.debian.org
Package: debian-policy
Severity: wishlist
There has been some discussion lately on debian-deval (and a bit on
-policy) about init scripts. One concern that has arisen is that it can
be very annoying to have to modify an init script to change a simple
value in it, and then be forced to maintain your modified init script
each time you upgrade and the package changes it. /etc/default is
already in use by 3 packages (2 of them in base; also, see also bug
#66574 point #3), this just formalizes it.
The thread also brought up the concern that an init script might start
using some new parameter, while the admin has modified its /etc/default/
file, and so the parameter does not have a value set, and this causes
the script to do something unexpected and/or bad. This proposal addresses
that concern as well.
It's late and my wording might be buggy -- patches gladly accpeted. I'm
also looking for seconds, of course.
(I believe this is a simple proposal that is orthagonal to some other
things being thrown around in the init.d thread, so I hope discussion of
this proposal can be limited to this alone and not drag the rest of that
in.)
--- policy.text.orig Sat Jul 8 02:21:49 2000
+++ policy.text Sat Jul 8 02:44:34 2000
@@ -1034,20 +1034,37 @@
remain but the package has been removed, as configuration files remain
on the system after the package has been removed. Only when `dpkg' is
executed with the `--purge' option will configuration files be
removed. In particular, the init script itself is usually a
configuration file (see Section 3.3.5, `Notes'), and will remain on
the system if the package is removed but not purged. Therefore, you
should include a `test' statement at the top of the script, like this:
test -f <program-executed-later-in-script> || exit 0
+ Often there are some values in the `init.d' scripts that a system
+ administrator will frequently want to change. While the scripts are
+ frequently conffiles, modifying them requires that the administrator
+ merge in their changes each time the package is upgraded and the
+ conffile changes. To ease the burden on the system administrator,
+ such configurable values should not be placed directly in the script.
+ Instead, they should be placed in a file in `/etc/default', which
+ typically will have the same base name as the `init.d' script. This
+ extra file can be sourced by the script when the script runs. It
+ must contain only variable settings and comments.
+
+ To ensure that vital configurable values are always available, the
+ `init.d' script should set default values for each of the shell
+ variables it uses before sourcing the /etc/default/ file. Also, since
+ the `/etc/default/' file is often a conffile, the `init.d' script must
+ behave sensibly without failing if it is deleted.
+
3.3.3. Managing the links
-------------------------
A program is provided, `update-rc.d', to handle the it easier for
package maintainers to arrange for the proper creation and removal of
`/etc/rc<n>.d' symbolic links, or their functional equivalent if
another method is being used. This may be used by maintainers in
their packages' `postinst' and `postrm' scripts.
You should use this script to make changes to `/etc/rc<n>.d' and
@@ -1113,61 +1130,76 @@
3.3.6. Example
--------------
The `bind' DNS (nameserver) package wants to make sure that the
nameserver is running in multiuser runlevels, and is properly shut
down with the system. It puts a script in `/etc/init.d', naming the
script appropriately `bind'. As you can see, the script interprets
the argument `reload' to send the nameserver a `HUP' signal (causing
it to reload its configuration); this way the user can say
- `/etc/init.d/bind reload' to reload the name server.
+ `/etc/init.d/bind reload' to reload the name server. The script has
+ one configurable value, which can be used to pass parameters to
+ the named program at startup.
#!/bin/sh
#
# Original version by Robert Leslie
# <rob@mars.org>, edited by iwj and cs
test -x /usr/sbin/named || exit 0
+ # Source defaults file.
+ PARAMS=''
+ if [ -e /etc/default/bind ]; then
+ . /etc/default/bind
+ fi
+
case "$1" in
start)
echo -n "Starting domain name service: named"
- start-stop-daemon --start --quiet --exec /usr/sbin/named
+ start-stop-daemon --start --quiet --exec /usr/sbin/named -- $PARAMS
echo "."
;;
stop)
echo -n "Stopping domain name service: named"
start-stop-daemon --stop --quiet \
--pidfile /var/run/named.pid --exec /usr/sbin/named
echo "."
;;
restart)
echo -n "Restarting domain name service: named"
start-stop-daemon --stop --quiet \
--pidfile /var/run/named.pid --exec /usr/sbin/named
- start-stop-daemon --start --verbose --exec /usr/sbin/named
+ start-stop-daemon --start --verbose --exec /usr/sbin/named -- $PARAMS
echo "."
;;
force-reload|reload)
echo -n "Reloading configuration of domain name service: named"
start-stop-daemon --stop --signal 1 --quiet \
--pidfile /var/run/named.pid --exec /usr/sbin/named
echo "."
;;
*)
echo "Usage: /etc/init.d/bind {start|stop|restart|reload|force-reload}" >&2
exit 1
;;
esac
exit 0
+
+ Complementing the above init script is a file '/etc/default/bind',
+ which contains configurable parameters used by the script.
+
+ # Specified parameters to pass to named. See named(8).
+ # You may uncomment the following line, and edit to taste.
+ #PARAMS="-u nobody"
Another example on which to base your `/etc/init.d' scripts is in
`/etc/init.d/skeleton'.
--
see shy jo, who thinks we overuse the term "orthagonal" in Debian
---------------------------------------
Received: (at 66912-close) by bugs.debian.org; 18 Jan 2001 21:04:41 +0000
>From troup@auric.debian.org Thu Jan 18 15:04:40 2001
Return-path: <troup@auric.debian.org>
Received: from murphy.debian.org [::ffff:216.234.231.6]
by master.debian.org with smtp (Exim 3.12 1 (Debian))
id 14JMEZ-0000f6-00; Thu, 18 Jan 2001 15:04:39 -0600
Received: (qmail 665 invoked from network); 18 Jan 2001 19:48:41 -0000
Received: from auric.debian.org (mail@206.246.226.45)
by murphy.debian.org with SMTP; 18 Jan 2001 19:48:41 -0000
Received: from troup by auric.debian.org with local (Exim 3.12 1 (Debian))
id 14JL1w-0006t3-00; Thu, 18 Jan 2001 14:47:32 -0500
From: Debian Policy List <debian-policy@lists.debian.org>
To: 66912-close@bugs.debian.org
Subject: Bug#66912: fixed in debian-policy 3.2.1.2
Message-Id: <E14JL1w-0006t3-00@auric.debian.org>
Sender: James Troup <troup@auric.debian.org>
Date: Thu, 18 Jan 2001 14:47:32 -0500
Delivered-To: 66912-close@bugs.debian.org
We believe that the bug you reported is fixed in the latest version of
debian-policy, which has been installed in the Debian FTP archive:
debian-policy_3.2.1.2.dsc
to pool/main/d/debian-policy/debian-policy_3.2.1.2.dsc
debian-policy_3.2.1.2_all.deb
to pool/main/d/debian-policy/debian-policy_3.2.1.2_all.deb
policy.text.gz byhand
policy.html.tar.gz byhand
menu-policy.text.gz byhand
debian-policy_3.2.1.2.tar.gz
to pool/main/d/debian-policy/debian-policy_3.2.1.2.tar.gz
virtual-package-names-list.text byhand
mime-policy.text.gz byhand
policy.ps.gz byhand
policy.pdf.gz byhand
libc6-migration.text byhand
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 66912@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Debian Policy List <debian-policy@lists.debian.org> (supplier of updated debian-policy package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Format: 1.7
Date: Thu, 18 Jan 2001 01:43:58 -0600
Source: debian-policy
Binary: debian-policy
Architecture: source all
Version: 3.2.1.2
Distribution: unstable
Urgency: low
Maintainer: Debian Policy List <debian-policy@lists.debian.org>
Changed-By: Manoj Srivastava <srivasta@debian.org>
Description:
debian-policy - Debian Policy Manual and related documents
Closes: 51879 53496 53700 55048 55730 57154 59403 65765 66912 76028
Changes:
debian-policy (3.2.1.2) unstable; urgency=low
.
* The minimal change in version number is so that people can test and
root out the bugs in this document before we make everyone change to
this version.
* Document the Enhances relationship
* Removed the restriction that one, and exactly one, person must
maintain a package. closes: Bug#51879
* Fixed a typo, and added the nogroup name, in uid/gid section of
policy. closes: Bug#53496
* Fixed a misstatement in policy about not needing to depend on packages
in the base system (not true -- the Essential tag is significant)
closes: Bug#53700
* Clarified update-rc.d stuff closes: Bug#55048
.
* We have already included the material for shlibdep changes, and most
of this is not relevant to policy anyway. closes: Bug#55730
* makedev--> MAKEDEV closes: Bug#57154
* Added restrictions on the files in /usr/share/doc/
closes: Bug#59403
* Changed location of a paragraph about copyright files into the section
that deals with copyright files. closes: Bug#65765
* init script configuration variables closes: Bug#66912
* Clarifed language about packages sharing a conffile need to be marked
as conflicting closes: Bug#76028
Files:
7873b3a6ddd5f3fc015ccb2aaae800a8 662 doc optional debian-policy_3.2.1.2.dsc
9cbc8f71b1bb280c441a9e33cc85daa5 486560 doc optional debian-policy_3.2.1.2.tar.gz
04d4f5d13f7ab04c97034c884e6425b4 542540 doc optional debian-policy_3.2.1.2_all.deb
42928cef99fee859b6442277e91eeb22 120715 byhand - policy.ps.gz
9632447891b3a57f956b52c80fd177e7 208362 byhand - policy.pdf.gz
0fbf6fcc843ed1c928f5f92b05949c43 66419 byhand - policy.html.tar.gz
203f852c33bd0d6df7b8a66977728d98 62122 byhand - policy.text.gz
3ed7aa5a489834b24bb28ff377a34aa9 10982 byhand - libc6-migration.text
1e4917c791262f0cd6de796444e51c86 7785 byhand - virtual-package-names-list.text
1b08168ee1c506d3475612bc4d3cdbbf 2180 byhand - menu-policy.text.gz
52f844690780aef153828e7325e90d91 1599 byhand - mime-policy.text.gz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org
iD8DBQE6ZqAGIbrau78kQkwRAdekAKDV1PGCUax5rPPt54LgMtGzQA5odACdH0xE
RX5CFc75JTHxEfEmaPEfUPk=
=+KRS
-----END PGP SIGNATURE-----
Reply to: