[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#208010: marked as done (Require init.d scripts comply with LSB)



Your message dated Sun, 28 May 2017 21:03:39 +0000
with message-id <E1dF5Lf-0000Uw-B4@fasolo.debian.org>
and subject line Bug#181123: fixed in debian-policy 4.0.0.0
has caused the Debian Bug report #181123,
regarding Require init.d scripts comply with LSB
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 this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
181123: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=181123
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: debian-policy
Version: 3.6.1.0
Severity: wishlist
Tags: patch

This proposal aims to synchronize the Debian Policy, section 9.3, with
the LSB 1.3.0, chapter 24 [1]. Attached is a patch and the resulting
plain text for better reading.

Notes:

* I suggest merging the "reserved for..." items, but left them
  separated for the moment.
* What is log_failure_msg? Does this make sense on a Debian system?
  Replace it or skip it?

Kind regards,

Martin

[1] http://www.linuxbase.org/spec/refspecs/LSB_1.3.0/gLSB/gLSB/iniscrptact.html
--- debian-policy-3.6.1.0.orig/policy.sgml	Tue Aug 19 14:32:23 2003
+++ debian-policy-3.6.1.0/policy.sgml	Sun Aug 31 13:04:48 2003
@@ -5362,13 +5362,16 @@
 	      <tag><tt>force-reload</tt></tag>
 	      <item>cause the configuration to be reloaded if the
 		  service supports this, otherwise restart the
-		  service.</item>
+		  service,</item>
+
+	      <tag><tt>status</tt></tag>
+	      <item>print the current status of the service.</item>
 	    </taglist>
 
-	    The <tt>start</tt>, <tt>stop</tt>, <tt>restart</tt>, and
-	    <tt>force-reload</tt> options should be supported by all
-	    scripts in <file>/etc/init.d</file>, the <tt>reload</tt>
-	    option is optional.
+	    The <tt>start</tt>, <tt>stop</tt>, <tt>restart</tt>,
+	    <tt>force-reload</tt>, and <tt>status</tt> options should
+	    be supported by all scripts in <file>/etc/init.d</file>,
+	    the <tt>reload</tt> option is optional.
 	  </p>
 
 	  <p>
@@ -5416,10 +5419,72 @@
 	    should include a <tt>test</tt> statement at the top of the
 	    script, like this:
 	    <example compact="compact">
-test -f <var>program-executed-later-in-script</var> || exit 0
+test -f <var>program-executed-later-in-script</var> || exit 5
 	    </example>
 	  </p>
 
+      <p>
+        In the case of init script commands other than <tt>status</tt> (i.e.,
+        <tt>start</tt>, <tt>stop</tt>, <tt>restart</tt>, <tt>reload</tt>, and
+        <tt>force-reload</tt>), the init script should return an exit status
+        of zero if the action described by the argument has been successful.
+        Otherwise, the init script should print an error message and return
+        one of the following non-zero exit status codes.
+        <taglist>
+          <tag>1</tag>
+          <item>generic or unspecified error,</item>
+          <tag>2</tag>
+          <item>invalid or excess argument(s),</item>
+          <tag>3</tag>
+          <item>unimplemented feature (for example, <tt>reload</tt>),</item>
+          <tag>4</tag>
+          <item>user had insufficient privilege,</item>
+          <tag>5</tag>
+          <item>program is not installed,</item>
+          <tag>6</tag>
+          <item>program is not configured,</item>
+          <tag>7</tag>
+          <item>program is not running,</item>
+          <tag>8-99</tag>
+          <item>reserved for future LSB use,</item>
+          <tag>100-149</tag>
+          <item>reserved for distribution use,</item>
+          <tag>150-199</tag>
+          <item>reserved for application use,</item>
+          <tag>200-254</tag>
+          <item>reserved.</item>
+        </taglist>
+        All error messages should be printed on standard error. All status
+        messages should be printed on standard output. (This does not prevent
+        scripts from calling the logging functions such as
+        <tt>log_failure_msg</tt>).
+      </p>
+
+	  <p>
+        If the status command is given, the init script should return the
+        following exit status codes.
+	    <taglist>
+	      <tag>0</tag>
+	      <item>program is running or service is OK,</item>
+	      <tag>1</tag>
+	      <item>program is dead and /var/run pid file exists,</item>
+	      <tag>2</tag>
+	      <item>program is dead and /var/lock lock file exists,</item>
+	      <tag>3</tag>
+	      <item>program is stopped,</item>
+	      <tag>4</tag>
+	      <item>program or service status is unknown,</item>
+	      <tag>5-99</tag>
+	      <item>reserved for future LSB use,</item>
+	      <tag>100-149</tag>
+	      <item>reserved for distribution use,</item>
+	      <tag>150-199</tag>
+	      <item>reserved for application use,</item>
+	      <tag>200-254</tag>
+	      <item>reserved.</item>
+	    </taglist>
+	  </p>
+
 	  <p>
 	    Often there are some variables in the <file>init.d</file>
 	    scripts whose values control the behaviour of the scripts,
@@ -5640,7 +5705,7 @@
 # Original version by Robert Leslie
 # &lt;rob@mars.org&gt;, edited by iwj and cs
 
-test -x /usr/sbin/named || exit 0
+test -x /usr/sbin/named || exit 5
 
 # Source defaults file.
 PARAMS=''
@@ -5648,6 +5713,14 @@
   . /etc/default/bind
 fi
 
+help () {
+  echo "Usage: /etc/init.d/bind {start|stop|restart|reload|force-reload}" >&2
+}
+
+if [ "$2" ]; then
+  help
+  exit 2
+fi
 
 case "$1" in
 start)
