X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=89a56138b4c7eb57c8a188e4ebe7a820ea5f5c39;hb=80299b99e81e202c87566ecd9227d6234b507a05;hp=1afd229dc53b4e960ff754cd85364614accd9a52;hpb=a2caab73ad4ba7ec2ac6b7831937cec52ede2236;p=debian%2Fdebian-policy.git diff --git a/policy.sgml b/policy.sgml index 1afd229..89a5613 100644 --- a/policy.sgml +++ b/policy.sgml @@ -157,17 +157,14 @@

This manual is distributed via the Debian package - debian-policy. + .

The current version of this document is also available from the Debian web mirrors at - and from the Debian archive mirrors at - . + id="http://www.debian.org/doc/debian-policy/">. Also available from the same directory are several other formats: policy.html.tar.gz, policy.pdf.gz and policy.ps.gz. @@ -1234,43 +1231,17 @@ Prompting in maintainer scripts

Package maintainer scripts may prompt the user if - necessary. Prompting may be accomplished by hand - From the Jargon file: by hand 2. By extension, - writing code which does something in an explicit or - low-level way for which a presupplied library - (debconf, in this instance) routine ought - to have been available. - - (but this is deprecated), or by communicating through a program - which conforms to the Debian Configuration management - specification, version 2 or higher, such as - debconf -

- 6% of Debian packages [see ] currently use - debconf to prompt the user at - install time, and this number is growing daily. The - benefits of using debconf are briefly explained at - ; they include - preconfiguration, (mostly) noninteractive - installation, elimination of redundant prompting, - consistency of user interface, etc. -

- -

- With this increasing number of packages using - debconf, plus the existence of a - nascent second implementation of the Debian - configuration management system - (cdebconf), and the stabilization - of the protocol these things use, the time has - finally come to reflect the use of these things in - policy. -

- . + necessary. Prompting should be done by communicating + through a program, such as debconf, which + conforms to the Debian Configuration management + specification, version 2 or higher. Prompting the user by + other means, such as by hand + From the Jargon file: by hand 2. By extension, + writing code which does something in an explicit or + low-level way for which a presupplied library + (debconf, in this instance) routine ought + to have been available. + , is now deprecated.

@@ -1761,25 +1732,6 @@

- - Obsolete constructs and libraries - -

- The include file <varargs.h> is - provided to support end-users compiling very old software; - the library libtermcap is provided to support the - execution of software which has been linked against it - (either old programs or those such as Netscape which are - only available in binary form). -

- -

- Debian packages should be patched to use - <stdarg.h> and ncurses - instead. -

-
- Main building script: debian/rules @@ -3693,10 +3645,18 @@ Package: libc6

If there is no most recently configured version - dpkg will pass a null argument; older versions - of dpkg may pass <unknown> (including the - angle brackets) in this case. Even older ones do not pass a - second argument at all, under any circumstances. + dpkg will pass a null argument. + +

+ Historical note: Truly ancient (pre-1997) versions of + dpkg passed <unknown> + (including the angle brackets) in this case. Even older + ones did not pass a second argument at all, under any + circumstance. Note that upgrades using such an old dpkg + version are unlikely to work for other reasons, even if + this old argument behavior is handled by your postinst script. +

+

@@ -3748,8 +3708,10 @@ Package: libc6 - No attempt is made to unwind after errors during - removal. + If there are problems during this process, we call + postinst + abort-remove. No other attempt is made to unwind + after errors during removal.

@@ -4382,9 +4344,9 @@ Replaces: mail-transport-agent

The package should install the shared libraries under - their normal names. For example, the libgdbmg1 - package should install libgdbm.so.1.7.3 as - /usr/lib/libgdbm.so.1.7.3. The files should not be + their normal names. For example, the libgdbm3 + package should install libgdbm.so.3.0.0 as + /usr/lib/libgdbm.so.3.0.0. The files should not be renamed or re-linked by any prerm or postrm scripts; dpkg will take care of renaming things safely without affecting running programs, @@ -4401,9 +4363,9 @@ Replaces: mail-transport-agent

The run-time library package should include the symbolic link that ldconfig would create for the shared libraries. - For example, the libgdbmg1 package should include - a symbolic link from /usr/lib/libgdbm.so.1 to - libgdbm.so.1.7.3. This is needed so that the dynamic + For example, the libgdbm3 package should include + a symbolic link from /usr/lib/libgdbm.so.3 to + libgdbm.so.3.0.0. This is needed so that the dynamic linker (for example ld.so or ld-linux.so.*) can find the library between the time that dpkg installs it and the time that @@ -4578,9 +4540,9 @@ Replaces: mail-transport-agent

The development package should contain a symlink for the associated shared library without a version number. For example, the - libgdbmg1-dev package should include a symlink + libgdbm-dev package should include a symlink from /usr/lib/libgdbm.so to - libgdbm.so.1.7.3. This symlink is needed by the linker + libgdbm.so.3.0.0. This symlink is needed by the linker (ld) when compiling packages, as it will only look for libgdbm.so when compiling dynamically.

@@ -5511,7 +5473,7 @@ test -f program-executed-later-in-script || exit 0 Directly managing the /etc/rc?.d links and directly invoking the /etc/init.d/ initscripts should be done only by packages providing the initscript - subsystem (such as sysvinit and + subsystem (such as sysv-rct and file-rc).

@@ -5707,7 +5669,7 @@ stop) ;; restart) echo -n "Restarting domain name service: named" - start-stop-daemon --stop --quiet \ + start-stop-daemon --stop --quiet --oknodo \ --pidfile /var/run/named.pid --exec /usr/sbin/named start-stop-daemon --start --verbose --exec /usr/sbin/named \ -- $PARAMS @@ -6426,21 +6388,18 @@ endif the library compatible with LinuxThreads.

- -

- Although not enforced by the build tools, shared libraries - must be linked against all libraries that they use symbols from - in the same way that binaries are. This ensures the correct - functioning of the shlibs - system and guarantees that all libraries can be safely opened - with dlopen(). Packagers may wish to use the gcc - option -Wl,-z,defs when building a shared library. - Since this option enforces symbol resolution at build time, - a missing library reference will be caught early as a fatal - build error. -

- - +

+ Although not enforced by the build tools, shared libraries + must be linked against all libraries that they use symbols from + in the same way that binaries are. This ensures the correct + functioning of the shlibs + system and guarantees that all libraries can be safely opened + with dlopen(). Packagers may wish to use the gcc + option -Wl,-z,defs when building a shared library. + Since this option enforces symbol resolution at build time, + a missing library reference will be caught early as a fatal + build error. +

All installed shared libraries should be stripped with @@ -7253,7 +7212,7 @@ done string in some place, the following format should be used: arch-os The following architectures and operating systems are - currently recognised by dpkg-archictecture. + currently recognised by dpkg-architecture. The architecture, arch, is one of the following: alpha, arm, hppa, i386, ia64,