From: Manoj Srivastava Date: Thu, 16 Jun 2005 05:32:34 +0000 (+0000) Subject: * Change footnote about urgency values to the now-current list X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=9cb86abc7b37aab05866755f2e193a378dc13e25;p=debian%2Fdebian-policy.git * Change footnote about urgency values to the now-current list Author: srivasta Date: 2001/07/25 03:26:48 * Change footnote about urgency values to the now-current list: low, medium, high, emergency. * Correct note about /etc/default files being conffiles/config files, which I mucked up (sorry Joey) [10.3.2] * [AMENDMENT 2001/06/26] Downgrade emacs/tex to optional closes: Bug#102204, Bug#53849 * [AMENDMENT 2001/06/26] Next stage in usr/doc -> usr/share/doc transition closes: Bug#102199 * [AMENDMENT 09/06/2001] Clarifying FHS policy closes: Bug#98291, Bug#60461 * Spelling correction closes: Bug#105625 * [AMMENDMENT 28/06/2001] Restrict http access to /usr/share/doc closes: Bug#100631 * [AMENDMENT 23/5/2001] Optional build-arch and build-indep targets for debian/rules closes: Bug#72335 * The old packaging manual is included in the policy document as an informative appendix. It is not part of Debian Technical Policy, and its presence is a temporary measure until dpkg documentation includes ther information provided. closes: Bug#105535 * Added information about optional blank lines in the chagelog format. closes: Bug#105538 git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-131 --- diff --git a/debian/changelog b/debian/changelog index ee8065a..ad1a328 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,11 +1,28 @@ -debian-policy (3.5.5.1) unstable; urgency=low +debian-policy (3.5.6.0) unstable; urgency=low * Change footnote about urgency values to the now-current list: low, medium, high, emergency. * Correct note about /etc/default files being conffiles/config files, which I mucked up (sorry Joey) [10.3.2] - - -- + * [AMENDMENT 2001/06/26] Downgrade emacs/tex to optional + closes: Bug#102204, Bug#53849 + * [AMENDMENT 2001/06/26] Next stage in usr/doc -> usr/share/doc transition + closes: Bug#102199 + + * [AMENDMENT 09/06/2001] Clarifying FHS policy closes: Bug#98291, Bug#60461 + * Spelling correction closes: Bug#105625 + * [AMMENDMENT 28/06/2001] Restrict http access to /usr/share/doc + closes: Bug#100631 + * [AMENDMENT 23/5/2001] Optional build-arch and build-indep targets for + debian/rules closes: Bug#72335 + * The old packaging manual is included in the policy document as an + informative appendix. It is not part of Debian Technical Policy, and + its presence is a temporary measure until dpkg documentation includes + ther information provided. closes: Bug#105535 + * Added information about optional blank lines in the chagelog format. + closes: Bug#105538 + + -- Manoj Srivastava Tue, 24 Jul 2001 21:43:22 -0500 debian-policy (3.5.5.0) unstable; urgency=low diff --git a/policy.sgml b/policy.sgml index 503a93e..0c2470c 100644 --- a/policy.sgml +++ b/policy.sgml @@ -764,10 +764,8 @@ These packages provide a reasonably small but not too limited character-mode system. This is what will be installed by default if the user doesn't select anything - else. It doesn't include many large applications, but - it does include Emacs (this is more of a piece of - infrastructure than an application) and a reasonable - subset of TeX and LaTeX.

+ else. It doesn't include many large applications. + .

optional @@ -1906,63 +1904,64 @@ Package: libc6

The required and optional targets are as follows: - build + build, build-arch (optional), + build-indep (optional)

- This should perform all non-interactive configuration - and compilation of the package. If a package has an - interactive pre-build configuration routine, the - Debianized source package must either be built after - this has taken place (so that the binary package can - be built without rerunning the configuration) or the - configuration routine modified to become - non-interactive. (The latter is preferable if there - are architecture-specific features detected by the - configuration routine.) + The build target should perform all + non-interactive configuration and compilation of the + package. If a package has an interactive pre-build + configuration routine, the Debianized source package + must either be built after this has taken place (so + that the binary package can be built without rerunning + the configuration) or the configuration routine + modified to become non-interactive. (The latter is + preferable if there are architecture-specific features + detected by the configuration routine.)

For some packages, notably ones where the same source tree is compiled in different ways to produce - two binary packages, the build target + two binary packages, the build target does not make much sense. For these packages it is good enough to provide two (or more) targets (build-a and build-b or whatever) for each of the ways of building the package, and a - build target that does nothing. The - binary target will have to build the + build target that does nothing. The + binary target will have to build the package in each of the possible ways and make the binary package out of each.