@@ -5676,10 +5749,13 @@
     --pidfile /var/run/named.pid --exec /usr/sbin/named
   echo "."
   ;;
+status)
+  help
+  exit 4
+  ;;
 *)
-  echo "Usage: /etc/init.d/bind " \
-         " {start|stop|restart|reload|force-reload}" >&2
-  exit 1
+  help
+  exit 2
   ;;
 esac
 
9.3. System run levels and `init.d' scripts
-------------------------------------------

9.3.1. Introduction
-------------------

     The `/etc/init.d' directory contains the scripts executed by `init' at
     boot time and when the init state (or "runlevel") is changed (see
     init(8)).

     There are at least two different, yet functionally equivalent, ways of
     handling these scripts.  For the sake of simplicity, this document
     describes only the symbolic link method.  However, it must not be
     assumed by maintainer scripts that this method is being used, and any
     automated manipulation of the various runlevel behaviours by
     maintainer scripts must be performed using `update-rc.d' as described
     below and not by manually installing or removing symlinks.  For
     information on the implementation details of the other method,
     implemented in the `file-rc' package, please refer to the
     documentation of that package.

     These scripts are referenced by symbolic links in the `/etc/rc<n>.d'
     directories.  When changing runlevels, `init' looks in the directory
     `/etc/rc<n>.d' for the scripts it should execute, where `<n>' is the
     runlevel that is being changed to, or `S' for the boot-up scripts.

     The names of the links all have the form `S<mm><script>' or
     `K<mm><script>' where <mm> is a two-digit number and <script> is the
     name of the script (this should be the same as the name of the actual
     script in `/etc/init.d').

     When `init' changes runlevel first the targets of the links whose
     names start with a `K' are executed, each with the single argument
     `stop', followed by the scripts prefixed with an `S', each with the
     single argument `start'.  (The links are those in the `/etc/rc<n>.d'
     directory corresponding to the new runlevel.) The `K' links are
     responsible for killing services and the `S' link for starting
     services upon entering the runlevel.

     For example, if we are changing from runlevel 2 to runlevel 3, init
     will first execute all of the `K' prefixed scripts it finds in
     `/etc/rc3.d', and then all of the `S' prefixed scripts in that
     directory.  The links starting with `K' will cause the referred-to
     file to be executed with an argument of `stop', and the `S' links with
     an argument of `start'.

     The two-digit number <mm> is used to determine the order in which to
     run the scripts: low-numbered links have their scripts run first.  For
     example, the `K20' scripts will be executed before the `K30' scripts.
     This is used when a certain service must be started before another.
     For example, the name server `bind' might need to be started before
     the news server `inn' so that `inn' can set up its access lists.  In
     this case, the script that starts `bind' would have a lower number
     than the script that starts `inn' so that it runs first:
          /etc/rc2.d/S17bind
          /etc/rc2.d/S70inn

     The two runlevels 0 (halt) and 6 (reboot) are slightly different.  In
     these runlevels, the links with an `S' prefix are still called after
     those with a `K' prefix, but they too are called with the single
     argument `stop'.

     Also, if the script name ends `.sh', the script will be sourced in
     runlevel `S' rather that being run in a forked subprocess, but will be
     explicitly run by `sh' in all other runlevels.

