From 260e873d2a43fbdd75bdfa4bc6f7d6b7a109a47c Mon Sep 17 00:00:00 2001 From: Russ Allbery Date: Mon, 3 Dec 2007 01:56:10 +0000 Subject: [PATCH] Document the type field in shlibs and its use with udebs The shlibs file syntax now supports an optional type field specifying the type of packages to which the line applies. Currently, the only supported type is udeb. Include documentation of the syntax, the use with udeb, and an example. Based on a patch from Frans Pop with input from Raphael Hertzog. git-archimport-id: rra@debian.org--lenny/debian-policy--devel--3.7--patch-15 --- debian/changelog | 2 ++ policy.sgml | 43 ++++++++++++++++++++++++++++++++++------ upgrading-checklist.html | 4 ++++ 3 files changed, 43 insertions(+), 6 deletions(-) diff --git a/debian/changelog b/debian/changelog index c0e88af..0a6f506 100644 --- a/debian/changelog +++ b/debian/changelog @@ -26,6 +26,8 @@ debian-policy (3.7.3.0) UNRELEASED; urgency=low * Bug fix: "822-date is deprecated (use date -R instead)" (Closes: #448035). * Bug fix: "5.6.17 (Urgency) should list emergency, maybe a normative list?" (Closes: #412634). + * Bug fix: "[PROPOSAL] Document support of package types in shlibs + files", thanks to Franz Pop and Raphaël Hertzog (Closes: #363133). -- diff --git a/policy.sgml b/policy.sgml index 5412107..702247f 100644 --- a/policy.sgml +++ b/policy.sgml @@ -4957,6 +4957,19 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \ utilities to specify a different substvars file.

+

+ If you are creating a udeb for use in the Debian Installer, you + will need to specify that dpkg-shlibdeps should use + the dependency line of type udeb by adding + -tudeb as option + dh_shlibdeps from the debhelper suite + will automatically add this option if it knows it is + processing a udeb. + . If there is no dependency line of type udeb + in the shlibs file, dpkg-shlibdeps will + fall back to the regular dependency line. +

+

For more details on dpkg-shlibdeps, please see and @@ -4972,7 +4985,7 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \ beginning with # are considered to be comments and are ignored. Each line is of the form: -library-name soname-version-number dependencies ... +[type: ]library-name soname-version dependencies ...

@@ -4982,6 +4995,13 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \ installs the shared library /usr/lib/libz.so.1.1.3.

+

+ type is an optional element that indicates the type + of package for which the line is valid. The only type currently + in use is udeb. The colon and space after the type are + required. +

+

library-name is the name of the shared library, in this case libz. (This must match the name part @@ -4989,10 +5009,10 @@ dpkg-shlibdeps debian/tmp/usr/bin/* debian/tmp/usr/sbin/* \

- soname-version-number is the version part of the - soname of the library. The soname is the thing that must - exactly match for the library to be recognized by the - dynamic linker, and is usually of the form + soname-version is the version part of the soname of + the library. The soname is the thing that must exactly match + for the library to be recognized by the dynamic linker, and is + usually of the form name.so.major-version, in our example, libz.so.1. This can be determined using the command @@ -5024,6 +5044,14 @@ libz 1 zlib1g (>= 1:1.1.3) the dynamic linker about using older shared libraries with newer binaries.

+ +

+ As zlib1g also provides a udeb containing the shared library, + there would also be a second line: + +udeb: libz 1 zlib1g-udeb (>= 1:1.1.3) + +

@@ -5048,7 +5076,10 @@ install -m644 debian/shlibs.package debian/package/DEBIAN/ debian/rules without using a debian/shlibs file at all, This is what dh_makeshlibs in the - debhelper suite does. + debhelper suite does. If your package also has a udeb + that provides a shared library, dh_makeshlibs can + automatically generate the udeb: lines if you specify + the name of the udeb with the --add-udeb option. since the debian/shlibs file itself is ignored by dpkg-shlibdeps. diff --git a/upgrading-checklist.html b/upgrading-checklist.html index 4fec738..24378fb 100644 --- a/upgrading-checklist.html +++ b/upgrading-checklist.html @@ -70,6 +70,10 @@ picking your way through this list. in parentheses. [5.6.1] * The acceptable values for the Urgency field are low, medium, high, critical, or emergency. [5.6.17] + * The shlibs file now allows an optional type field, indicating the + type of package for which the line is valid. The only currently + supported type is udeb, used with packages for the Debian + Installer. [8.6] 3.7.2.2 Oct 2006 * Maintainer scripts must not be world writeable (up from a should to a must) [6.1] -- 2.39.2