- The build target must not do anything + The build target must not do anything that might require root privilege.

- The build target may need to run the - clean target first - see below. + The build target may need to run the + clean target first - see below.

When a package has a configuration and build routine which takes a long time, or when the makefiles are - poorly designed, or when build needs to - run clean first, it is a good idea to + poorly designed, or when build needs to + run clean first, it is a good idea to touch build when the build process is complete. This will ensure that if debian/rules build is run again it will not rebuild the whole program.

- Another common way to do this is for build + Another common way to do this is for build to depend on build-stamp and to do nothing else, and for the build-stamp target to do the building and to touch build-stamp on completion. This is especially useful if the build routine creates a file or directory called build; in such a - case, build will need to be listed as + case, build will need to be listed as a phony target (i.e., as a dependency of the .PHONY target). See the documentation of make for more information on phony @@ -1977,37 +1976,35 @@ Package: libc6

- The binary target must be all that is + The binary target must be all that is necessary for the user to build the binary package(s) produced from this source package. All of these targets are required to be non-interactive. It is split into two parts: binary-arch builds the binary packages which are specific to a particular - architecture, and binary-indep builds + architecture, and binary-indep builds those which are not.

-

- binary may be (and commonly is) a target - with no commands which simply depends on - binary-arch and - binary-indep. + binary may be (and commonly is) a target with + no commands which simply depends on + binary-arch and binary-indep.

-

- Each binary-* target should depend on - the build target, above, so that the - package is built if it has not been already. It - should then create the relevant binary package(s), - using dpkg-gencontrol to make their - control files and dpkg-deb to build - them and place them in the parent of the top level - directory. + Both binary-* targets should depend on the + build target, or on the appropriate + build-arch or build-indep target, if + provided, so that the package is built if it has not + been already. It should then create the relevant + binary package(s), using dpkg-gencontrol to + make their control files and dpkg-deb to + build them and place them in the parent of the top + level directory.

- Both the binary-arch and - binary-indep targets must exist. + Both the binary-arch and + binary-indep targets must exist. If one of them has nothing to do (which will always be the case if the source generates only a single binary package, whether architecture-dependent or not), it @@ -2015,7 +2012,7 @@ Package: libc6

- The binary targets must be invoked as + The binary targets must be invoked as root.

The fakeroot package often allows one @@ -2029,29 +2026,29 @@ Package: libc6 clean

- This must undo any effects that the build - and binary targets may have had, except + This must undo any effects that the build + and binary targets may have had, except that it should leave alone any output files created in - the parent directory by a run of a binary + the parent directory by a run of a binary target. This target must be non-interactive.

- If a build file is touched at the end of - the build target, as suggested above, it + If a build file is touched at the end of + the build target, as suggested above, it should be removed as the first action that - clean performs, so that running - build again after an interrupted - clean doesn't think that everything is + clean performs, so that running + build again after an interrupted + clean doesn't think that everything is already done.

- The clean target may need to be - invoked as root if binary has been - invoked since the last clean, or if - build has been invoked as root (since - build may create directories, for + The clean target may need to be + invoked as root if binary has been + invoked since the last clean, or if + build has been invoked as root (since + build may create directories, for example).

@@ -2081,8 +2078,8 @@ Package: libc6

- The build, binary and - clean targets must be invoked with the current + The build, binary and + clean targets must be invoked with the current directory being the package's top-level directory.

@@ -2166,12 +2163,20 @@ Package: libc6 That format is a series of entries like this: package (version) distribution(s); urgency=urgency - + +

[optional blank line(s), stripped]

+
* change details more change details + +

[blank line(s), included in output of dpkg-parsechangelog]

+
* even more change details - - -- maintainer name <email address> date + +

[optional blank line(s), stripped]

+
+ -- maintainer name <email + address>[two spaces] date

@@ -2297,7 +2302,7 @@ Package: libc6

The debian/substvars file is usually generated and modified dynamically by debian/rules targets; in - this case it must be removed by the clean + this case it must be removed by the clean target.

@@ -2330,9 +2335,9 @@ Package: libc6 occurs

) should be removed by the - clean target. It may also be wise to + clean target. It may also be wise to ensure a fresh start by emptying or removing it at the - start of the binary target. + start of the binary target.

@@ -2341,7 +2346,7 @@ Package: libc6 .deb file that will be created when dpkg-deb --build is run for that binary package. So for most packages all that needs to be done with this file is to - delete it in the clean target. + delete it in the clean target.

@@ -4134,11 +4139,12 @@ libbar 1 bar1 (>= 1.0-1)