9.3.2. Writing the scripts
--------------------------

     Packages that include daemons for system services should place scripts
     in `/etc/init.d' to start or stop services at boot time or during a
     change of runlevel.  These scripts should be named
     `/etc/init.d/<package>', and they should accept one argument, saying
     what to do:

     `start'
          start the service,

     `stop'
          stop the service,

     `restart'
          stop and restart the service if it's already running, otherwise
          start the service

     `reload'
          cause the configuration of the service to be reloaded without
          actually stopping and restarting the service,

     `force-reload'
          cause the configuration to be reloaded if the service supports
          this, otherwise restart the service,

     `status'
          print the current status of the service.

     The `start', `stop', `restart', `force-reload', and `status' options
     should be supported by all scripts in `/etc/init.d', the `reload'
     option is optional.

     The `init.d' scripts should ensure that they will behave sensibly if
     invoked with `start' when the service is already running, or with
     `stop' when it isn't, and that they don't kill unfortunately-named
     user processes.  The best way to achieve this is usually to use
     `start-stop-daemon'.

     If a service reloads its configuration automatically (as in the case
     of `cron', for example), the `reload' option of the `init.d' script
     should behave as if the configuration has been reloaded successfully.

     The `/etc/init.d' scripts must be treated as configuration files,
     either (if they are present in the package, that is, in the .deb file)
     by marking them as `conffile's, or, (if they do not exist in the .deb)
     by managing them correctly in the maintainer scripts (see Section
     10.7, `Configuration files').  This is important since we want to give
     the local system administrator the chance to adapt the scripts to the
     local system, e.g., to disable a service without de-installing the
     package, or to specify some special command line options when starting
     a service, while making sure her changes aren't lost during the next
     package upgrade.

     These scripts should not fail obscurely when the configuration files
     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, as the `/etc/init.d/<package>' script itself
     is usually a `conffile', it 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 5

     In the case of init script commands other than `status' (i.e.,
     `start', `stop', `restart', `reload', and `force-reload'), the init
     script should return an exit status of zero if the action described by
     the argument has been successful.  Otherwise, the init script should
     print an error message and return one of the following non-zero exit
     status codes.

     1
          generic or unspecified error,

     2
          invalid or excess argument(s),

     3
          unimplemented feature (for example, `reload'),

     4
          user had insufficient privilege,

     5
          program is not installed,

     6
          program is not configured,

     7
          program is not running,

     8-99
          reserved for future LSB use,

     100-149
          reserved for distribution use,

     150-199
          reserved for application use,

     200-254
          reserved.

     All error messages should be printed on standard error.  All status
     messages should be printed on standard output.  (This does not prevent
     scripts from calling the logging functions such as `log_failure_msg').

     If the status command is given, the init script should return the
     following exit status codes.

     0
          program is running or service is OK,

     1
          program is dead and /var/run pid file exists,

     2
          program is dead and /var/lock lock file exists,

     3
          program is stopped,

     4
          program or service status is unknown,

     5-99
          reserved for future LSB use,

     100-149
          reserved for distribution use,

     150-199
          reserved for application use,

     200-254
          reserved.

     Often there are some variables in the `init.d' scripts whose values
     control the behaviour of the scripts, and which a system administrator
     is likely to want to change.  As the scripts themselves are frequently
     `conffile's, 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 should be sourced by the script when the script runs.  It
     must contain only variable settings and comments in POSIX `sh' format.
     It may either be a `conffile' or a configuration file maintained by
     the package maintainer scripts.  See Section 10.7, `Configuration
     files' for more details.

     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, either before sourcing the `/etc/default/' file or
     afterwards using something like the `: ${VAR:=default}' syntax.  Also,
     the `init.d' script must behave sensibly and not fail if the
     `/etc/default' file is deleted.

9.3.3. Interfacing with the initscript system
---------------------------------------------

     Maintainers should use the abstraction layer provided by the
     `update-rc.d' and `invoke-rc.d' programs to deal with initscripts in
     their packages' scripts such as `postinst', `prerm' and `postrm'.

     Directly managing the /etc/rc?.d links and directly invoking the
     `/etc/init.d/' initscripts should be done only by packages providing
     the initscript subsystem (such as `sysv-rct' and `file-rc').

9.3.3.1. Managing the links
---------------------------

     The program `update-rc.d' is provided 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 must not include any `/etc/rc<n>.d' symbolic links in the actual
     archive or manually create or remove the symbolic links in maintainer
     scripts; you must use the `update-rc.d' program instead.  (The former
     will fail if an alternative method of maintaining runlevel information
     is being used.) You must not include the `/etc/rc<n>.d' directories
     themselves in the archive either.  (Only the `sysvinit' package may do
     so.)

     By default `update-rc.d' 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
     `/etc/rc<n>.d' if symbolic links are being used, or by modifying
     `/etc/runlevel.conf' if the `file-rc' method is being used.

     To get the default behavior for your package, put in your `postinst'
     script
          		update-rc.d <package> defaults
     and in your `postrm'
          		if [ "$1" = purge ]; then
          		update-rc.d <package> remove
          		fi
     .  Note that if your package changes runlevels or priority, you may
     have to remove and recreate the links, since otherwise the old links
     may persist.  Refer to the documentation of `update-rc.d'.

     This will use a default sequence number of 20.  If it does not matter
     when or in which order the `init.d' script is run, use this default.
     If it does, then you should talk to the maintainer of the `sysvinit'
     package or post to `debian-devel', and they will help you choose a
     number.

     For more information about using `update-rc.d', please consult its
     manpage update-rc.d(8).

9.3.3.2. Running initscripts
----------------------------

     The program `invoke-rc.d' is provided to make it easier for package
     maintainers to properly invoke an initscript, obeying runlevel and
     other locally-defined constraints that might limit a package's right
     to start, stop and otherwise manage services.  This program may be
     used by maintainers in their packages' scripts.

     The use of `invoke-rc.d' to invoke the `/etc/init.d/*' initscripts is
     strongly recommended[1], instead of calling them directly.

     By default, `invoke-rc.d' will pass any action requests (start, stop,
     reload, restart...) to the `/etc/init.d' script, filtering out
     requests to start or restart a service out of its intended runlevels.

     Most packages will simply need to change:
          /etc/init.d/<package>
          	      <action>
     in their `postinst' and `prerm' scripts to:
                    if [ -x /usr/sbin/invoke-rc.d ] ; then
          		invoke-rc.d <package> <action>
                    else
                       /etc/init.d/<package> <action>
                    fi

     A package should register its initscript services using `update-rc.d'
     before it tries to invoke them using `invoke-rc.d'.  Invocation of
     unregistered services may fail.

     For more information about using `invoke-rc.d', please consult its
     manpage invoke-rc.d(8).

[1]  In the future, the use of invoke-rc.d to invoke initscripts shall be
     made mandatory.  Maintainers are advised to switch to invoke-rc.d as
     soon as possible.

9.3.4. Boot-time initialization
-------------------------------

     There used to be another directory, `/etc/rc.boot', which contained
     scripts which were run once per machine boot.  This has been
     deprecated in favour of links from `/etc/rcS.d' to files in
     `/etc/init.d' as described in Section 9.3.1, `Introduction'.  Packages
     must not place files in `/etc/rc.boot'.

9.3.5. 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 system administrator can
     say `/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; this value is read from
     `/etc/default/bind' (see below).

#!/bin/sh
#
# Original version by Robert Leslie
# <rob@mars.org>, edited by iwj and cs

test -x /usr/sbin/named || exit 5

# Source defaults file.
PARAMS=''
if [ -f /etc/default/bind ]; then
  . /etc/default/bind
fi

help () {
  echo "Usage: /etc/init.d/bind {start|stop|restart|reload|force-reload}" >&2
}

if [ "$2" ]; then
  help
  exit 2
fi

case "$1" in
start)
  echo -n "Starting domain name service: 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 --oknodo \
    --pidfile /var/run/named.pid --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 "."
  ;;
status)
  help
  exit 4
  ;;
*)
  help
  exit 2
  ;;
esac

exit 0

     Complementing the above init script is a configuration file
     `/etc/default/bind', which contains configurable parameters used by
     the script.  This would be created by the `postinst' script if it was
     not already present, and removed on purge by the `postrm' 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 you can base your `/etc/init.d' scripts is
     found in `/etc/init.d/skeleton'.

     If this package is happy with the default setup from `update-rc.d',
     namely an ordering number of 20 and having named running in all
     runlevels, it can say in its `postinst':
          update-rc.d bind defaults >/dev/null
     And in its `postrm', to remove the links when the package is purged:
          if [ "$1" = purge ]; then
            update-rc.d bind remove >/dev/null
          fi

Attachment: pgpfTxtdPzsgz.pgp
Description: PGP signature


--- End Message ---
--- Begin Message ---
Source: debian-policy
Source-Version: 4.0.0.0

We believe that the bug you reported is fixed in the latest version of
debian-policy, which is due to be installed in the Debian FTP archive.

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 181123@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Russ Allbery <rra@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@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sun, 28 May 2017 12:27:07 -0700
Source: debian-policy
Binary: debian-policy
Architecture: source
Version: 4.0.0.0
Distribution: experimental
Urgency: low
Maintainer: Debian Policy List <debian-policy@lists.debian.org>
Changed-By: Russ Allbery <rra@debian.org>
Description:
 debian-policy - Debian Policy Manual and related documents
Closes: 175064 181123 568374 688220 698012 700532 734662 746514 759186 759492 768117 768292 781654 792853 793493 793999 794902 798309 809382 816249 816515 819660 820197 821365 821859 822059 823348 823910 824922 829367 830989 833177 835490 835876 841877 849483 850646 852314
Changes:
 debian-policy (4.0.0.0) experimental; urgency=low
 .
   [ Andreas Barth ]
   * Policy: Add the MPLs to /usr/share/common-licenses
     Wording: Charles Plessy <plessy@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Andrey Rahmatullin <wrar@debian.org>
     Closes: #768292
   * Policy: [5.6.12] forbid colons in package version numbers
     Wording: Charles Plessy <plessy@debian.org>
     Seconded: Didier 'OdyX' Raboud <odyx@debian.org>
     Seconded: Sam Hartman <hartmans@debian.org>
     Thanks: Jakub Wilk <jwilk@debian.org>
     Closes: #792853
   * Policy: [4.3] Update config.guess and config.sub during the build
     Wording:  Bill Allombert <ballombe@debian.org>
     Seconded: Niels Thykier <niels@thykier.net>
     Seconded: Andreas Barth <aba@ayous.org>
     Closes: #746514
   * Spelling fixes, thanks to Martin A. Brown. Closes: #820197
 .
   [ Russ Allbery ]
   * Policy: [10.9] Don't contact base-passwd maintainer for dynamic users
     Wording: Colin Watson <cjwatson@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Didier 'OdyX' Raboud <odyx@debian.org>
     Seconded: gregor herrmann <gregoa@debian.org>
     Closes: #841877
   * Policy: Document Build-Depends-Arch and Build-Conflicts-Arch
     Wording: Johannes Schauer <josch@debian.org>
     Seconded: Stuart Prescott <stuart@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #823910
   * Policy: Add nodoc tag to DEB_BUILD_OPTIONS
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Johannes Schauer <j.schauer@email.de>
     Seconded: Charles Plessy <plessy@debian.org>
     Seconded: Andrey Rahmatullin <wrar@debian.org>
     Closes: #759186
   * Policy: Prohibit file conflicts between /bin and /usr/bin
     Wording: Ansgar Burchardt <ansgar@debian.org>
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Raphael Hertzog <hertzog@debian.org>
     Seconded: Felipe Sateler <fsateler@debian.org>
     Closes: #759492
   * Policy: Debug packages don't need a debian/control paragraph
     Wording: Tanguy Ortolo <tanguy+debian@ortolo.eu>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Raphael Hertzog <hertzog@debian.org>
     Closes: #819660
   * Policy: New dpkg-architecture flags
     Wording: Guillem Jover <guillem@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Raphael Hertzog <hertzog@debian.org>
     Closes: #793493
   * Policy: Remove even the fallback to calling /etc/init.d directly
     Wording: Ondřej Nový <onovy@debian.org>
     Seconded: Michael Stapelberg <stapelberg@debian.org>
     Seconded: Andreas Henriksson <andreas@fatal.se>
     Closes: #833177
   * Policy: Limit strength of dependencies on -doc packages
     Wording: Josh Triplett <josh@joshtriplett.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Raphael Hertzog <hertzog@debian.org>
     Seconded: Niels Thykier <niels@thykier.net>
     Closes: #823348
   * Policy: Explicitly allow https form of copyright-format URL
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Andrey Rahmatullin <wrar@debian.org>
     Seconded: gregor herrmann <gregoa@debian.org>
     Seconded: Didier 'OdyX' Raboud <odyx@debian.org>
     Closes: #850646
   * Policy: Recommend libraryname-dev or librarynameAPIVERSION-dev
     Wording: Ansgar Burchardt <ansgar@debian.org>
     Seconded: Julien Cristau <jcristau@debian.org>
     Seconded: Emilio Pozuelo Monfort <pochu@debian.org>
     Closes: #568374
   * Policy: Add optional try-restart init status, make status recommended
     Wording: Andreas Henriksson <andreas@fatal.se>
     Seconded: Simon McVittie <smcv@debian.org>
     Seconded: Felipe Sateler <fsateler@debian.org>
     Seconded: Ondřej Nový <novy@ondrej.org>
     Closes: #181123
   * Policy: No special dependency now required for /run
     Wording: Marc Haber <mh+debian-packages@zugschlus.de>
     Seconded: Andreas Henriksson <andreas@fatal.se>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #852314
   * Policy: Update policy on /dev and device file management
     Wording: Russ Allbery <rra@debian.org>
     Seconded: Andreas Henriksson <andreas@fatal.se>
     Seconded: Simon McVittie <smcv@debian.org>
     Closes: #698012
   * Policy: Remove integration instructions for upstart
     Wording: Ansgar Burchardt <ansgar@debian.org>
     Seconded: Michael Biebl <biebl@debian.org>
     Seconded: Andrey Rahmatullin <wrar@debian.org>
     Seconded: Simon McVittie <smcv@debian.org>
     Closes: #835490
   * Perl: Update module search path for multiarch support
     Wording: Dominic Hargreaves <dom@earth.li>
     Seconded: Niko Tyni <ntyni@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #798309
   * virtual-package-names-list: Add adventure
     Wording: Ben Finney <ben+debian@benfinney.id.au>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Niels Thykier <niels@thykier.net>
     Closes: #821859
   * virtual-package-names-list: Add httpd-wsgi3
     Wording: Bill Allombert <ballombe@debian.org>
     Seconded: Brian May <bam@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Closes: #768117
   * virtual-package-names-list: Add virtual-mysql-* packages
     Wording: Otto Kekäläinen <otto@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
     Seconded: Raphael Hertzog <hertzog@debian.org>
     Closes: #829367
   * Convert all remaining DebianDoc-SGML source files in the package to
     DocBook XML.  Many thanks to Osamu Aoki and Guillem Jover for lots of
     hard work on the conversion.  This was a huge conversion, so there
     will probably be some lingering formatting issues, incorrect markup,
     and less-than-ideal output.  Please report any problems as bugs.
     (Closes: #175064, #700532, #809382)
   * Additional fixes from Guillem Jover as part of the DocBook conversion:
     - Stop distributing the source SGML files as part of the installed
       package.  There doesn't seem to be any point in doing this.
     - Switch to xsltproc and dblatex instead of OpenJade.
     - Stop using tidy on the generated files since it generates larger
       files and the output from xsltproc is already compliant and fairly
       clean.
     - Remove unused Build-Depends.
     - Use entities instead of literal <, >, and & characters.
     - Use <var> instead of escaped angle brackets for metavariables.
     - Use <var> instead of <em> inside <tt>.
     - Avoid slashes in section IDs.
     - Convert a comment about maintenance policy in the Menu Policy
       document to a regular paragraph in the document.
     - Replace a comment reference to the policy maintenance process with
       an actual link to Process.md.
     - Remove obsolete SGML comments.
   * Move the description of < and > relations to a footnote to make
     abundantly clear that they're no longer valid relation operators in
     dependencies.  (Closes: #816515)
   * Clarify informative mentions of debian/tmp in the appendices to
     document the now-common use of debian/<pkg> instead as the temporary
     staging area.  Document that convention, instead of
     debian/tmp-something, for multi-binary packages.  Thanks, Niels
     Thykier.  (Closes: #816249)
   * Remove lingering wording that implied that build-arch and build-indep
     targets are optional.  Thanks, Ferenc Wagner, Jakub Wilk, and Charles
     Plessy.  (Closes: #793999)
   * Rather than giving the paths to the installed shlibs and symbols files
     and then saying those paths shouldn't be used, just say to use
     dpkg-query --control-show.  Recommend --control-show instead of
     --control-path, since the latter is deprecated.  Patch from Salvatore
     Bonaccorso.  (Closes: #688220)
   * Explicitly give Unicode code points in the definition of the syntax of
     Debian control files and, where appropriate, show the character.
     Patch from Ben Finney.  (Closes: #821365)
   * Remove obsolete footnote about a versioned dependency on a
     liblockfile1 release from 1999.  Thanks, Jakub Wilk.  (Closes: #794902)
   * Fix the long name of the Common Public License in the copyright-format
     policy.  It is just Common Public License, with no leading "IBM".
     Thanks, Stefano Zacchiroli.  (Closes: #781654)
   * Fix the copyright-format examples to not have duplicate License
     paragraphs.  Thanks, Stefan <bd@bc-bd.org>.  (Closes: #824922)
   * Replace reference to dbus-launch in the autopkgtest documentation with
     dbus-run-session.  Patch from Simon McVittie.  (Closes: #835876)
   * Add an example of an architecture restriction in a dependency with
     multiple architectures separated by spaces.  (Closes: #734662)
   * Replace use of markdown with MultiMarkdown for the autopkgtest
     documentation and convert README and Process to MultiMarkdown, thus
     dropping the last org-mode files and the build dependency on Emacs.
     Patch from Guillem Jover.  (Closes: #849483)
   * Add some additional information to the upgrading-checklist entry for
     the 3.9.8.0 release.
   * Fix debian/changelog and upgrading-checklist dates for the 3.9.8.0
     release to match the actual upload.  (Closes: #822059)
   * Fix duplicated "the" words in 4.4 and 8.6.3.2.  Patch from Valentin
     Samir.  (Closes: #830989)
   * Clean up the upgrading checklist a bit:
     - Rewrite the introduction to read a bit more smoothly and mention
       that the Standards-Version value omits the minor patch number.
     - Remove the minor patch number from all the version headings except
       for the anomalies that contain normative changes, and note those
       explicitly.
     - Remove some unhelpful section headings and trailing colons in very
       old upgrading checklist entries.
     - Standardize the release date format.
   * Compress all files with gzip -n to avoid embedding timestamps,
     enabling reproducible builds.
   * Redo some of the Makefile and debian/rules dependencies to avoid
     ambiguous pattern rules and to ensure that make at the top level
     rebuilds output files if input files change.
   * Switch to https URLs for Vcs-Git and Vcs-Browser.
   * Use the same URL for both Vcs-Git and Vcs-Browser, which now works
     fine and has some advantages over the gitweb version for Vcs-Browser.
     Thanks, Mattia Rizzolo.
   * Run wrap-and-sort -ast.
   * Tag as Multi-Arch: foreign (mostly to silence the hinter).
 .
   [ Sean Whitton ]
   * Remove references to DebianDoc-SGML from README.md.
   * Fix typo & comma splice in Process.md.
Checksums-Sha1:
 67549dd71ee43fecadc298baadedb53d66140acd 1586 debian-policy_4.0.0.0.dsc
 94c933d5c4b474500185adab753affe6962562df 659440 debian-policy_4.0.0.0.tar.xz
Checksums-Sha256:
 5e2ec94dbf584b2889b309ad45fb12d1fd03bc953d90273d8ea0fee402e62ecc 1586 debian-policy_4.0.0.0.dsc
 539fe5c192532eb53fb7d5ffe05a241a0a1ead3cc9f39d88f4656f27110ee877 659440 debian-policy_4.0.0.0.tar.xz
Files:
 f759af808fe56dbb1b3c0469c755fa48 1586 doc optional debian-policy_4.0.0.0.dsc
 9fe33a84526b82d4544e30f604e6523f 659440 doc optional debian-policy_4.0.0.0.tar.xz

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEE1zk0tJZ0z1zNmsJ4fYAxXFc23nUFAlkrM1UACgkQfYAxXFc2
3nWPrgf/X6/Hn4HFhSQk4uX2Rz7SMU9Mo+dVkSNrzPCVhVjR0EfHu5UbBmwGnXTO
3yshmDFJhz2YKcyjHKB63kmC4rYhoJdCWHDDqjCzCPtmaKRqEHUBJ3pPyOkPz3ZB
h637OyUtQEuxXnp1+a6l6aPxBhz/r1mfa/efDNoJAgmXhTREnwOiAi6BXkK6pG81
fqzW9+cyKK0okJdUKNmAu/mgCtKF1iSIWd86oQUzxs9lNXUVEwbUSqLH9hfe0XvJ
4OmO62NCeoQUFuSFSke97ugadrt8LXezgNNSKr+OXRcz5pSRCBQXpBaFFpYHg7OV
IsLauUljsVlA60IDzAV6kamuBqmMJw==
=5fyI
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: