From: Manoj Srivastava Date: Thu, 16 Jun 2005 05:24:40 +0000 (+0000) Subject: Manually added patch 117 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=f718b543bfd162ff2df1b9be3dd347f5f0acca45;p=debian%2Fdebian-policy.git Manually added patch 117 git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-117 --- diff --git a/debian/changelog b/debian/changelog index 1b58139..66bf042 100644 --- a/debian/changelog +++ b/debian/changelog @@ -10,6 +10,8 @@ debian-policy (3.5.4.1) unstable; urgency=low * Added doc-base support for all of the HTML files * Added several more files to the byhand list and rewrote chunks of debian/rules to do this + * Add patched versions of debiandoc-sgml stuff to source package until + patches are incorporated upstream -- diff --git a/debian/rules b/debian/rules index c7d699d..f86477d 100755 --- a/debian/rules +++ b/debian/rules @@ -67,7 +67,7 @@ BYHAND_FILES = $(SGML_FILES:=.txt.gz) $(SGML_FILES:=.html.tar.gz) \ debconf_spec/debconf_specification.txt.gz \ debconf_spec/debconf_specification.html \ libc6-migration.txt virtual-package-names-list.txt \ - policy.ps.gz policy.pdf.gz \ + policy.ps.gz policy.pdf.gz upgrading-checklist.txt \ $(FHS_BYHAND) FILES_TO_CLEAN = debian/files debian/buildinfo debian/substvars \ @@ -92,11 +92,12 @@ all build: stamp-build stamp-build: $(checkdir) -test -f stamp-configure || $(MAKE) -f debian/rules configure + # Set PERL5LIB to use our version of DebianDoc_SGML::Format::Text set -e; \ for file in $(SGML_FILES); do \ nsgmls -gues $$file.sgml; \ debiandoc2html $$file.sgml; \ - debiandoc2text $$file.sgml; \ + env PERL5LIB=. debiandoc2text $$file.sgml; \ if [ -f $$file.text ]; then mv $$file.text $$file.txt; fi; \ gzip -9 $$file.txt; \ tar -cf $$file.html.tar $$file.html; \ @@ -191,9 +192,10 @@ stamp-policy: build chown -R root:root debian/tmp chmod -R go=rX debian/tmp dpkg --build debian/tmp .. - debiandoc2latexps policy.sgml + # Set PERL5LIB to use our version of DebianDoc_SGML::Format::LaTeX + env PERL5LIB=. debiandoc2latexps policy.sgml gzip -9f policy.ps - debiandoc2latexpdf policy.sgml + env PERL5LIB=. debiandoc2latexpdf policy.sgml gzip -9f policy.pdf set -e; \ for i in $(BYHAND_FILES); do \ diff --git a/policy.sgml b/policy.sgml index b1c1018..827cbb5 100644 --- a/policy.sgml +++ b/policy.sgml @@ -120,7 +120,7 @@

Informally, the criteria used for inclusion is that the material meet one of the following requirements: - + Standard interfaces

@@ -823,10 +823,11 @@ archive.

- Package names must consist of lower case letters (a-z), - digits (0-9), plus (+) and minus (-) signs, and periods - (.). They must be at least two characters long and must - contain at least one letter. + Package names must consist of lower case letters + (a-z), digits (0-9), plus (+) + and minus (-) signs, and periods (.). + They must be at least two characters long and must contain + at least one letter.

@@ -892,10 +893,11 @@ to install the package. This description should not just be copied verbatim from the program's documentation. Instructions for configuring or using the package should - not be included -- that is what installation scripts, - manual pages, info files, etc., are for. Copyright + not be included (that is what installation scripts, + manual pages, info files, etc., are for). Copyright statements and other administrivia should not be included - either -- that is what the copyright file is for.

+ either (that is what the copyright file is for). +

@@ -939,7 +941,7 @@ more-or-less the same functionality. In this case, it's useful to define a virtual package whose name describes that common functionality. (The virtual - packages only exist logically, not physically--that's why + packages only exist logically, not physically; that's why they are called virtual.) The packages with this particular function will then provide the virtual package. Thus, any other package requiring that function @@ -1001,7 +1003,7 @@ specify an extra force option to dpkg to do so), this flag must not be used unless absolutely necessary. A shared library package - must not be tagged essential--dependencies will + must not be tagged essential; dependencies will prevent its premature removal, and we need to be able to remove it when it has been superseded.

