]> git.donarmstrong.com Git - debian/debian-policy.git/commitdiff
Merge branch 'master' into srivasta
authorManoj Srivastava <srivasta@debian.org>
Mon, 7 Sep 2009 20:31:00 +0000 (15:31 -0500)
committerManoj Srivastava <srivasta@debian.org>
Mon, 7 Sep 2009 20:31:00 +0000 (15:31 -0500)
Makefile
debian/changelog
debian/control
debian/rules
perl-policy.sgml
policy.sgml
upgrading-checklist.html

index efb5b7b927e1897e054f9e90df1354e5a2e589da..1d0852e5141aa6722af1acaeadf14ef2298acaf6 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -10,6 +10,11 @@ mime-policy.sgml: version.ent
 %.html/index.html: %.sgml
        LANG=C debiandoc2html $<
 
+%-1.html: %.sgml
+       LANG=C debiandoc2html -1 -b $*-1d $< && \
+        mv $*-1d.html/index.html $*-1.html && \
+        rmdir $*-1d.html
+
 %.html.tar.gz: %.html/index.html
        tar -czf $(<:/index.html=.tar.gz) $(<:/index.html=)
 
@@ -33,6 +38,7 @@ mime-policy.sgml: version.ent
 
 # convenience aliases :)
 html: policy.html/index.html
+html-1: policy-1.html
 txt text: policy.txt
 ps: policy.ps
 pdf: policy.pdf
index 589f711f092c7b2263c28aa7a8f298461ae3426b..6da7e5a1c97ea0e2d5b26af7b795fd0fd4fcdeb1 100644 (file)
@@ -1,4 +1,93 @@
-debian-policy (3.8.2.0) UNRELEASED; urgency=low
+debian-policy (3.8.3.1) unstable; urgency=low
+
+  * Also provide documents in single-file HTML format.
+    Proposed by Jari Aalto.
+    Closes: #544353
+
+ -- Bill Allombert <ballombe@debian.org>  Fri, 04 Sep 2009 14:32:42 +0200
+
+debian-policy (3.8.3.0) unstable; urgency=low
+
+  * Policy: Bring Architecture description in line with dpkg-source
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Raphael Hertzog <hertzog@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Closes: #530967
+  * Policy: Update information about DEB_*_ARCH variables
+    Wording: Guillem Jover <guillem@debian.org>
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Andrew McMillan <andrew@morphoss.com>
+    Closes: #527871
+  * Policy: Remove support for uploads to multiple distributions
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Raphael Hertzog <hertzog@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Closes: #514919
+  * Policy: Remove permission for packages to modify ld.so.conf
+    Wording: Steve Langasek <vorlon@debian.org>
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Kurt Roeckx <kurt@roeckx.be>
+    Seconded: Adeodato Simó <dato@net.com.org.es>
+    Seconded: Julien Cristau <jcristau@debian.org>
+    Closes: #519941
+  * Policy: Clarify X installation directory handling
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Julien Cristau <jcristau@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Seconded: Raphaël Hertzog <hertzog@debian.org>
+    Closes: #522217
+  * Policy: Localized man pages should be up-to-date or warn
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Julien Cristau <jcristau@debian.org>
+    Seconded: Raphaël Hertzog <hertzog@debian.org>
+    Closes: #493007
+  * Policy: Remove restriction on manual page character encoding
+    Wording: Colin Watson <cjwatson@debian.org>
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Manoj Srivastava <srivasta@golden-gryphon.com>
+    Closes: #537707
+  * Policy: Allow Binary field to span multiple lines
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Julien Cristau <jcristau@debian.org>
+    Seconded: Guillem Jover <guillem@debian.org>
+    Closes: #533852
+  * Policy: Revise info requirements for triggerized install-info
+    Wording: Russ Allbery <rra@debian.org>
+    Seconded: Guillem Jover <guillem@debian.org>
+    Seconded: Raphaël Hertzog <hertzog@debian.org>
+    Closes: #538665
+  * Perl Policy: Remove obsolete dependency requirements
+    Wording: Cyril Brulebois <kibi@debian.org>
+    Seconded: Russ Allbery <rra@debian.org>
+    Seconded: Manoj Srivastava <srivasta@debian.org>
+    Closes: #525190
+  * Breaks is now supported by the stable release of dpkg, so drop
+    warnings against its use.  Thanks, Steve Langasek.  (Closes: #533577)
+  * Add references to the sections on Breaks and Conflicts to the section
+    on binary dependencies.  Thanks, Frank Küster.  (Closes: #529771)
+  * Clarify the units of Installed-Size and document that it is an
+    approximation.  Thanks, Martin Dorey.  (Closes: #534408)
+  * Don't suggest calling dpkg-statoverride --remove unconditionally in
+    the postrm script.  Thanks, Patrick Schoenfeld.  (Closes: #539389)
+  * Explain that the copyright dates are for the original Policy manual
+    and that there is no updated list of copyright holders for subsequent
+    revisions available.  (Partly addresses #47438)
+  * Clarify the description of the Files control field and add examples.
+  * Change the wording of the Description and Changes field specifications
+    for *.changes files to more closely match the wording for Files and
+    add more details about the contents of the Description field in
+    a *.changes file.
+  * Merge the package name syntax requirements between the Package and
+    Source field descriptions.
+  * Say that sensible-editor and sensible-pager are provided by the
+    sensible-utils package, not by the base system.  Thanks, Clint Adams
+    and Steve Langasek.  (Closes: #541537)
+  * Document that control field values are case-sensitive unless the field
+    description says otherwise.
+
+ -- Russ Allbery <rra@debian.org>  Sat, 15 Aug 2009 17:13:26 -0700
+
+debian-policy (3.8.2.0) unstable; urgency=low
 
   [ Russ Allbery ]
   * Policy: Mandate debconf or equivalent for user prompting
@@ -35,6 +124,7 @@ debian-policy (3.8.2.0) UNRELEASED; urgency=low
     search-and-replace capitalisation bug.
   * Build-depend on texlive-latex-extra, which is needed by
     debiandoc2latexps and isn't included in texlive's dependencies.
+    Closes: #533257
   * Policy: State requirements for source package names
     Wording: Colin Watson <cjwatson@debian.org>
     Seconded: Russ Allbery <rra@debian.org>
@@ -42,7 +132,15 @@ debian-policy (3.8.2.0) UNRELEASED; urgency=low
     Closes: #525151
   * Add myself to Uploaders.
 
- -- Russ Allbery <rra@debian.org>  Fri, 20 Mar 2009 14:45:46 -0700
+  [ Bill Allombert ]
+  * Add myself to Uploaders.
+  * Update Standards-Version to 3.8.1 (no changes required).
+  * debian/rules: 
+    - use `dpkg --print-architecture' instead of obsolete form 
+      `dpkg --print-installation-architecture'.
+    - fix a race condition while generating DEBIAN/md5sums.
+
+ -- Bill Allombert <ballombe@debian.org>  Tue, 16 Jun 2009 21:42:53 +0200
 
 debian-policy (3.8.1.0) unstable; urgency=low
 
index 247b0e72e11dcfdf5c3646c95c866d8bb5c394d8..7f3c69c45cfeba15c7b43a07b76c827dc454f8ea 100644 (file)
@@ -2,8 +2,8 @@ Source: debian-policy
 Section: doc
 Priority: optional
 Maintainer: Debian Policy List <debian-policy@lists.debian.org>
-Uploaders: Manoj Srivastava <srivasta@debian.org>, Russ Allbery <rra@debian.org>, Colin Watson <cjwatson@debian.org>
-Standards-Version: 3.8.0
+Uploaders: Manoj Srivastava <srivasta@debian.org>, Russ Allbery <rra@debian.org>, Colin Watson <cjwatson@debian.org>, Bill Allombert <ballombe@debian.org>
+Standards-Version: 3.8.3
 Build-Depends-Indep: sgml-data (>= 2.0), debiandoc-sgml (>= 1.1.47), texlive, texlive-latex-extra, groff, bsdmainutils, pstoedit, jade, docbook-xml (>= 3.1.1), docbook-dsssl, tidy, links (>= 0.90) | elinks
 Vcs-Browser: http://git.debian.org/?p=dbnpolicy/policy.git
 Vcs-Git: git://git.debian.org/git/dbnpolicy/policy.git
index f3f3b766176fa1aa9ec74c8963f060004fdf1bd5..07e635e68cd5cb537c4349d18e7895d5b0b5be29 100755 (executable)
@@ -14,7 +14,7 @@ export DEB_HOST_GNU_CPU    ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_CPU
 export DEB_HOST_GNU_SYSTEM ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_SYSTEM)
 export DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture $(ha) -qDEB_HOST_GNU_TYPE)
 
-arch   := $(shell dpkg --print-installation-architecture)
+arch   := $(shell dpkg --print-architecture)
 
 # Basic information
 package := $(shell grep Source debian/control | sed 's/^Source: //')
@@ -55,6 +55,7 @@ FILES_TO_CLEAN  = debian/files debian/buildinfo  debian/substvars \
                  debian/postinst debian/prerm \
                  version.ent upgrading-checklist.txt \
                  $(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \
+                  $(SGML_FILES:=-1.html) \
                  policy.pdf.gz policy.ps.gz \
                  debconf_specification.xml.tar.gz \
                  policy.pdf policy.ps policy.txt policy. \
@@ -73,6 +74,7 @@ all build: stamp-build
 stamp-build: version.ent $(sanitycheck)
        $(MAKE) $(SGML_FILES:=.sgml.validate) \
                $(SGML_FILES:=.html.tar.gz) \
+                $(SGML_FILES:=-1.html) \
                $(SGML_FILES:=.txt.gz) \
                policy.ps.gz policy.pdf.gz
        links -dump upgrading-checklist.html | perl -pe 's/[\r\0]//g' > \
@@ -139,10 +141,14 @@ stamp-policy:  build $(sanitycheck)
        for file in $(SGML_FILES); do \
          tar -C $(DOCDIR) -zxf $$file.html.tar.gz; \
        done
+       for file in $(SGML_FILES); do \
+         $(install_file) $${file}-1.html $(DOCDIR); \
+       done
        $(install_file)     $(FHS_HTML)   $(DOCDIR)/fhs
        @set -ex; \
        cd debian/tmp; \
-       find . -type f -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums
+       find . -path "./DEBIAN" -prune -o -type f -printf '%P\0' \
+           | xargs -r0 md5sum > DEBIAN/md5sums
        dpkg-gencontrol     -p$(package) -Pdebian/tmp -isp
        chown               -R root:root debian/tmp
        chmod               -R go=rX debian/tmp
index 1421b46892a622124e0803da2a1a57daf0455f58..1d26df7c40ab75eaa6cb2a1cf4e768c116aa7d0f 100644 (file)
@@ -319,10 +319,6 @@ $(MAKE) install PREFIX=$(CURDIR)/debian/&lt;tmp&gt;/usr
            (nominally just tmp)</p>
          </footnote>
        </p>
-       <p>
-         A <tt>Build-Depends</tt> on <tt>perl (>= 5.6.0-16)</tt> is
-         required.
-       </p>
       </sect>
 
       <sect id="module_deps">
@@ -342,13 +338,6 @@ $(MAKE) install PREFIX=$(CURDIR)/debian/&lt;tmp&gt;/usr
            the minimum required version, or more simply the current
            version.
          </p>
-         <p>
-           In the absence of an explicit requirement,
-           architecture-independent modules must depend on a minimum
-           <package>perl</package> or <package>perl-base</package>
-           version of <tt>5.6.0-16</tt> due to the changes in
-           <tt>@INC</tt> introduced by that version.
-         </p>
        </sect1>
 
        <sect1 id="binary_modules">
index 144cbfb25c63a859e2ec9a049a8b6299f9f15d42..0bf8253e31ba9cb10ed901d4dd6b1c645872f287 100644 (file)
          Copyright &copy; 1996,1997,1998 Ian Jackson
          and Christian Schwarz.
        </copyrightsummary>
+       <p>
+         These are the copyright dates of the original Policy manual.
+         Since then, this manual has been updated by many others.  No
+         comprehensive collection of copyright notices for subsequent
+         work exists.
+       </p>
+
        <p>
          This manual is free software; you may redistribute it and/or
          modify it under the terms of the GNU General Public License
            <item>
                <tt>DEB_*_ARCH</tt> (the Debian architecture)
            </item>
+           <item>
+               <tt>DEB_*_ARCH_CPU</tt> (the Debian CPU name)
+           </item>
+           <item>
+               <tt>DEB_*_ARCH_OS</tt> (the Debian System name)
+           </item>
            <item>
                <tt>DEB_*_GNU_TYPE</tt> (the GNU style architecture
                specification string)
          It is important to understand that the <tt>DEB_*_ARCH</tt>
          string only determines which Debian architecture we are
          building on or for. It should not be used to get the CPU
-         or system information; the GNU style variables should be
-         used for that.
+         or system information; the <tt>DEB_*_ARCH_CPU</tt> and
+         <tt>DEB_*_ARCH_OS</tt> variables should be used for that.
+         GNU style variables should generally only be used with upstream
+         build systems.
        </p>
 
        <sect1 id="debianrules-options">
@@ -2364,6 +2379,8 @@ Package: libc6
        <p>
          Field names are not case-sensitive, but it is usual to
          capitalize the field names using mixed case as shown below.
+         Field values are case-sensitive unless the description of the
+         field says otherwise.
        </p>
 
        <p>
@@ -2590,11 +2607,12 @@ Package: libc6
          </p>
 
          <p>
-           Package names must consist only of lower case letters
-           (<tt>a-z</tt>), digits (<tt>0-9</tt>), plus (<tt>+</tt>)
-           and minus (<tt>-</tt>) signs, and periods (<tt>.</tt>).
-           They must be at least two characters long and must start
-           with an alphanumeric character.
+           Package names (both source and binary,
+           see <ref id="f-Package">) must consist only of lower case
+           letters (<tt>a-z</tt>), digits (<tt>0-9</tt>), plus
+           (<tt>+</tt>) and minus (<tt>-</tt>) signs, and periods
+           (<tt>.</tt>).  They must be at least two characters long and
+           must start with an alphanumeric character.
          </p>
        </sect1>
 
@@ -2693,11 +2711,9 @@ Package: libc6
          </p>
 
          <p>
-           Package names must consist only of lower case letters
-           (<tt>a-z</tt>), digits (<tt>0-9</tt>), plus (<tt>+</tt>)
-           and minus (<tt>-</tt>) signs, and periods (<tt>.</tt>).
-           They must be at least two characters long and must start
-           with an alphanumeric character.
+           Binary package names must follow the same syntax and
+           restrictions as source package names.  See <ref id="f-Source">
+           for the details.
          </p>
        </sect1>
 
@@ -2710,7 +2726,7 @@ Package: libc6
            values:
            <list>
                <item>A unique single word identifying a Debian machine
-                     architecture, see <ref id="arch-spec">.
+                     architecture as described in <ref id="arch-spec">.
                <item><tt>all</tt>, which indicates an
                      architecture-independent package.
                <item><tt>any</tt>, which indicates a package available
@@ -2721,31 +2737,53 @@ Package: libc6
 
          <p>
            In the main <file>debian/control</file> file in the source
-           package, or in the source package control file
-           <file>.dsc</file>, one may specify a list of architectures
-           separated by spaces, or the special values <tt>any</tt> or
-           <tt>all</tt>.
+           package, this field may contain the special value
+           <tt>any</tt>, the special value <tt>all</tt>, or a list of
+           architectures separated by spaces.  If <tt>any</tt> or
+           <tt>all</tt> appear, they must be the entire contents of the
+           field.  Most packages will use either <tt>any</tt> or
+           <tt>all</tt>.  Specifying a specific list of architectures is
+           for the minority of cases where a program is not portable or
+           is not useful on some architectures, and where possible the
+           program should be made portable instead.
+         </p>
+
+         <p>
+           In the source package control file <file>.dsc</file>, this
+           field may contain either the special value <tt>any</tt> or a
+           list of architectures separated by spaces. If a list is given,
+           it may include (or consist solely of) the special value
+           <tt>all</tt>.  In other words, in <file>.dsc</file> files
+           unlike the <file>debian/control</file>, <tt>all</tt> may occur
+           in combination with specific architectures.  The
+           <tt>Architecture</tt> field in the source package control file
+           <file>.dsc</file> is generally constructed from the
+           <tt>Architecture</tt> fields in the
+           <file>debian/control</file> in the source package.
          </p>
 
          <p>
            Specifying <tt>any</tt> indicates that the source package
            isn't dependent on any particular architecture and should
            compile fine on any one. The produced binary package(s)
-           will be specific to whatever the current build architecture
-           is.<footnote>
-               This is the most often used setting, and is recommended
-               for new packages that aren't <tt>Architecture: all</tt>.
-           </footnote>
+           will either be specific to whatever the current build
+           architecture is or will be architecture-independent.
+         </p>
+
+         <p>
+           Specifying only <tt>all</tt> indicates that the source package
+           will only build architecture-independent packages.  If this is
+           the case, <tt>all</tt> must be used rather than <tt>any</tt>;
+           <tt>any</tt> implies that the source package will build at
+           least one architecture-dependent package.
          </p>
 
          <p>
            Specifying a list of architectures indicates that the source
            will build an architecture-dependent package, and will only
-           work correctly on the listed architectures.<footnote>
-               This is a setting used for a minority of cases where the
-               program is not portable. Generally, it should not be used
-               for new packages.
-           </footnote>
+           work correctly on the listed architectures.  If the source
+           package also builds at least one architecture-independent
+           package, <tt>all</tt> will also be included in the list.
          </p>
 
          <p>
@@ -2753,7 +2791,11 @@ Package: libc6
            field lists the architecture(s) of the package(s)
            currently being uploaded.  This will be a list; if the
            source for the package is also being uploaded, the special
-           entry <tt>source</tt> is also present.
+           entry <tt>source</tt> is also present.  <tt>all</tt> will be
+           present if any architecture-independent packages are being
+           uploaded.  <tt>any</tt> may never occur in the
+           <tt>Architecture</tt> field in the <file>.changes</file>
+           file.
          </p>
 
          <p>
@@ -3061,18 +3103,16 @@ Package: libc6
          </p>
 
          <p>
-           In a <file>.changes</file> file, the <tt>Description</tt> field
-           contains a summary of the descriptions for the packages being
-           uploaded.
+           In a <file>.changes</file> file, the <tt>Description</tt>
+           field contains a summary of the descriptions for the packages
+           being uploaded.  For this case, the first line of the field
+           value (the part on the same line as <tt>Description:</tt>) is
+           always empty.  The content of the field is expressed as
+           continuation lines, one line per package.  Each line is
+           indented by one space and contains the name of a binary
+           package, a space, a hyphen (<tt>-</tt>), a space, and the
+           short description line from that package.
          </p>
-
-         <p>
-           The part of the field before the first newline is empty;
-           thereafter each line has the name of a binary package and
-           the summary description line from that binary package.
-           Each line is indented by one space.
-         </p>
-
        </sect1>
 
        <sect1 id="f-Distribution">
@@ -3084,76 +3124,39 @@ Package: libc6
            distribution(s) where this version of the package should
            be installed.  Valid distributions are determined by the
            archive maintainers.<footnote>
-               Current distribution names are:
+             Example distribution names in the Debian archive used in
+             <file>.changes</file> files are:
                <taglist compact="compact">
-                 <tag><em>stable</em></tag>
-                 <item>
-                     This is the current "released" version of Debian
-                     GNU/Linux.  Once the distribution is
-                     <em>stable</em> only security fixes and other
-                     major bug fixes are allowed. When changes are
-                     made to this distribution, the release number is
-                     increased (for example: 2.2r1 becomes 2.2r2 then
-                     2.2r3, etc).
-                 </item>
-
                  <tag><em>unstable</em></tag>
                  <item>
-                     This distribution value refers to the
-                     <em>developmental</em> part of the Debian
-                     distribution tree. New packages, new upstream
-                     versions of packages and bug fixes go into the
-                     <em>unstable</em> directory tree. Download from
-                     this distribution at your own risk.
-                 </item>
-
-                 <tag><em>testing</em></tag>
-                 <item>
-                     This distribution value refers to the
-                     <em>testing</em> part of the Debian distribution
-                     tree.  It receives its packages from the
-                     unstable distribution after a short time lag to
-                     ensure that there are no major issues with the
-                     unstable packages.  It is less prone to breakage
-                     than unstable, but still risky.  It is not
-                     possible to upload packages directly to
-                     <em>testing</em>.
-                 </item>
-
-                 <tag><em>frozen</em></tag>
-                 <item>
-                     From time to time, the <em>testing</em>
-                     distribution enters a state of "code-freeze" in
-                     anticipation of release as a <em>stable</em>
-                     version. During this period of testing only
-                     fixes for existing or newly-discovered bugs will
-                     be allowed.  The exact details of this stage are
-                     determined by the Release Manager.
+                   This distribution value refers to the
+                   <em>developmental</em> part of the Debian distribution
+                   tree.  Most new packages, new upstream versions of
+                   packages and bug fixes go into the <em>unstable</em>
+                   directory tree.
                  </item>
 
                  <tag><em>experimental</em></tag>
                  <item>
-                     The packages with this distribution value are
-                     deemed by their maintainers to be high
-                     risk. Oftentimes they represent early beta or
-                     developmental packages from various sources that
-                     the maintainers want people to try, but are not
-                     ready to be a part of the other parts of the
-                     Debian distribution tree. Download at your own
-                     risk.
+                   The packages with this distribution value are deemed
+                   by their maintainers to be high risk.  Oftentimes they
+                   represent early beta or developmental packages from
+                   various sources that the maintainers want people to
+                   try, but are not ready to be a part of the other parts
+                   of the Debian distribution tree.
                  </item>
                </taglist>
 
                <p>
-                 You should list <em>all</em> distributions that the
-                 package should be installed into.
-               </p>
-
-               <p>
-                 More information is available in the Debian Developer's
-                 Reference, section "The Debian archive".
+                 Others are used for updating stable releases or for
+                 security uploads.  More information is available in the
+                 Debian Developer's Reference, section "The Debian
+                 archive".
                </p>
            </footnote>
+           The Debian archive software only supports listing a single
+           distribution.  Migration of packages to other distributions is
+           handled outside of the upload process.
          </p>
        </sect1>
 
@@ -3226,10 +3229,12 @@ Package: libc6
          </p>
 
          <p>
-           There should be nothing in this field before the first
-           newline; all the subsequent lines must be indented by at
-           least one space; blank lines must be represented by a line
-           consisting only of a space and a full stop.
+           The first line of the field value (the part on the same line
+           as <tt>Changes:</tt>) is always empty.  The content of the
+           field is expressed as continuation lines, with each line
+           indented by at least one space.  Blank lines must be
+           represented by a line consisting only of a space and a full
+           stop (<tt>.</tt>).
          </p>
 
          <p>
@@ -3257,29 +3262,27 @@ Package: libc6
          <heading><tt>Binary</tt></heading>
 
          <p>
-           This field is a list of binary packages.
+           This field is a list of binary packages.  Its syntax and
+           meaning varies depending on the control file in which it
+           appears.
          </p>
 
          <p>
-           When it appears in the <file>.dsc</file> file it is the list
-           of binary packages which a source package can produce.  It
-           does not necessarily produce all of these binary packages
-           for every architecture.  The source control file doesn't
-           contain details of which architectures are appropriate for
-           which of the binary packages.
-         </p>
-
-         <p>
-           When it appears in a <file>.changes</file> file it lists the
-           names of the binary packages actually being uploaded.
+           When it appears in the <file>.dsc</file> file, it lists binary
+           packages which a source package can produce, separated by
+           commas<footnote>
+               A space after each comma is conventional.
+           </footnote>.  It may span multiple lines.  The source package
+           does not necessarily produce all of these binary packages for
+           every architecture.  The source control file doesn't contain
+           details of which architectures are appropriate for which of
+           the binary packages.
          </p>
 
          <p>
-           The syntax is a list of binary packages separated by
-           commas<footnote>
-               A space after each comma is conventional.
-           </footnote>. Currently the packages must be separated using
-           only spaces in the <file>.changes</file> file.
+           When it appears in a <file>.changes</file> file, it lists the
+           names of the binary packages being uploaded, separated by
+           whitespace (not commas).  It may span multiple lines.
          </p>
        </sect1>
 
@@ -3287,15 +3290,17 @@ Package: libc6
          <heading><tt>Installed-Size</tt></heading>
 
          <p>
-           This field appears in the control files of binary
-           packages, and in the <file>Packages</file> files.  It gives
-           the total amount of disk space required to install the
-           named package.
+           This field appears in the control files of binary packages,
+           and in the <file>Packages</file> files.  It gives an estimate
+           of the total amount of disk space required to install the
+           named package.  Actual installed size may vary based on block
+           size, file system properties, or actions taken by package
+           maintainer scripts.
          </p>
 
          <p>
-           The disk space is represented in kilobytes as a simple
-           decimal number.
+           The disk space is given as the integer value of the estimated
+           installed size in bytes, divided by 1024 and rounded up.
          </p>
        </sect1>
 
@@ -3305,20 +3310,30 @@ Package: libc6
          <p>
            This field contains a list of files with information about
            each one.  The exact information and syntax varies with
-           the context.  In all cases the part of the field
-           contents on the same line as the field name is empty.  The
-           remainder of the field is one line per file, each line
-           being indented by one space and containing a number of
-           sub-fields separated by spaces.
+           the context.
+         </p>
+
+         <p>
+           In all cases, Files is a multiline field.  The first line of
+           the field value (the part on the same line as <tt>Files:</tt>)
+           is always empty.  The content of the field is expressed as
+           continuation lines, one line per file.  Each line must be
+           indented by one space and contain a number of sub-fields,
+           separated by spaces, as described below.
          </p>
 
          <p>
            In the <file>.dsc</file> file, each line contains the MD5
-           checksum, size and filename of the tar file and (if applicable)
-           diff file which make up the remainder of the source
-           package<footnote>
-               That is, the parts which are not the <tt>.dsc</tt>.
-           </footnote>.
+           checksum, size and filename of the tar file and (if
+           applicable) diff file which make up the remainder of the
+           source package<footnote>
+             That is, the parts which are not the <tt>.dsc</tt>.
+           </footnote>.  For example:
+           <example>
+Files:
+ c6f698f19f2a2aa07dbb9bbda90a2754 571925 example_1.2.orig.tar.gz
+ 938512f08422f3509ff36f125f5873ba 6220 example_1.2-1.diff.gz
+           </example>
            The exact forms of the filenames are described
            in <ref id="pkg-sourcearchives">.
          </p>
@@ -3326,14 +3341,20 @@ Package: libc6
          <p>
            In the <file>.changes</file> file this contains one line per
            file being uploaded.  Each line contains the MD5 checksum,
-           size, section and priority and the filename.
+           size, section and priority and the filename.  For example:
+           <example>
+Files:
+ 4c31ab7bfc40d3cf49d7811987390357 1428 text extra example_1.2-1.dsc
+ c6f698f19f2a2aa07dbb9bbda90a2754 571925 text extra example_1.2.orig.tar.gz
+ 938512f08422f3509ff36f125f5873ba 6220 text extra example_1.2-1.diff.gz
+ 7c98fe853b3bbb47a00e5cd129b6cb56 703542 text extra example_1.2-1_i386.deb
+           </example>
            The <qref id="f-Section">section</qref>
-           and <qref id="f-Priority">priority</qref>
-           are the values of the corresponding fields in
-           the main source control file.  If no section or priority is
-           specified then <tt>-</tt> should be used, though section
-           and priority values must be specified for new packages to
-           be installed properly.
+           and <qref id="f-Priority">priority</qref> are the values of
+           the corresponding fields in the main source control file.  If
+           no section or priority is specified then <tt>-</tt> should be
+           used, though section and priority values must be specified for
+           new packages to be installed properly.
          </p>
 
          <p>
@@ -4255,6 +4276,9 @@ Build-Depends: foo [!i386] | bar [!amd64]
           This is done using the <tt>Depends</tt>, <tt>Pre-Depends</tt>,
           <tt>Recommends</tt>, <tt>Suggests</tt>, <tt>Enhances</tt>,
           <tt>Breaks</tt> and <tt>Conflicts</tt> control file fields.
+          <tt>Breaks</tt> is described in <ref id="breaks">, and
+          <tt>Conflicts</tt> is described in <ref id="conflicts">.  The
+          rest are described below.
         </p>
 
        <p>
@@ -4442,12 +4466,6 @@ Build-Depends: foo [!i386] | bar [!amd64]
       <sect id="breaks">
        <heading>Packages which break other packages - <tt>Breaks</tt></heading>
 
-       <p>
-         Using <tt>Breaks</tt> may cause problems for upgrades from older
-         versions of Debian and should not be used until the stable
-         release of Debian supports <tt>Breaks</tt>.
-       </p>
-
        <p>
          When one binary package declares that it breaks another,
          <prgn>dpkg</prgn> will refuse to allow the package which
@@ -4532,8 +4550,7 @@ Build-Depends: foo [!i386] | bar [!amd64]
          <prgn>dpkg</prgn> from upgrading or installing the package
          which declared such a conflict until the upgrade or removal
          of the conflicted-with package had been completed.  Instead,
-         <tt>Breaks</tt> may be used (once <tt>Breaks</tt> is supported
-         by the stable release of Debian).
+         <tt>Breaks</tt> may be used.
        </p>
       </sect>
 
@@ -6377,10 +6394,10 @@ echo "Setting DNS domainname to \"$domainname\"."
              </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>).
+                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>
 
@@ -6980,17 +6997,6 @@ strip --strip-unneeded <var>your-lib</var>
          </footnote>
        </p>
 
-       <p>
-         Packages containing shared libraries that may be linked to
-         by other packages' binaries, but which for some
-         <em>compelling</em> reason can not be installed in
-         <file>/usr/lib</file> directory, may install the shared library
-         files in subdirectories of the <file>/usr/lib</file> directory,
-         in which case they should arrange to add that directory in
-         <file>/etc/ld.so.conf</file> in the package's post-installation
-         script, and remove it in the package's post-removal script.
-       </p>
-
        <p>
          An ever increasing number of packages are using
          <prgn>libtool</prgn> to do their linking.  The latest GNU
@@ -7772,9 +7778,17 @@ do
   fi
 done
            </example>
-           The corresponding <tt>dpkg-statoverride --remove</tt>
-           calls can then be made unconditionally when the package is
-           purged.
+           The corresponding code to remove the override when the package
+           is purged would be:
+           <example>
+for i in /usr/bin/foo /usr/sbin/bar
+do
+  if dpkg-statoverride --list $i >/dev/null 2>&1
+  then
+    dpkg-statoverride --remove $i
+  fi
+done
+           </example>
          </p>
        </sect1>
       </sect>
@@ -7942,10 +7956,10 @@ done
          use <file>/usr/bin/sensible-editor</file> and
          <file>/usr/bin/sensible-pager</file> as the editor or pager
          program respectively.  These are two scripts provided in the
-         Debian base system that check the EDITOR and PAGER variables
-         and launch the appropriate program, and fall back to
-         <file>/usr/bin/editor</file> and <file>/usr/bin/pager</file> if the
-         variable is not set.
+         <package>sensible-utils</package> package that check the EDITOR
+         and PAGER variables and launch the appropriate program, and fall
+         back to <file>/usr/bin/editor</file>
+         and <file>/usr/bin/pager</file> if the variable is not set.
        </p>
 
        <p>
@@ -8543,7 +8557,7 @@ name ["<var>syshostname</var>"]:
          </p>
        </sect1>
 
-       <sect1>
+       <sect1 id="appdefaults">
          <heading>Application defaults files</heading>
 
          <p>
@@ -8576,54 +8590,35 @@ name ["<var>syshostname</var>"]:
          <heading>Installation directory issues</heading>
 
          <p>
-           Packages using the X Window System should not be
-           configured to install files under the
-           <file>/usr/X11R6/</file> directory. The
-           <file>/usr/X11R6/</file> directory hierarchy should be
+           Historically, packages using the X Window System used a
+           separate set of installation directories from other packages.
+           This practice has been discontinued and packages using the X
+           Window System should now generally be installed in the same
+           directories as any other package.  Specifically, packages must
+           not install files under the <file>/usr/X11R6/</file> directory
+           and the <file>/usr/X11R6/</file> directory hierarchy should be
            regarded as obsolete.
          </p>
 
          <p>
-           Programs that use GNU <prgn>autoconf</prgn> and
-           <prgn>automake</prgn> are usually easily configured at
-           compile time to use <file>/usr/</file> instead of
-           <file>/usr/X11R6/</file>, and this should be done whenever
-           possible.  Configuration files for window managers and
-           display managers should be placed in a subdirectory of
-           <file>/etc/X11/</file> corresponding to the package name due
-           to these programs' tight integration with the mechanisms
-           of the X Window System.  Application-level programs should
-           use the <file>/etc/</file> directory unless otherwise mandated
-           by policy.
+           Include files previously installed under
+           <file>/usr/X11R6/include/X11/</file> should be installed into
+           <file>/usr/include/X11/</file>.  For files previously
+           installed into subdirectories of
+           <file>/usr/X11R6/lib/X11/</file>, package maintainers should
+           determine if subdirectories of <file>/usr/lib/</file> and
+           <file>/usr/share/</file> can be used.  If not, a subdirectory
+           of <file>/usr/lib/X11/</file> should be used.
          </p>
 
          <p>
-           The installation of files into subdirectories
-           of <file>/usr/X11R6/include/X11/</file> and
-           <file>/usr/X11R6/lib/X11/</file> is now prohibited;
-           package maintainers should determine if subdirectories of
-           <file>/usr/lib/</file> and <file>/usr/share/</file> can be used
-           instead. 
-         </p>
-
-         <p>
-            Packages should install any relevant files into the
-           directories <file>/usr/include/X11/</file> and
-           <file>/usr/lib/X11/</file>, but if they do so, they must
-           pre-depend on <tt>x11-common (&gt;=
-           1:7.0.0)</tt><footnote>
-              <p>
-                These libraries used to be all symbolic
-                links. However, with <tt>X11R7</tt>,
-                <tt>/usr/include/X11</tt> and <tt>/usr/lib/X11</tt>
-                are now real directories, and packages
-                <strong>should</strong> ship their files here instead
-                of in <tt>/usr/X11R6/{include,lib}/X11</tt>.
-                <tt>x11-common (&gt;= 1:7.0.0) </tt> is the package
-                responsible for converting these symlinks into
-                directories.
-              </p>
-            </footnote>
+           Configuration files for window, display, or session managers
+           or other applications that are tightly integrated with the X
+           Window System may be placed in a subdirectory
+           of <file>/etc/X11/</file> corresponding to the package name.
+           Other X Window System applications should use
+           the <file>/etc/</file> directory unless otherwise mandated by
+           policy (such as for <ref id="appdefaults">).
          </p>
        </sect1>
 
@@ -8848,12 +8843,12 @@ name ["<var>syshostname</var>"]:
        </p>
 
        <p>
-         Due to limitations in current implementations, all characters
-         in the manual page source should be representable in the usual
-         legacy encoding for that language, even if the file is
-         actually encoded in UTF-8. Safe alternative ways to write many
-         characters outside that range may be found in
-         <manref name="groff_char" section="7">.
+         If a localized version of a manual page is provided, it should
+         either be up-to-date or it should be obvious to the reader that
+         it is outdated and the original manual page should be used
+         instead.  This can be done either by a note at the beginning of
+         the manual page or by showing the missing or changed portions in
+         the original language instead of the target language.
        </p>
       </sect>
 
@@ -8866,37 +8861,53 @@ name ["<var>syshostname</var>"]:
         </p>
 
        <p>
-         Your package should call <prgn>install-info</prgn> to update
-         the Info <file>dir</file> file in its <prgn>postinst</prgn>
-         script when called with a <tt>configure</tt> argument, for
-         example:
-         <example compact="compact">
-install-info --quiet --section Development Development \
-  /usr/share/info/foobar.info
-         </example></p>
-
-       <p>
-         It is a good idea to specify a section for the location of
-         your program; this is done with the <tt>--section</tt>
-         switch.  To determine which section to use, you should look
-         at <file>/usr/share/info/dir</file> on your system and choose the most
-         relevant (or create a new section if none of the current
-         sections are relevant).  Note that the <tt>--section</tt>
-         flag takes two arguments; the first is a regular expression
-         to match (case-insensitively) against an existing section,
-         the second is used when creating a new one.</p>
-
-       <p>
-         You should remove the entries in the <prgn>prerm</prgn>
-         script when called with a <tt>remove</tt> argument:
-         <example compact="compact">
-install-info --quiet --remove /usr/share/info/foobar.info
-         </example></p>
-
-       <p>
-         If <prgn>install-info</prgn> cannot find a description entry
-         in the Info file you must supply one.  See <manref
-         name="install-info" section="8"> for details.</p>
+         The <prgn>install-info</prgn> program maintains a directory of
+         installed info documents in <file>/usr/share/info/dir</file> for
+         the use of info readers.<footnote>
+           It was previously necessary for packages installing info
+           documents to run <prgn>install-info</prgn> from maintainer
+           scripts.  This is no longer necessary.  The installation
+           system now uses dpkg triggers.
+         </footnote>
+         This file must not be included in packages.  Packages containing
+         info documents should depend on <tt>dpkg (>= 1.15.4) |
+         install-info</tt> to ensure that the directory file is properly
+         rebuilt during partial upgrades from Debian 5.0 (lenny) and
+         earlier.
+       </p>
+
+       <p>
+         Info documents should contain section and directory entry
+         information in the document for the use
+         of <prgn>install-info</prgn>.  The section should be specified
+         via a line starting with <tt>INFO-DIR-SECTION</tt> followed by a
+         space and the section of this info page.  The directory entry or
+         entries should be included between
+         a <tt>START-INFO-DIR-ENTRY</tt> line and
+         an <tt>END-INFO-DIR-ENTRY</tt> line.  For example:
+         <example>
+INFO-DIR-SECTION Individual utilities
+START-INFO-DIR-ENTRY
+* example: (example).               An example info directory entry.
+END-INFO-DIR-ENTRY
+         </example>
+         To determine which section to use, you should look
+         at <file>/usr/share/info/dir</file> on your system and choose
+         the most relevant (or create a new section if none of the
+         current sections are relevant).<footnote>
+           Normally, info documents are generated from Texinfo source.
+           To include this information in the generated info document, if
+           it is absent, add commands like:
+           <example>
+@dircategory Individual utilities
+@direntry
+* example: (example).               An example info directory entry.
+@end direntry
+           </example>
+           to the Texinfo source of the document and ensure that the info
+           documents are rebuilt from source during the package build.
+         </footnote>
+       </p>
       </sect>
 
       <sect>
index c45189087a86a8306756fdcdf22cd771629c2144..11e81c4f6745b0bc3535d914d05efa058ba14c91 100644 (file)
@@ -41,7 +41,38 @@ picking your way through this list.
 <h2>The checklist</h2>
 
 <pre>
-3.8.2.0                        unreleased
+3.8.3.0                        Aug 2009
+
+     * Add DEB_*_ARCH_CPU and DEB_*_ARCH_OS variables and recommend them
+       over GNU-style variables for that information.            [4.9]
+     * Source package Architecture fields may contain "all" in combination
+       with other architectures.  Clarify when "all" and "any" may be used
+       in different versions of the field.                       [5.6.8]
+     * The Debian archive software does not support uploading to multiple
+       distributions with one *.changes file.                    [5.6.14]
+     * The Binary field may span multiple lines.                 [5.6.19]
+     * Remove the permission for shared library packages to install
+       libraries in a non-standard location and modify ld.so.conf.
+       Packages should either be installed in a standard library directory
+       or packages using them should be built with RPATH.        [10.2]
+     * Clarify installation directories for X programs and remove the
+       requirement to pre-depend on x11-common before installing into
+       /usr/include/X11 and /usr/lib/X11.                        [11.8.7]
+     * Remove the requirement that all characters in a manual page be
+       representable in the legacy encoding for that language.   [12.1]
+     * Localized man pages should either be kept up-to-date with the
+       original version or warn that they're not up-to-date, either with
+       warning text or by showing missing or changed portions in the
+       original language.                                        [12.1]
+     * install-info is now handled via triggers so packages no longer need
+       to invoke it in maintainer scripts.  Info documents should now have
+       directory sections and entries in the document.  Packages
+       containing info documents should add a dependency to support
+       partial upgrades.                                         [12.2]
+     * The requirement for Perl modules to have a versioned Depend and
+       Build-Depend on perl >= 5.6.0-16 has been removed.        [perl]
+
+3.8.2.0                        Jun 2009
 
      * The list of archive sections has been significantly expanded.  See
        http://lists.debian.org/debian-devel-announce/2009/03/msg00010.html
@@ -50,6 +81,8 @@ picking your way through this list.
      * All packages must use debconf or equivalent for user prompting,
        though essential packages or their dependencies may also fall
        back on other methods.                                    [3.9.1]
+     * The requirements for source package names are now explicitly
+       spelled out.                                              [5.6.1]
      * Legacy XFree86 servers no longer get a special exception from the
        FHS permitting /etc/X11/XF86Config-4.                     [9.1]
      * Removed obsolete dependency requirements for packages that use
@@ -58,8 +91,6 @@ picking your way through this list.
        starting in lenny.                                        [11.8.5]
      * The GNU Free Documentation License version 1.3 is included in
        common-licenses and should be referenced from there.      [12.5]
-     * The requirements for source package names are now explicitly
-       spelled out.                                              [5.6.1]
 
 3.8.1.0                        Mar 2009