On Wed, 02 Aug 2017 18:57:03 +0000, Holger Levsen wrote: > $ git log master..for-holger --oneline -11 > a8e08d5 Bug#835520: [PATCH v2 11/11] Drop entire section 9.4 Console messages from init.d scripts > dfa8fae Bug#835520: [PATCH v2 10/11] Add reference to systemd integration examples > 658c3c2 Bug#835520: [PATCH v2 09/11] Drop obsolete paragraph about rc.boot > 5364c04 Bug#835520: [PATCH v2 08/11] Add note about invoke-rc.d normally used via dh > 24d45b9 Bug#835520: [PATCH v2 07/11] Drop legacy code from invoke-rc.d example > 6964322 Bug#835520: [PATCH v2 06/11] Add "or equivalent" to must use invoke-rc.d paragraph > 8ab2800 Bug#835520: [PATCH v2 05/11] Add note about update-rc.d normally used via dh > 5103414 Bug#835520: [PATCH v2 04/11] Drop outdated paragraph about sequence numbers > 5314e48 Bug#835520: [PATCH v2 03/11] Drop obsolete paragraph about static runlevels and update-rc.d > e553ef7 Bug#835520: [PATCH v2 02/11] Update init-system title to be more agnostic > 5965214 Bug#835520: [PATCH v2 01/11] Drop outdated "/run needs initscripts dependency" > > Hereby I'm formally seconding them and thus I'm attaching those commits signed > by myself. I'm seconding this patchset as well. Including below to have the actual diff signed. Cheers, gregor --- boq --- 5965214 Bug#835520: [PATCH v2 01/11] Drop outdated "/run needs initscripts dependency" diff --git a/policy.sgml b/policy.sgml index 9cd182b..81df4a3 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7053,12 +7053,6 @@ Built-Using: grub2 (= 1.99-9), loadlin (= 1.6e-1) in <file>/run</file> should be stored on a temporary file system. </p> - <p> - Packages must not assume the <file>/run</file> - directory exists or is usable without a dependency - on <tt>initscripts (>= 2.88dsf-13.3)</tt> until the - stable release of Debian supports <file>/run</file>. - </p> </item> <item> <p> e553ef7 Bug#835520: [PATCH v2 02/11] Update init-system title to be more agnostic diff --git a/policy.sgml b/policy.sgml index 81df4a3..07b7e4f 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7648,7 +7648,7 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </sect1> <sect1> - <heading>Interfacing with the initscript system</heading> + <heading>Interfacing with init systems</heading> <p> Maintainers should use the abstraction layer provided by 5314e48 Bug#835520: [PATCH v2 03/11] Drop obsolete paragraph about static runlevels and update-rc.d diff --git a/policy.sgml b/policy.sgml index 07b7e4f..32e1efc 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7691,19 +7691,6 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </p> <p> - By default <prgn>update-rc.d</prgn> will start services in - each of the multi-user state runlevels (2, 3, 4, and 5) - and stop them in the halt runlevel (0), the single-user - runlevel (1) and the reboot runlevel (6). The system - administrator will have the opportunity to customize - runlevels by simply adding, moving, or removing the - symbolic links in <file>/etc/rc<var>n</var>.d</file> if - symbolic links are being used, or by modifying - <file>/etc/runlevel.conf</file> if the <tt>file-rc</tt> method - is being used. - </p> - - <p> To get the default behavior for your package, put in your <prgn>postinst</prgn> script <example compact="compact"> 5103414 Bug#835520: [PATCH v2 04/11] Drop outdated paragraph about sequence numbers diff --git a/policy.sgml b/policy.sgml index 32e1efc..d1108be 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7708,15 +7708,6 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </p> <p> - This will use a default sequence number of 20. If it does - not matter when or in which order the <file>init.d</file> - script is run, use this default. If it does, then you - should talk to the maintainer of the <prgn>sysvinit</prgn> - package or post to <tt>debian-devel</tt>, and they will - help you choose a number. - </p> - - <p> For more information about using <tt>update-rc.d</tt>, please consult its man page <manref name="update-rc.d" section="8">. 8ab2800 Bug#835520: [PATCH v2 05/11] Add note about update-rc.d normally used via dh diff --git a/policy.sgml b/policy.sgml index d1108be..37cac8a 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7712,6 +7712,14 @@ test -f <var>program-executed-later-in-script</var> || exit 0 please consult its man page <manref name="update-rc.d" section="8">. </p> + + <p> + Note that the packaging should normally not call update-rc.d + directly but through debhelper programs that add the required + update-rc.d calls automatically. + (See <prgn>dh_installinit</prgn>, + <prgn>dh_systemd_enable</prgn>, etc.) + </p> </sect2> <sect2> 6964322 Bug#835520: [PATCH v2 06/11] Add "or equivalent" to must use invoke-rc.d paragraph diff --git a/policy.sgml b/policy.sgml index 37cac8a..742ab81 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7736,8 +7736,8 @@ test -f <var>program-executed-later-in-script</var> || exit 0 <p> The package maintainer scripts must use <prgn>invoke-rc.d</prgn> to invoke the - <file>/etc/init.d/*</file> initscripts, instead of - calling them directly. + <file>/etc/init.d/*</file> initscripts or equivalent, + instead of calling them directly. </p> <p> 24d45b9 Bug#835520: [PATCH v2 07/11] Drop legacy code from invoke-rc.d example diff --git a/policy.sgml b/policy.sgml index 742ab81..d2e39ae 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7749,17 +7749,11 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </p> <p> - Most packages will simply need to change: - <example compact="compact">/etc/init.d/<package> - <action></example> in their <prgn>postinst</prgn> - and <prgn>prerm</prgn> scripts to: + Most packages will simply use: <example compact="compact"> - if which invoke-rc.d >/dev/null 2>&1; then invoke-rc.d <var>package</var> <action> - else - /etc/init.d/<var>package</var> <action> - fi </example> + in their <prgn>postinst</prgn> and <prgn>prerm</prgn> scripts. </p> <p> 5364c04 Bug#835520: [PATCH v2 08/11] Add note about invoke-rc.d normally used via dh diff --git a/policy.sgml b/policy.sgml index d2e39ae..2589fe5 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7768,6 +7768,14 @@ test -f <var>program-executed-later-in-script</var> || exit 0 <prgn>invoke-rc.d</prgn>, please consult its man page <manref name="invoke-rc.d" section="8">. </p> + + <p> + Note that the packaging should normally not call invoke-rc.d + directly but through debhelper programs that add the required + invoke-rc.d calls automatically. + (See <prgn>dh_installinit</prgn>, + <prgn>dh_systemd_start</prgn>, etc.) + </p> </sect2> </sect1> 658c3c2 Bug#835520: [PATCH v2 09/11] Drop obsolete paragraph about rc.boot diff --git a/policy.sgml b/policy.sgml index 2589fe5..707b716 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7780,19 +7780,6 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </sect1> <sect1> - <heading>Boot-time initialization</heading> - - <p> - There used to be another directory, <file>/etc/rc.boot</file>, - which contained scripts which were run once per machine - boot. This has been deprecated in favour of links from - <file>/etc/rcS.d</file> to files in <file>/etc/init.d</file> as - described in <ref id="/etc/init.d">. Packages must not - place files in <file>/etc/rc.boot</file>. - </p> - </sect1> - - <sect1> <heading>Example</heading> <p> dfa8fae Bug#835520: [PATCH v2 10/11] Add reference to systemd integration examples diff --git a/policy.sgml b/policy.sgml index 707b716..871011f 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7786,6 +7786,8 @@ test -f <var>program-executed-later-in-script</var> || exit 0 An example on which you can base your <file>/etc/init.d</file> scripts is found in <file>/etc/init.d/skeleton</file>. + Examples on which you can base your systemd integration on + is available in the man page <manref name="systemd.unit" section="8">. </p> </sect1> a8e08d5 Bug#835520: [PATCH v2 11/11] Drop entire section 9.4 Console messages from init.d scripts diff --git a/policy.sgml b/policy.sgml index 871011f..409949e 100644 --- a/policy.sgml +++ b/policy.sgml @@ -7793,202 +7793,6 @@ test -f <var>program-executed-later-in-script</var> || exit 0 </sect1> </sect> - <sect> - <heading>Console messages from <file>init.d</file> scripts</heading> - - <p> - This section describes the formats to be used for messages - written to standard output by the <file>/etc/init.d</file> - scripts. The intent is to improve the consistency of - Debian's startup and shutdown look and feel. For this - reason, please look very carefully at the details. We want - the messages to have the same format in terms of wording, - spaces, punctuation and case of letters. - </p> - - <p> - Here is a list of overall rules that should be used for - messages generated by <file>/etc/init.d</file> scripts. - </p> - - <p> - <list> - <item> - The message should fit in one line (fewer than 80 - characters), start with a capital letter and end with - a period (<tt>.</tt>) and line feed (<tt>"\n"</tt>). - </item> - - <item> - If the script is performing some time consuming task in - the background (not merely starting or stopping a - program, for instance), an ellipsis (three dots: - <tt>...</tt>) should be output to the screen, with no - leading or tailing whitespace or line feeds. - </item> - - <item> - The messages should appear as if the computer is telling - the user what it is doing (politely :-), but should not - mention "it" directly. For example, instead of: - <example compact="compact"> -I'm starting network daemons: nfsd mountd. - </example> - the message should say - <example compact="compact"> -Starting network daemons: nfsd mountd. - </example> - </item> - </list> - </p> - - <p> - <tt>init.d</tt> script should use the following standard - message formats for the situations enumerated below. - </p> - - <p> - <list> - <item> - <p>When daemons are started</p> - - <p> - If the script starts one or more daemons, the output - should look like this (a single line, no leading - spaces): - <example compact="compact"> -Starting <var>description</var>: <var>daemon-1</var> ... <var>daemon-n</var>. - </example> - The <var>description</var> should describe the - subsystem the daemon or set of daemons are part of, - while <var>daemon-1</var> up to <var>daemon-n</var> - denote each daemon's name (typically the file name of - the program). - </p> - - <p> - For example, the output of <file>/etc/init.d/lpd</file> - would look like: - <example compact="compact"> -Starting printer spooler: lpd. - </example> - </p> - - <p> - This can be achieved by saying - <example compact="compact"> -echo -n "Starting printer spooler: lpd" -start-stop-daemon --start --quiet --exec /usr/sbin/lpd -echo "." - </example> - in the script. If there are more than one daemon to - start, the output should look like this: - <example compact="compact"> -echo -n "Starting remote file system services:" -echo -n " nfsd"; start-stop-daemon --start --quiet nfsd -echo -n " mountd"; start-stop-daemon --start --quiet mountd -echo -n " ugidd"; start-stop-daemon --start --quiet ugidd -echo "." - </example> - This makes it possible for the user to see what is - happening and when the final daemon has been started. - Care should be taken in the placement of white spaces: - in the example above the system administrators can - easily comment out a line if they don't want to start - a specific daemon, while the displayed message still - looks good. - </p> - </item> - - <item> - <p>When a system parameter is being set</p> - - <p> - If you have to set up different system parameters - during the system boot, you should use this format: - <example compact="compact"> -Setting <var>parameter</var> to "<var>value</var>". - </example> - </p> - - <p> - You can use a statement such as the following to get - the quotes right: - <example compact="compact"> -echo "Setting DNS domainname to \"$domainname\"." - </example> - </p> - - <p> - Note that the same symbol (<tt>"</tt>) <!-- " --> is used - for the left and right quotation marks. A grave accent - (<tt>`</tt>) is not a quote character; neither is an - apostrophe (<tt>'</tt>). - </p> - </item> - - <item> - <p>When a daemon is stopped or restarted</p> - - <p> - When you stop or restart a daemon, you should issue a - message identical to the startup message, except that - <tt>Starting</tt> is replaced with <tt>Stopping</tt> - or <tt>Restarting</tt> respectively. - </p> - - <p> - For example, stopping the printer daemon will look like - this: - <example compact="compact"> -Stopping printer spooler: lpd. - </example> - </p> - </item> - - <item> - <p>When something is executed</p> - - <p> - There are several examples where you have to run a - program at system startup or shutdown to perform a - specific task, for example, setting the system's clock - using <prgn>netdate</prgn> or killing all processes - when the system shuts down. Your message should look - like this: - <example compact="compact"> -Doing something very useful...done. - </example> - You should print the <tt>done.</tt> immediately after - the job has been completed, so that the user is - informed why they have to wait. You can get this - behavior by saying - <example compact="compact"> -echo -n "Doing something very useful..." -do_something -echo "done." - </example> - in your script. - </p> - </item> - - <item> - <p>When the configuration is reloaded</p> - - <p> - When a daemon is forced to reload its configuration - files you should use the following format: - <example compact="compact"> -Reloading <var>description</var> configuration...done. - </example> - where <var>description</var> is the same as in the - daemon starting message. - </p> - </item> - </list> - </p> - </sect> - <sect id="cron-jobs"> <heading>Cron jobs</heading> --- eoq --- -- .''`. https://info.comodo.priv.at/ - Debian Developer https://www.debian.org : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D 85FA BB3A 6801 8649 AA06 `. `' Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe `-
Attachment:
signature.asc
Description: Digital Signature