@@ -1062,7 +1064,7 @@ de-installed. (In this case, it may be appropriate to specify a conflict against earlier versions of something that previously did not use - update-alternatives - this is an exception to + update-alternatives; this is an exception to the usual rule that versioned conflicts should be avoided).

@@ -1199,7 +1201,7 @@

- The version number has four components--major and minor + The version number has four components: major and minor version number and major and minor patch level. When the standards change in a way that requires every package to change the major number will be changed. Significant @@ -1271,7 +1273,7 @@ package).

Rationale: - +

This allows maintaining the list separately from the policy documents (the list does not @@ -1488,7 +1490,7 @@ tabs) may occur immediately before or after the value and is ignored there; it is conventional to put a single space after the colon. For example, a field might be: - + Package: libc6 the field name is Package and the field value @@ -1583,7 +1585,7 @@ Package: libc6 archive maintainers. Current distribution names are: - + stable

@@ -1779,6 +1781,9 @@ Package: libc6

+

+ +

The upstream_version and debian_revision parts are compared by the package management system using the same algorithm: @@ -2179,14 +2184,14 @@ Package: libc6

That format is a series of entries like this: - + package (version) distribution(s); urgency=urgency * change details more change details * even more change details - -- maintainer name and email address date + -- maintainer name <email address> date

@@ -2242,7 +2247,9 @@ Package: libc6

To be precise, the string should match the following Perl regular expression: - /closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i + +/closes:\s*(?:bug)?\#?\s?\d+(?:,\s*(?:bug)?\#?\s?\d+)*/i + Then all of the bug numbers listed will be closed by the archive maintenance script (katie), or in the case of an NMU, marked as fixed. @@ -2356,8 +2363,8 @@ Package: libc6

When dpkg-gencontrol is run for a binary package, it adds an entry to debian/files for the - .deb file that will be created when dpkg-deb - --build is run for that binary package. So for most + .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.

@@ -2728,7 +2735,7 @@ Package: libc6

If a version of the package is already installed, call - + old-prerm upgrade new-version

@@ -2736,11 +2743,11 @@ Package: libc6

If the script runs but exits with a non-zero exit status, dpkg will attempt: - + new-prerm failed-upgrade old-version Error unwind, for both the above cases: - + old-postinst abort-upgrade new-version

@@ -2756,13 +2763,13 @@ Package: libc6 If any packages depended on that conflicting package and --auto-deconfigure is specified, call, for each such package: - + deconfigured's-prerm deconfigure \ in-favour package-being-installed version \ removing conflicting-package version Error unwind: - + deconfigured's-postinst abort-deconfigure \ in-favour package-being-installed-but-failed version \ removing conflicting-package version @@ -2774,12 +2781,12 @@ Package: libc6

To prepare for removal of the conflicting package, call: - + conflictor's-prerm remove \ in-favour package new-version Error unwind: - + conflictor's-postinst abort-remove \ in-favour package new-version @@ -2793,7 +2800,7 @@ Package: libc6

If the package is being upgraded, call: - + new-preinst upgrade old-version