The location of all installed files and directories must comply with the Filesystem Hierarchy Standard (FHS), - version 2.1. This can be found in the - debian-policy package or on alongside this manual or on . + except where doing so would violate other terms of Debian + Policy. The latest version of this document can be found + in the debian-policy package or on + alongside this manual or on + . Specific questions about following the standard may be asked on the debian-devel mailing list, or referred to Daniel Quinlan, the FHS coordinator, at @@ -6023,7 +6029,7 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq operate sensibly (dotfiles that they do not create themselves automatically, that is) are a bad thing. Furthermore, programs should be configured by the Debian - default installation as behave as closely to the upstream + default installation to behave as closely to the upstream default behaviour as possible.

@@ -6481,19 +6487,19 @@ http://localhost/cgi-bin/cgi-bin-name

HTML documents for a package are stored in - /usr/share/doc/package but should - be accessed via symlinks as - /usr/doc/package -

- for backward compatibility; see -

- + /usr/share/doc/package and can be referred to as http://localhost/doc/package/filename

+

+ The web server should restrict access to the document + tree so that only clients on the same host can read + the documents. If the web server does not support such + access controls, then it should not provide access at + all, or ask about providing access during installation. +

Web Document Root

@@ -7565,13 +7571,22 @@ fi now-deprecated Packaging Manual, version 3.2.1.0. They are the chapters which are likely to be of use to package maintainers and which have not already been included in the - policy document itself. They have not yet been checked to - ensure that they are compatible with the contents of policy, - and if there are any contradictions, the version in the main - policy document takes precedence. The remaining chapters of - the old Packaging Manual have also not been read in detail to - ensure that there are not parts which have been left out. - Both of these will be done in due course. + policy document itself. Most of these sections are very likely + not relevant to policy; they should be treated as + documentation for the packaging system. Please note that these + appendices are included for convenience, and for historical + reasons: they used to be part of policy package, and they have + not yet been incorporated into dpkg documentation. However, + they still have value, and hence they are presented here. +

+

+ They have not yet been checked to ensure that they are + compatible with the contents of policy, and if there are any + contradictions, the version in the main policy document takes + precedence. The remaining chapters of the old Packaging + Manual have also not been read in detail to ensure that there + are not parts which have been left out. Both of these will be + done in due course.

@@ -7747,7 +7762,7 @@ fi To view the copyright file for a package you could use this command: - dpkg --fsys-tarfile filename.deb | tar xof usr/doc/\*copyright | less + dpkg --fsys-tarfile filename.deb | tar xof usr/share/doc/\*copyright | less

@@ -8066,8 +8081,8 @@ fi

dpkg-buildpackage is a script which invokes dpkg-source, the debian/rules - targets clean, build and - binary, dpkg-genchanges and + targets clean, build and + binary, dpkg-genchanges and pgp to build a signed source and binary package upload.

@@ -8283,7 +8298,7 @@ fi

- It is usually invoked from the binary target of + It is usually invoked from the binary target of debian/rules: dpkg-distaddfile filename section priority @@ -8414,40 +8429,70 @@ fi built after this has taken place, so that it can be built without rerunning the configuration.

- + +

+ A package may also provide both of the targets + build-arch and build-indep. The + build-arch target, if provided, should + perform all non-interactive configuration and + compilation required for producing all + architecture-dependant binary packages (those packages + for which the body of the Architecture field + in debian/control is not all). + Similarly, the build-indep target, if + provided, should perform all non-interactive + configuration and compilation required for producing + all architecture-independent binary packages (those + packages for which the body of the + Architecture field in debian/control + is all). The build target should + depend on those of the targets build-arch and + build-indep that are provided in the rules + file. +

+

+ If one or both of the targets build-arch and + build-indep are not provided, then invoking + debian/rules with one of the not-provided + targets as arguments should produce a exit status code + of 2. Usually this is provided automatically by make + if the target is missing. +

+ +

For some packages, notably ones where the same source tree is compiled in different ways to produce - two binary packages, the build target - does not make much sense. For these packages it is - good enough to provide two (or more) targets + two binary packages, the build target does + not make much sense. For these packages it is good + enough to provide two (or more) targets (build-a and build-b or whatever) for each of the ways of building the package, and a - build target that does nothing. The - binary target will have to build the + build target that does nothing. The + binary target will have to build the package in each of the possible ways and make the binary package out of each.

- The build target must not do anything - that might require root privilege. + The targets build, build-arch + and build-indep target must not do + anything that might require root privilege.

- The build target may need to run - clean first - see below. + The build target may need to run + clean first - see below.

-

