From b9d620c075cfc36c62b7d43ab168ed539654c761 Mon Sep 17 00:00:00 2001 From: Manoj Srivastava Date: Thu, 16 Jun 2005 05:08:21 +0000 Subject: [PATCH] Added a note about the forthcoming dpkg-shlibdeps. Added a note about the new X beastie. Author: srivasta Date: 2000/07/30 22:47:15 Added a note about the forthcoming dpkg-shlibdeps. Added a note about the new X beastie. git-archimport-id: srivasta@debian.org--etch/debian-policy--devel--3.0--patch-59 --- debian/changelog | 30 +++++++++-------- packaging.sgml | 71 ++++++++++++++++++++++++++++++++++------ policy.sgml | 12 +++++-- upgrading-checklist.html | 3 -- 4 files changed, 87 insertions(+), 29 deletions(-) diff --git a/debian/changelog b/debian/changelog index 6314ed4..1df0726 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,12 +1,21 @@ debian-policy (3.2.0.0) unstable; urgency=low * Fixed bugs in debian-policy package: + * We have had doc-base support for a while now. closes: Bug#15709 + * packaging manual: Added additional clarification on dpkg + behaviour. closes: Bug#17369 * [PROPOSAL] Do not make hardlinks to conffiles closes: Bug#22935 - * [OLD PROPOSAL] debian-policy has an unclear statement on dependancies - and priorities closes: Bug#39398 + * [PROPOSED]: clarification needed about diversions. + fixed usage for dpkg-divert closes: Bug#29522 + * [OLD PROPOSAL] debian-policy has an unclear statement + on dependancies and priorities closes: Bug#39398 * [ACCEPTED 10/26/99] changelog.html.gz sanitization. closes: Bug#40934 * [AMENDED 07/09/1999] policy on -g, a proposal closes: Bug#43787 + * Fixed missing tag. closes: Bug#51091 * Correct typo in section 2.3.5 closes: Bug#52225 + * 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 * [ACCEPTED 02/01/2000] policy for usage of "xserver" alternative closes: Bug#53755 * [ACCEPTED 02/01/2000] additions to virtual package @@ -22,21 +31,12 @@ debian-policy (3.2.0.0) unstable; urgency=low * [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 - * Moved the documents into the Debian/ section, since that is where they - belong, really. closes: Bug#54777 + * Moved the documents into the Debian/ section, since + that is where they belong, really. closes: Bug#54777 * Fixed the ftp location in the manuals. closes: Bug#56407 * Fixed missing urlname entity in the sgml docs (where was it defined before anyway?) closes: Bug#56692 * Fixed bugs in packaging-manual package: - * We have had doc-base support for a while now. closes: Bug#15709 - * packaging manual: Added additional clarification on dpkg - behaviour. closes: Bug#17369 - * [PROPOSED]: clarification needed about diversions. - fixed usage for dpkg-divert closes: Bug#29522 - * 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 * Other changes: @@ -48,8 +48,10 @@ debian-policy (3.2.0.0) unstable; urgency=low * Added FHS details to copyright file * Updaed the upgrade checklist. Minor changes to the ./debian/rules file. + * Added footnotes in the packaging manual warning about the upcoming + dpkg-shlibdeps change as in Bug#55730 - -- Manoj Srivastava Sun, 30 Jul 2000 16:36:34 -0500 + -- Manoj Srivastava Sun, 30 Jul 2000 17:43:02 -0500 debian-policy (3.1.1.3) unstable; urgency=low diff --git a/packaging.sgml b/packaging.sgml index 094a62f..f5fd280 100644 --- a/packaging.sgml +++ b/packaging.sgml @@ -738,8 +738,13 @@

- Its arguments are executables and libraries + Its arguments are executables. +

+ In a forthcoming dpkg version, + dpkg-shlibdeps would be required to be + called on shared libraries as well. +

They may be specified either in the locations in the source tree where they are created or in the locations @@ -4653,15 +4658,61 @@ work?

- dpkg-shlibdeps calls objdump to - determine the shared libraries directly - a binary foo directly use a library - libbar if it is linked with that library. Other - libraries that are needed by libbar are linked - indirectly to foo, and the dynamic linker will load - the automatically when it loads libbar. - used by the compiled binaries and libraries - passed through its command line. + dpkg-shlibdeps + determines the shared libraries directly + +

+ Currently, it calls ldd, but in a + forthcoming version it shall call objdump + to to this. This however changes will need a couple of + changes in the way that packages are build. +

+

+ Suppose a binary foo directly use a library + libbar if it is linked with that + library. Other libraries that are needed by + libbar are linked indirectly to foo, + and the dynamic linker will load the automatically + when it loads libbar. Using ldd + lists all the libraries, used direcly and indirectly; + but objdump only lists the directly + linked libraries. A package only needs to depend on + the libraries it is directly linked to, since the + dependencies for those libraries should automatically + pull in the other libraries.

+ +

+ This change does mean a change in the way packages are + build though: currently dpkg-shlibdeps is only run on + binaries. But since we will now depend on the + libraries to depend on the libraries they need the + packages containing those libraries will need to run + dpkg-shlibdeps on the libraries. +

+

+ A good example where this would help us is the current + mess with multiple version of the mesa library. With + the ldd-based system every package that uses mesa need + to add a dependency on svgalib|svgalib-dummy in order + to handle the glide mesa variant. With an + objdump-based system this isn't necessary anymore and + would have saved everyone a lot of work. +

+

+ Another example: we could update libimlib with a new + version that supports a new graphics format called + dgf. If we use the old ldd method every package that + uses libimlib would need to be recompiled so it would + also depend on libdgf or it wouldn't run due to + missing symbols. However with the new system packages + using libimlib can depend on libimlib itself having + the dependency on libgdh and wouldn't need to be + updated. +

+ + used by the compiled binaries (and libraries, in a version + of dpkg-shlibdeps coming soon) passed through + on its command line.

diff --git a/policy.sgml b/policy.sgml index 28a3399..6d14beb 100644 --- a/policy.sgml +++ b/policy.sgml @@ -3202,7 +3202,13 @@

Some programs can be configured with or without support for the X Window System. Typically, binaries produced with support for X - will need the X shared libraries to run. + will need the X shared libraries to run. +

+ NOTE The forthcoming major X Window + System release shall probably change this + drastically. +

+

@@ -3236,7 +3242,9 @@ In a nutshell, X servers that interface directly with the display and input hardware or via another subsystem (e.g., GGI) should provide xserver. Things like Xvfb, - Xnest, and Xprt should not. + Xnest, and Xprt should not. NOTE The + forthcoming major X Window System release shall probably + change this drastically.

diff --git a/upgrading-checklist.html b/upgrading-checklist.html index 7564294..2647c09 100644 --- a/upgrading-checklist.html +++ b/upgrading-checklist.html @@ -76,9 +76,6 @@ Manual. - Noted that newer dpkg versions do not require extreme care in always creating theshared lib before the symlink, so the unpack order be correct. - - Note that the newer dpkg-shlibdeps use objdump to determine the - shared libraries directly, and now should be run on both - executables and libraries. 3.1.1.0 Nov 99 -- 2.39.2