@@ -2802,17 +2809,17 @@ Package: libc6 Otherwise, if the package had some configuration files from a previous version installed (i.e., it is in the `configuration files only' state): - + new-preinst install old-version

Otherwise (i.e., the package was completely purged): - + new-preinst install Error unwind actions, respectively: - + new-postrm abort-upgrade old-version new-postrm abort-install old-version new-postrm abort-install @@ -2884,17 +2891,17 @@ Package: libc6

If the package is being upgraded, call - + old-postrm upgrade new-version

If this fails, dpkg will attempt: - + new-postrm failed-upgrade old-version Error unwind, for both cases: - + old-preinst abort-upgrade new-version

@@ -2930,7 +2937,7 @@ Package: libc6

dpkg calls: - + disappearer's-postrm disappear \ overwriter overwriter-version @@ -3004,7 +3011,7 @@ Package: libc6 When we configure a package (this happens with dpkg --install, or with --configure), we first update any conffiles and then call: - + postinst configure most-recently-configured-version

@@ -3030,7 +3037,7 @@ Package: libc6

- + prerm remove

@@ -3042,7 +3049,7 @@ Package: libc6

- + postrm remove

@@ -3068,7 +3075,7 @@ Package: libc6

- + postrm purge

@@ -3170,7 +3177,7 @@ Package: libc6

For example, a list of dependencies might appear as: - + Package: mutt Version: 1.3.17-1 Depends: libc6 (>= 2.2.1), exim | mail-transport-agent @@ -3197,7 +3204,7 @@ Depends: libc6 (>= 2.2.1), exim | mail-transport-agent

For example: - + Source: glibc Build-Depends-Indep: texinfo Build-Depends: kernel-headers-2.2.10 [!hurd-i386], @@ -3451,14 +3458,14 @@ hurd-dev [hurd-i386], gnumach-dev [hurd-i386] caused) by either the real package or any of the virtual packages which provide it. This is so that, for example, supposing we have - + Package: foo Depends: bar and someone else releases an enhanced version of the bar package (for example, a non-US variant), they can say: - + Package: bar-plus Provides: bar @@ -3576,7 +3583,7 @@ Provides: bar can be a virtual package, so for example, all mail transport agents (MTAs) would have the following fields in their control files: - + Provides: mail-transport-agent Conflicts: mail-transport-agent Replaces: mail-transport-agent @@ -3712,7 +3719,7 @@ Replaces: mail-transport-agent

These are currently - +

/usr/X11R6/lib/Xaw3d

/usr/local/lib

/usr/lib/libc5-compat

@@ -3836,17 +3843,17 @@ Replaces: mail-transport-agent

- - debian/shlibs.local + +

debian/shlibs.local

This lists overrides for this package. Its use is described below (see ).

- /etc/dpkg/shlibs.override +

/etc/dpkg/shlibs.override

This lists global overrides. This list is normally empty. It is maintained by the local system @@ -3854,8 +3861,8 @@ Replaces: mail-transport-agent

- DEBIAN/shlibs files in the `build directory' +

DEBIAN/shlibs files in the `build directory'

When packages are being built, any debian/shlibs files are copied into the @@ -3896,8 +3903,8 @@ Replaces: mail-transport-agent

- /var/lib/dpkg/info/*.shlibs +

/var/lib/dpkg/info/*.shlibs

These are the shlibs files corresponding to all of the packages installed on the system, and are @@ -3905,8 +3912,8 @@ Replaces: mail-transport-agent

- /etc/dpkg/shlibs.default +

/etc/dpkg/shlibs.default

This file lists any shared libraries whose packages have failed to provide correct shlibs files. @@ -3915,7 +3922,7 @@ Replaces: mail-transport-agent maintained by the dpkg maintainer.

- +

@@ -3928,7 +3935,7 @@ Replaces: mail-transport-agent debian/rules file. If your package contains only compiled binaries and libraries (but no scripts), you can use a command such as: - + dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \ debian/tmp/usr/lib/* @@ -3977,7 +3984,7 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \ Each shlibs file has the same format. Lines beginning with # are considered to be commments and are ignored. Each line is of the form: - + library-name soname-version-number dependencies ...

@@ -4004,7 +4011,7 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \

This can be determined using the command - + objdump -p /usr/lib/libz.so.1.1.3 | grep SONAME

@@ -4026,7 +4033,7 @@ objdump -p /usr/lib/libz.so.1.1.3 | grep SONAME package which contained a minor number of at least 1.3 was 1:1.1.3-1, then the shlibs entry for this library could say: - + libz 1 zlib1g (>= 1:1.1.3) The version-specific dependency is to avoid warnings from @@ -4045,11 +4052,11 @@ libz 1 zlib1g (>= 1:1.1.3) you have multiple binary packages, you might want to call it debian/shlibs.package instead). Then let debian/rules install it in the control area: - + install -m644 debian/shlibs debian/tmp/DEBIAN or, in the case of a multi-binary package: - + install -m644 debian/shlibs.package debian/package/DEBIAN/shlibs An alternative way of doing this is to create the @@ -4093,7 +4100,7 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/ stdout instead of writing it to debian/substvars, and the lines have been wrapped for ease of reading): - + $ dpkg-shlibdeps -O debian/tmp/usr/bin/foo dpkg-shlibdeps: warning: unable to find dependency information for shared library libbar (soname 1, @@ -4102,7 +4109,7 @@ shlibs:Depends=libc6 (>= 2.2.2-2) You can then run ldd on the binary to find the full location of the library concerned: - + $ ldd foo libbar.so.1 => /usr/lib/libbar.so.1 (0x4001e000) libc.so.6 => /lib/libc.so.6 (0x40032000) @@ -4113,7 +4120,7 @@ libc.so.6 => /lib/libc.so.6 (0x40032000) provide a *.shlibs file handling libbar.so.1 in /var/lib/dpkg/info/. Let's determine the package responsible: - + $ dpkg -S /usr/lib/libbar.so.1 bar1: /usr/lib/libbar.so.1 $ dpkg -s bar1 | grep Version @@ -4125,7 +4132,7 @@ Version: 1.0-1 debian/shlibs.local to locally fix the problem. Including the following line into your debian/shlibs.local file: - + libbar 1 bar1 (>= 1.0-1) should allow the package build to work. @@ -4202,11 +4209,11 @@ libbar 1 bar1 (>= 1.0-1)

For example, the emacs package will contain - + mkdir -p /usr/local/lib/emacs/site-lisp || true in the postinst script, and - + rmdir /usr/local/lib/emacs/site-lisp || true rmdir /usr/local/lib/emacs || true @@ -4272,7 +4279,7 @@ rmdir /usr/local/lib/emacs || true

Apart from this we should have dynamically allocated ids, which should by default be arranged in some sensible - order--but the behavior should be configurable.

+ order, but the behavior should be configurable.

Packages other than base-passwd must not modify @@ -4431,7 +4438,7 @@ rmdir /usr/local/lib/emacs || true

The two-digit number mm is used to decide which - order to start and stop things in--low-numbered links have + order to start and stop things in: 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 @@ -4441,7 +4448,7 @@ rmdir /usr/local/lib/emacs || true 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 @@ -4511,7 +4518,7 @@ rmdir /usr/local/lib/emacs || true the package is removed but not purged. Therefore, you should include a test statement at the top of the script, like this: - + test -f program-executed-later-in-script || exit 0

@@ -4579,11 +4586,11 @@ test -f program-executed-later-in-script || exit 0

To get the default behavior for your package, put in your postinst script - + update-rc.d package defaults >/dev/null and in your postrm - + if [ purge = "$1" ]; then update-rc.d package remove >/dev/null fi @@ -4634,10 +4641,10 @@ fi correctly in the maintainer scripts (see ). (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 + 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 + service, while making sure her changes aren't lost during the next package upgrade.)

@@ -4660,7 +4667,7 @@ fi

- + #!/bin/sh # # Original version by Robert Leslie @@ -4718,7 +4725,7 @@ exit 0 parameters used by the script.

- + # Specified parameters to pass to named. See named(8). # You may uncomment the following line, and edit to taste. #PARAMS="-u nobody" @@ -4734,12 +4741,12 @@ exit 0 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 [ purge = "$1" ]; then update-rc.d bind remove >/dev/null fi @@ -4758,7 +4765,7 @@ fi If a package wants to install a job that has to be executed via cron, it should place a file with the name of the package in one of the following directories: - + /etc/cron.daily /etc/cron.weekly /etc/cron.monthly @@ -4838,11 +4845,11 @@ fi what he is doing (let him be polite :-) but don't mention ``him'' directly. For example, if you think of saying - + I'm starting network daemons: nfsd mountd. just say - + Starting network daemons: nfsd mountd.

@@ -4862,8 +4869,8 @@ Starting network daemons: nfsd mountd. Use this format if your script starts one or more daemons. The output should look like this (a single line, no leading spaces): - -Starting <description>: <daemon-1> <daemon-2> <...> <daemon-n>. + +Starting <description>: <daemon-1> ... <daemon-n>. The <description> should describe the subsystem the daemon or set of daemons are part of, while @@ -4873,20 +4880,20 @@ Starting <description>: <daemon-1> <daemon-2> <...> <

For example, the output of /etc/init.d/lpd would look like: - + Starting printer spooler: lpd.

This can be achieved by saying - + echo -n "Starting printer spooler: lpd" start-stop-daemon --start --quiet lpd echo "." in the script. If you have more than one daemon to start, you should do the following: - + echo -n "Starting remote file system services:" echo -n " nfsd"; start-stop-daemon --start --quiet nfsd echo -n " mountd"; start-stop-daemon --start --quiet mountd @@ -4909,14 +4916,14 @@ echo "."

If you have to set up different parameters of the system upon boot up, you should use this format: - + Setting <parameter> to `<value>'.

You can use the following echo statement to get the quotes right: - + echo "Setting DNS domainname to \`"value"'."

@@ -4937,7 +4944,7 @@ echo "Setting DNS domainname to \`"value"'."

So stopping the printer daemon will like like this: - + Stopping printer spooler: lpd.

@@ -4950,13 +4957,13 @@ Stopping printer spooler: lpd. specific task. For example, setting the system's clock via `netdate' or killing all processes when the system comes down. Your message should like this: - + Doing something very useful...done. You should print the `done.' right after the job has been completed, so that the user gets informed why he has to wait. You can get this behavior by saying - + echo -n "Doing something very useful..." do_something echo "done." @@ -4971,7 +4978,7 @@ echo "done."

When a daemon is forced to reload its configuration files you should use the following format: - + Reloading <daemon's-name> configuration...done.

@@ -5085,7 +5092,7 @@ Reloading <daemon's-name> configuration...done. should be set up to achieve this:

- +

`<--' generates KB_Backspace in X.

@@ -5138,7 +5145,7 @@ Reloading <daemon's-name> configuration...done. This will solve the problem except for:

- +

Some terminals have a <-- key that cannot be made to produce anything except ^H. On @@ -5201,7 +5208,7 @@ Reloading <daemon's-name> configuration...done.

Here is an example of a wrapper script for this purpose: - + #!/bin/sh BAR=${BAR:-/var/lib/fubar} export BAR @@ -5236,7 +5243,7 @@ exec /usr/lib/foo/foo "$@"

Generally the following compilation parameters should be used: - + CC = gcc CFLAGS = -O2 -Wall # sane warning options vary between programs LDFLAGS = # none @@ -5285,7 +5292,7 @@ install -s # (or use strip on the files in debian/tmp) compiling that package.

Now this has several added benefits: - +

It is actually easier to build debugging bins and @@ -5307,7 +5314,7 @@ install -s # (or use strip on the files in debian/tmp) - + CFLAGS = -O2 -Wall INSTALL = install INSTALL_FILE = $(INSTALL) -p -o root -g root -m 644 @@ -5338,7 +5345,7 @@ endif here. Don't use flags for the sake of it; only use them if there is good reason to do so. Feel free to override the upstream author's ideas about which compilation - options are best--they are often inappropriate for our + options are best: they are often inappropriate for our environment.

@@ -5360,14 +5367,15 @@ endif

Note that all installed shared libraries should be stripped with - + strip --strip-unneeded <your-lib> - (The option `--strip-unneeded' makes strip remove - only the symbols which aren't needed for relocation - processing.) Shared libraries can function perfectly well - when stripped, since the symbols for dynamic linking are - in a separate part of the ELF object file.

+ (The option --strip-unneeded makes + strip remove only the symbols which aren't + needed for relocation processing.) Shared libraries can + function perfectly well when stripped, since the symbols for + dynamic linking are in a separate part of the ELF object + file.

Note that under some circumstances it may be useful to @@ -5434,7 +5442,7 @@ strip --strip-unneeded <your-lib> libraries you need to create two packages: librarynamesoname (soname is the shared object name of the shared - library--it's the thing that has to match exactly between + library: it's the thing that has to match exactly between building an executable and running it for the dynamic linker to be able run the program; usually the soname is the major number of the library) and @@ -5469,7 +5477,7 @@ strip --strip-unneeded <your-lib> without getting filename clashes. Instead, either create a third package for the runtime binaries (this package might typically be named - libraryname-runtime--note the absence + libraryname-runtime; note the absence of the soname in the package name) or if the development package is small include them in there.

@@ -5609,7 +5617,7 @@ strip --strip-unneeded <your-lib>

For example, in your Makefile or debian/rules, do things like: - + ln -fs gcc $(prefix)/bin/cc ln -fs gcc debian/tmp/usr/bin/cc ln -fs ../sbin/sendmail $(prefix)/bin/runq @@ -5711,7 +5719,7 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq

Configuration file handling must conform to the following behavior: - +

local changes must be preserved during a package upgrade

@@ -5937,7 +5945,7 @@ ln -fs ../sbin/sendmail debian/tmp/usr/bin/runq logrotate. Here is a good example for a logrotate config file (for more information see ): - + /var/log/foo/* { rotate 12 weekly @@ -5980,7 +5988,7 @@ endscript

Directories should be mode 755 or (for group-writability) mode 2775. The ownership of the directory should be - consistent with its mode--if a directory is mode 2775, it + consistent with its mode: if a directory is mode 2775, it should be owned by the group that needs write access to it.

@@ -5990,7 +5998,7 @@ endscript They should not be made unreadable (modes like 4711 or 2711 or even 4111); doing so achieves no extra security, because anyone can find the binary in the freely available - Debian package--it is merely inconvenient. For the same + Debian package, it is merely inconvenient. For the same reason you should not restrict read or execute permissions on non-set-id executables.

@@ -6069,7 +6077,7 @@ endscript

If a program needs to specify an architecture specification string in some place, the following format should be used: - + <arch>-<os> where `<arch>' is one of the following: i386, alpha, arm, m68k, @@ -6208,11 +6216,11 @@ endscript

Cgi-bin executable files are installed in the directory - + /usr/lib/cgi-bin/<cgi-bin-name> and should be referred to as - + http://localhost/cgi-bin/<cgi-bin-name>

@@ -6227,7 +6235,7 @@ http://localhost/cgi-bin/<cgi-bin-name> /usr/doc/package for backward compatibility, see and can be referred to as - + http://localhost/doc/<package>/<filename>

@@ -6241,7 +6249,7 @@ http://localhost/doc/<package>/<filename> /usr/share/doc/<package> directory for documents and register the Web Application via the menu package. If access to the web-root is unavoidable then use - + /var/www as the Document Root. This might be just a @@ -6309,7 +6317,7 @@ http://localhost/doc/<package>/<filename>

/etc/aliases is the source file for the system mail - aliases (e.g., postmaster, usenet, etc.)--it is the one + aliases (e.g., postmaster, usenet, etc.), it is the one which the sysadmin and postinst scripts may edit. After /etc/aliases is edited the program or human editing it must call newaliases. All MTA @@ -6348,7 +6356,7 @@ http://localhost/doc/<package>/<filename> configuration. The prompt should make it clear that the name will not just be used by that package. For example, in this situation the INN package says: - + Please enter the `mail name' of your system. This is the hostname portion of the address to be shown on outgoing news and mail messages. The default is @@ -6438,7 +6446,7 @@ name [`syshostname']: x-window-manager. They should also register themselves as an alternative for /usr/bin/x-window-manager, with a priority calculated as follows: - + Start with a priority of 20. If the window manager supports the Debian menu system, add 20 points if this support is available in the @@ -6478,7 +6486,7 @@ name [`syshostname']: xutils package), gzipped, and placed in a directory that corresponds to their resolution: - + 100 dpi fonts should be placed in /usr/X11R6/lib/X11/fonts/100dpi/. @@ -6535,7 +6543,7 @@ name [`syshostname']: Font packages must not provide the files fonts.dir, fonts.alias, or fonts.scale in a font directory. - + fonts.dir files must not be provided at all. @@ -6619,36 +6627,37 @@ name [`syshostname']:

- Packages using the X Window System should abide by the FHS - standard whenever possible; they should install binaries, - libraries, manual pages, and other files in FHS-mandated - locations wherever possible. This means that files must - not be installed into /usr/X11R6/bin/, - /usr/X11R6/lib/, or /usr/X11R6/man/ unless - this is necessary for the package to operate properly. - Configuration files for window managers and display managers - should be placed in a subdirectory of /etc/X11/ - 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 - /etc/ directory unless otherwise mandated by - policy. The installation of files into subdirectories of - /usr/X11R6/include/X11/ and - /usr/X11R6/lib/X11/ is permitted but discouraged; - package maintainers should determine if subdirectories of - /usr/lib/ and /usr/share/ can be used - instead (symlinks from the X11R6 directories to - FHS-compliant locations is encouraged if the program is not - easily configured to look elsewhere for its files). - Packages must not provide -- or install files into -- the - directories /usr/bin/X11/, - /usr/include/X11/, or /usr/lib/X11/. - Files within a package should, however, make reference to - these directories, rather than their X11R6-named - counterparts /usr/X11R6/bin/, - /usr/X11R6/include/X11/, and - /usr/X11R6/lib/X11/, if the resources being - referred to have not been moved to FHS-compliant locations. + Packages using the X Window System should abide by the + FHS standard whenever possible; they should install + binaries, libraries, manual pages, and other files in + FHS-mandated locations wherever possible. This means that + files must not be installed into /usr/X11R6/bin/, + /usr/X11R6/lib/, or /usr/X11R6/man/ + unless this is necessary for the package to operate + properly. Configuration files for window managers and + display managers should be placed in a subdirectory of + /etc/X11/ 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 /etc/ directory unless otherwise mandated + by policy. The installation of files into subdirectories + of /usr/X11R6/include/X11/ and + /usr/X11R6/lib/X11/ is permitted but discouraged; + package maintainers should determine if subdirectories of + /usr/lib/ and /usr/share/ can be used + instead (symlinks from the X11R6 directories to + FHS-compliant locations is encouraged if the program is + not easily configured to look elsewhere for its files). + Packages must not provide or install files into the + directories /usr/bin/X11/, + /usr/include/X11/, or /usr/lib/X11/. + Files within a package should, however, make reference to + these directories, rather than their X11R6-named + counterparts /usr/X11R6/bin/, + /usr/X11R6/include/X11/, and + /usr/X11R6/lib/X11/, if the resources being + referred to have not been moved to FHS-compliant + locations.

@@ -6771,7 +6780,7 @@ name [`syshostname']: to the manual page may be provided. This symbolic link can be created from debian/rules like this: - + ln -s ../man7/undocumented.7.gz \ debian/tmp/usr/share/man/man[1-9]/the_requested_manpage.[1-9].gz @@ -6785,7 +6794,7 @@ debian/tmp/usr/share/man/man[1-9]/the_requested_manpage.[1-9].gz upstream authors, and mark the bug as forwarded in the Debian bug tracking system. Even though the GNU Project do not in general consider the lack of a manpage to be a bug, - we do--if they tell you that they don't consider it a bug + we do; if they tell you that they don't consider it a bug you should leave the bug in our bug tracking system open anyway.

@@ -6798,7 +6807,7 @@ debian/tmp/usr/share/man/man[1-9]/the_requested_manpage.[1-9].gz is better to use a symbolic link than the .so feature, but there is no need to fiddle with the relevant parts of the upstream source to change from .so to - symlinks--don't do it unless it's easy. You should not create hard + symlinks: don't do it unless it's easy. You should not create hard links in the manual page directories, nor put absolute filenames in .so directives. The filename in a .so in a manpage should be relative to the @@ -6817,7 +6826,7 @@ debian/tmp/usr/share/man/man[1-9]/the_requested_manpage.[1-9].gz Your package should call install-info to update the Info dir file, in its post-installation script: - + install-info --quiet --section Development Development \ /usr/share/info/foobar.info

@@ -6835,7 +6844,7 @@ install-info --quiet --section Development Development \

You should remove the entries in the pre-removal script: - + install-info --quiet --remove /usr/share/info/foobar.info

@@ -6902,7 +6911,7 @@ install-info --quiet --remove /usr/share/info/foobar.info with dpkg. One reasonable way to accomplish this is to put the following in the package's postinst: - + if [ "$1" = "configure" ]; then if [ -d /usr/doc -a ! -e /usr/doc/#PACKAGE# \ -a -d /usr/share/doc/#PACKAGE# ]; then @@ -6911,7 +6920,7 @@ if [ "$1" = "configure" ]; then fi And the following in the package's prerm: - + if [ \( "$1" = "upgrade" -o "$1" = "remove" \) \ -a -L /usr/doc/#PACKAGE# ]; then rm -f /usr/doc/#PACKAGE# @@ -7020,7 +7029,7 @@ fi Any examples (configurations, source files, whatever), should be installed in a directory /usr/share/doc/package/examples. These - files should not be referenced by any program--they're there + files should not be referenced by any program: they're there for the benefit of the system administrator and users, as documentation only. Architecture-specific example files should be installed in a directory