From 303a8ef67f49fa9f0d1339ac57d9f45bb41ee422 Mon Sep 17 00:00:00 2001
From: Manoj Srivastava
Date: Thu, 16 Jun 2005 05:07:21 +0000
Subject: [PATCH] * [ACCEPTED 10/26/99] changelog.html.gz sanitization. closes
Author: srivasta
Date: 2000/03/17 23:04:38
* [ACCEPTED 10/26/99] changelog.html.gz sanitization. closes: Bug#40934
* [AMENDED 07/09/1999] policy on -g, a proposal closes: Bug#43787
* [ACCEPTED 02/01/2000] policy for usage of "xserver"
alternative closes: Bug#53755
* [ACCEPTED 02/01/2000] additions to virtual package
list closes: Bug#53756
* [ACCEPTED 02/01/2000] policy for "x-terminal-emulator"
virtual package and alternative closes: Bug#53757
* [ACCEPTED 02/01/2000] policy for "x-window-manager"
virtual package and alternative closes: Bug#53758
* [ACCEPTED 02/01/2000] revision of X application-defaults
policy closes: Bug#53760
* [ACCEPTED 02/01/2000] revision of the Motif/LessTif
policy closes: Bug#53761
* [ACCEPTED 02/01/2000] applying the FHS to packages
that use X closes: Bug#53762
* [ACCEPTED 02/01/2000] policy for X font packages closes: Bug#53763
* packaging manual: Added additional clarification on dpkg
behaviour. closes: Bug#17369
* Fixed missing tag. closes: Bug#51091
* Documented that the library before the symlink hack (which dependend
on file system specific kinks to work) is no longer required by newer
versions of dpkg. closes: Bug#53405
* Fixed typo where dpkg-genchanges was used instead of
dpkg-gencontrol. closes: Bug#58771
* [PROPOSED]: clarification needed about diversions.
fixed usage for dpkg-divert closes: Bug#29522
* We have had doc-base support for a while now. closes: Bug#15709
* Moved the documents into the Debian/ section, since that is where they
belong, really. closes: Bug#54777
* Added policy-process to document current procedures.
git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-47
---
debian/changelog | 36 +++
debian/postinst.in | 25 +-
debian/prerm.in | 20 +-
debian/rules | 24 +-
packaging.sgml | 60 ++--
policy-process.sgml | 302 ++++++++++++++++++++
policy.sgml | 494 ++++++++++++++++++++++++++-------
upgrading-checklist.html | 36 ++-
virtual-package-names-list.txt | 11 +-
9 files changed, 841 insertions(+), 167 deletions(-)
create mode 100644 policy-process.sgml
diff --git a/debian/changelog b/debian/changelog
index 0c7bdb9..b7334b9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,39 @@
+debian-policy (4.0.0.0) unstable; urgency=low
+
+ * [ACCEPTED 10/26/99] changelog.html.gz sanitization. closes: Bug#40934
+ * [AMENDED 07/09/1999] policy on -g, a proposal closes: Bug#43787
+ * [ACCEPTED 02/01/2000] policy for usage of "xserver"
+ alternative closes: Bug#53755
+ * [ACCEPTED 02/01/2000] additions to virtual package
+ list closes: Bug#53756
+ * [ACCEPTED 02/01/2000] policy for "x-terminal-emulator"
+ virtual package and alternative closes: Bug#53757
+ * [ACCEPTED 02/01/2000] policy for "x-window-manager"
+ virtual package and alternative closes: Bug#53758
+ * [ACCEPTED 02/01/2000] revision of X application-defaults
+ policy closes: Bug#53760
+ * [ACCEPTED 02/01/2000] revision of the Motif/LessTif
+ policy closes: Bug#53761
+ * [ACCEPTED 02/01/2000] applying the FHS to packages
+ that use X closes: Bug#53762
+ * [ACCEPTED 02/01/2000] policy for X font packages closes: Bug#53763
+ * packaging manual: Added additional clarification on dpkg
+ behaviour. closes: Bug#17369
+ * Fixed missing tag. closes: Bug#51091
+ * Documented that the library before the symlink hack (which dependend
+ on file system specific kinks to work) is no longer required by newer
+ versions of dpkg. closes: Bug#53405
+ * Fixed typo where dpkg-genchanges was used instead of
+ dpkg-gencontrol. closes: Bug#58771
+ * [PROPOSED]: clarification needed about diversions.
+ fixed usage for dpkg-divert closes: Bug#29522
+ * We have had doc-base support for a while now. closes: Bug#15709
+ * Moved the documents into the Debian/ section, since that is where they
+ belong, really. closes: Bug#54777
+ * Added policy-process to document current procedures.
+
+ -- Manoj Srivastava Fri, 17 Mar 2000 17:02:12 -0600
+
debian-policy (3.1.1.3) unstable; urgency=low
* Fixed an upgrade bug when /usr/doc happens to be a symlink, and does
diff --git a/debian/postinst.in b/debian/postinst.in
index 9b280c9..d2c6f6f 100644
--- a/debian/postinst.in
+++ b/debian/postinst.in
@@ -5,9 +5,9 @@
# Created On : Thu Oct 29 15:23:36 1998
# Created On Node : tiamat.datasync.com
# Last Modified By : Manoj Srivastava
-# Last Modified On : Mon Feb 28 22:32:47 2000
+# Last Modified On : Fri Mar 17 17:00:35 2000
# Last Machine Used: glaurung.green-gryphon.com
-# Update Count : 5
+# Update Count : 8
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
@@ -26,7 +26,7 @@ PACKAGE=#PACKAGE#
# its automatic conffile handling, and all the packages we depend of
# are already fully installed and configured.
-package_name=debian-policy
+package_name=#PACKAGE#
if [ -z "package_name" ]; then
print >&2 "Internal Error. Please report a bug."
@@ -54,6 +54,21 @@ case "$1" in
starget_dir=$(/bin/pwd);
cd /
+ link_target="../share/doc/$package_name";
+ cd /usr/doc/;
+ if [ -d ../share/doc/ ]; then
+ cd ../share/doc/
+ ltarget=$(/bin/pwd);
+ if [ "$starget_dir" = "$ltarget" ]; then
+ link_target="../share/doc/$package_name";
+ else
+ link_target="/usr/share/doc/$package_name";
+ fi
+ else
+ link_target="/usr/share/doc/$package_name"
+ fi
+
+
# Well, make sure that we do not get tripped up by the symlink
if [ -L /usr/doc/$package_name ]; then
rm -f /usr/doc/$package_name
@@ -98,14 +113,14 @@ EOF
echo "/usr/doc/$package_name still exists"
if [ -L /usr/doc/$package_name ]; then
echo "it is a symbolic link, overwriting"
- ln -sf ../share/doc/$package_name /usr/doc/$package_name
+ ln -sf $link_target /usr/doc/$package_name
else
echo "This is an error. Aborting"
exit 1
fi
fi
# File unexists. Free to go ahead and create link
- ln -sf ../share/doc/$package_name /usr/doc/$package_name
+ ln -sf $link_target /usr/doc/$package_name
fi
fi
diff --git a/debian/prerm.in b/debian/prerm.in
index d1380b8..91bebf6 100644
--- a/debian/prerm.in
+++ b/debian/prerm.in
@@ -5,9 +5,9 @@
# Created On : Thu Oct 29 15:31:03 1998
# Created On Node : tiamat.datasync.com
# Last Modified By : Manoj Srivastava
-# Last Modified On : Thu Oct 29 15:33:43 1998
-# Last Machine Used: tiamat.datasync.com
-# Update Count : 1
+# Last Modified On : Fri Mar 17 17:10:23 2000
+# Last Machine Used: glaurung.green-gryphon.com
+# Update Count : 2
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
@@ -18,7 +18,7 @@
set -e
# This is filled in by debian/rules
-PACKAGE=#PACKAGE#
+package_name=#PACKAGE#
# This script is called as the first step in removing the package from
# the system. This includes cases where the user explicitly asked for
@@ -29,6 +29,9 @@ case "$1" in
remove)
# This package about to be removed.
:
+ if [ -L /usr/doc/$package_name ]; then
+ rm -f /usr/doc/$package_name
+ fi
# There are two sub-cases:
if test "${2+set}" = set; then
@@ -59,6 +62,9 @@ case "$1" in
upgrade)
# Prepare to upgrade FROM THIS VERSION of this package to version $2.
:
+ if [ -L /usr/doc/$package_name ]; then
+ rm -f /usr/doc/$package_name
+ fi
;;
failed-upgrade)
@@ -72,11 +78,7 @@ case "$1" in
exit 0;;
esac
-# FSSTND compatibility symlinks
-if [ \( "$1" = "upgrade" -o "$1" = "remove" \) \
- -a -L /usr/doc/$PACKAGE ]; then
- rm -f /usr/doc/$PACKAGE
-fi
+
if [ -x /usr/sbin/install-docs ]; then
/usr/sbin/install-docs -r $PACKAGE
diff --git a/debian/rules b/debian/rules
index 5def3f7..fb5662b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,10 +4,10 @@
## Author : Manoj Srivastava ( srivasta@tiamat.datasync.com )
## Created On : Thu Oct 29 15:35:55 1998
## Created On Node : tiamat.datasync.com
-## Last Modified By : Julian Gilbey
-## Last Modified On : Mon Dec 20 21:01:12 GMT 1999
+## Last Modified By : Manoj Srivastava
+## Last Modified On : Fri Mar 17 17:01:28 2000
## Last Machine Used: glaurung.green-gryphon.com
-## Update Count : 51
+## Update Count : 53
## Status : Unknown, Use with caution!
## HISTORY :
## Description :
@@ -27,13 +27,15 @@ FILES_TO_CLEAN = debian/files debian/buildinfo debian/substvars \
upgrading-checklist.text policy.text.gz \
packaging.lout packaging.text.gz packaging.ps \
packaging.pdf.gz menu-policy.text.gz \
+ policy-process.text.gz policy-process.pdf.gz \
proposal.text.gz menu-policy.pdf.gz proposal.pdf.gz \
mime-policy.text.gz mime-policy.pdf.gz
STAMPS_TO_CLEAN = stamp-policy stamp-packaging stamp-build stamp-configure
DIRS_TO_CLEAN = debian/tmp policy.html fhs debian/tmp-packaging \
packaging.html menu-policy.html mime-policy.html \
- proposal.html
-SGML_FILES = policy packaging menu-policy mime-policy proposal
+ proposal.html policy-process.html
+SGML_FILES = policy packaging menu-policy mime-policy proposal \
+ policy-process
# Location of the source dir
SRCTOP := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi;)
@@ -55,7 +57,8 @@ POLICY_FILES =policy.text.gz policy.sgml virtual-package-names-list.text \
upgrading-checklist.text libc6-migration.text \
version.ent proposal.sgml proposal.text.gz \
menu-policy.sgml menu-policy.text.gz \
- mime-policy.sgml mime-policy.text.gz
+ mime-policy.sgml mime-policy.text.gz \
+ policy-process.text.gz policy-process.sgml
BYHAND_FILES =policy.text.gz libc6-migration.text \
virtual-package-names-list.text menu-policy.text.gz \
mime-policy.text.gz
@@ -135,8 +138,9 @@ stamp-policy: build
(tar cf - menu-policy.html) | (cd $(DOCDIR); tar xf -)
(tar cf - mime-policy.html) | (cd $(DOCDIR); tar xf -)
(tar cf - proposal.html) | (cd $(DOCDIR); tar xf -)
- sed -e 's/#PACKAGE#/$(package)/' debian/postinst.in > debian/postinst
- sed -e 's/#PACKAGE#/$(package)/' debian/prerm.in > debian/prerm
+ (tar cf - policy-process.html) | (cd $(DOCDIR); tar xf -)
+ sed -e 's/#PACKAGE#/$(package)/g' debian/postinst.in > debian/postinst
+ sed -e 's/#PACKAGE#/$(package)/g' debian/prerm.in > debian/prerm
$(install_program) debian/{postinst,prerm} debian/tmp/DEBIAN/
dpkg-gencontrol -pdebian-policy -Pdebian/tmp -isp
chown -R root.root debian/tmp
@@ -178,8 +182,8 @@ stamp-packaging: build
$(install_file) debian/copyright $(PDOCDIR)/
$(install_file) packaging-manual.desc $(PLIBDIR)/packaging-manual
(tar cf - packaging.html) | (cd $(PDOCDIR); tar xf -)
- sed -e 's/#PACKAGE#/$(ppackage)/' debian/postinst.in > debian/postinst
- sed -e 's/#PACKAGE#/$(ppackage)/' debian/prerm.in > debian/prerm
+ sed -e 's/#PACKAGE#/$(ppackage)/g' debian/postinst.in > debian/postinst
+ sed -e 's/#PACKAGE#/$(ppackage)/g' debian/prerm.in > debian/prerm
$(install_program) debian/{postinst,prerm} debian/tmp-packaging/DEBIAN/
dpkg-gencontrol -ppackaging-manual -Pdebian/tmp-packaging -isp
chown -R root.root debian/tmp-packaging
diff --git a/packaging.sgml b/packaging.sgml
index a788ee9..6a4efd9 100644
--- a/packaging.sgml
+++ b/packaging.sgml
@@ -40,14 +40,12 @@
This manual describes the technical aspects of creating Debian
- binary and source packages. It also documents the interface
- between dselect and its access method scripts.
- It does not deal with the Debian Project policy requirements,
- and it assumes familiarity with dpkg's functions
- from the system administrator's perspective. This
- package itself is maintained by a group of maintainers
- that have no editorial powers. At the moment, the list of
- maintainers is:
+ binary and source packages. It does not deal with the Debian
+ Project policy requirements, and it assumes familiarity with
+ dpkg's functions from the system administrator's
+ perspective. This package itself is maintained by a group of
+ maintainers that have no editorial powers. At the moment, the
+ list of maintainers is:
-
Michael Alan Dorman mdorman@debian.org
@@ -2195,7 +2193,7 @@
the value from a .deb file if they have no other
information; a value listed in a Packages file
will always take precedence. By default
- dpkg-genchanges does not include the section
+ dpkg-gencontrol does not include the section
and priority in the control file of a binary package - use
the -isp, -is or -ip options to
achieve this effect.
@@ -3913,14 +3911,16 @@
- If one package is to be installed, the other must be removed first -
- if the package being installed is marked as replacing ([) the one on the system, or the one on the system is
- marked as deselected, or both packages are marked
- Essential, then dpkg will
- automatically remove the package which is causing the
- conflict, otherwise it will halt the installation of the new
- package with an error.
+ If one package is to be installed, the other must be removed
+ first - if the package being installed is marked as
+ replacing (][) the one on the system, or
+ the one on the system is marked as deselected, or both
+ packages are marked Essential, then
+ dpkg will automatically remove the package
+ which is causing the conflict, otherwise it will halt the
+ installation of the new package with an error. This
+ mechanism specifically doesn't work when the installed
+ package is tt>Essential, but the new package is not.
]
@@ -4445,7 +4445,7 @@
supposing that a smailwrapper package wishes to
install a wrapper around /usr/sbin/smail:
- if [ install = "$1" ]; then
+ if [ install = "$1" -o upgrade = "$1" ]; then
dpkg-divert --package smailwrapper --add --rename \
--divert /usr/sbin/smail.real /usr/sbin/smail
fi
@@ -4506,18 +4506,18 @@
libgdbm.so.1.7.3. This is needed so that
ld.so can find the library in between the time
dpkg installs it and ldconfig is run
- in the postinst script. Futhermore, and this
- is very important, the library must be placed before the
- symlink pointing to it in the .deb file. This is so
- that by the time dpkg comes to install the
- symlink (overwriting the previous symlink pointing at an older
- version of the library) the new shared library is already in
- place. Currently the way to ensure the ordering is done
- properly is to install the library in the appropriate
- debian/tmp/.../lib directory before creating the
- symlink, by putting the commands in the debian/rules
- in the appropriate order. Whether this has been done
- correctly can be checked by performing an ls -f.
+ in the postinst script. Futhermore, older
+ versions of the package management system required the library
+ must be placed before the symlink pointing to it in the
+ .deb file. This is so that by the time
+ dpkg comes to install the symlink (overwriting
+ the previous symlink pointing at an older version of the
+ library) the new shared library is already in place.
+ Unfortunately, this was not not always possible, since it
+ highly depends on the behaviour of the filesystem. Some
+ filesystems (such as reisefs) will reorder the files so it
+ doesn't matter in what order you create them. In newer
+ versions of dpkg, this is handled automatically.