- When a package has a configuration routine that - takes a long time, or when the makefiles are poorly - designed, or when build needs to run - clean first, it is a good idea to - touch build when the build process is - complete. This will ensure that if debian/rules - build is run again it will not rebuild the - whole program. +

+ When a package has a configuration routine that takes + a long time, or when the makefiles are poorly + designed, or when build needs to run + clean first, it is a good idea to touch + build when the build process is complete. This + will ensure that if debian/rules build is run + again it will not rebuild the whole program.

@@ -8456,18 +8501,18 @@ fi

- The binary target should be all that is + The binary target should be all that is necessary for the user to build the binary package. All these targets are required to be non-interactive. It is split into two parts: - binary-arch builds the packages' output + binary-arch builds the packages' output files which are specific to a particular - architecture, and binary-indep builds + architecture, and binary-indep builds those which are not.

- binary should usually be a target with + binary should usually be a target with no commands which simply depends on binary-arch and binary-indep. @@ -8475,7 +8520,7 @@ fi

Both binary-* targets should depend on - the build target, above, so that the + the build target, above, so that the package is built if it has not been already. It should then create the relevant binary package(s), using dpkg-gencontrol to make their @@ -8499,7 +8544,7 @@ fi

- The binary targets must be invoked as + The binary targets must be invoked as root.

@@ -8509,29 +8554,29 @@ fi

This should undo any effects that the - build and binary targets + build and binary targets may have had, except that it should leave alone any output files created in the parent directory by a - run of binary. This target is required + run of binary. This target is required to be non-interactive.

- If a build file is touched at the end - of the build target, as suggested + If a build file is touched at the end + of the build target, as suggested above, it must be removed as the first thing that - clean does, so that running - build again after an interrupted - clean doesn't think that everything is + clean does, so that running + build again after an interrupted + clean doesn't think that everything is already done.

- The clean target must be invoked as - root if binary has been invoked since - the last clean, or if - build has been invoked as root (since - build may create directories, for + The clean target must be invoked as + root if binary has been invoked since + the last clean, or if + build has been invoked as root (since + build may create directories, for example).

@@ -8562,8 +8607,8 @@ fi

- The build, binary and - clean targets must be invoked with a current + The build, binary and + clean targets must be invoked with a current directory of the package's top-level directory.

@@ -9016,7 +9061,7 @@ fi

The is usually generated and modified dynamically by debian/rules targets; in this case it must be - removed by the clean target. + removed by the clean target.

@@ -9049,9 +9094,9 @@ fi occurs

) should be removed by the - clean target. It may also be wise to + clean target. It may also be wise to ensure a fresh start by emptying or removing it at the - start of the binary target. + start of the binary target.

@@ -9059,7 +9104,7 @@ fi for the .deb file that will be created by dpkg-deb from the control file that it generates, so for most packages all that needs to be done - with this file is to delete it in clean. + with this file is to delete it in clean.

@@ -9076,7 +9121,7 @@ fi

This is the canonical temporary location for the - construction of binary packages by the binary + construction of binary packages by the binary target. The directory tmp serves as the root of the filesystem tree as it is being constructed (for example, by using the package's upstream makefiles install @@ -9094,8 +9139,8 @@ fi

Whatever tmp directories are created and used by - binary must of course be removed by the - clean target.

+ binary must of course be removed by the + clean target.

diff --git a/upgrading-checklist.html b/upgrading-checklist.html index 3a27deb..086a503 100644 --- a/upgrading-checklist.html +++ b/upgrading-checklist.html @@ -7,9 +7,9 @@ Created On : Thu Oct 29 20:54:48 1998 Created On Node : tiamat.datasync.com Last Modified By : Manoj Srivastava - Last Modified On : Sat Apr 28 13:36:28 2001 + Last Modified On : Tue Jul 24 21:46:23 2001 Last Machine Used: glaurung.green-gryphon.com - Update Count : 16 + Update Count : 19 Status : Unknown, Use with caution! HISTORY : Description : @@ -53,6 +53,19 @@ picking your way through this list.

The checklist

+3.5.6.0                    Jul 01
+
+     - Emacs and TeX are no longer mandated by policy to be priority
+       standard packages
+     - Programs that access docs need to do so via /usr/share/doc, and
+       not via /usr/doc/ as was the policy previously
+     - Putting documentation in /usr/doc versus /usr/share/doc is now
+       a ``serious'' policy violation 
+     - For web servers, one should not provide non-local access to the
+       /usr/share/doc heirarchy. If one can't provide access controls for
+       the //localhost/doc/ directory, then it is preferred that one
+       ask permission to expose that information during the install.
+
 3.5.5.0                    May 01
 
      - Manpages should not rely on header information to have