Hello, Russ Allbery [07/Feb 5:02pm -08] wrote: > diff --git a/policy/ch-sharedlibs.rst b/policy/ch-sharedlibs.rst > index 69b79d3..cdd2e37 100644 > --- a/policy/ch-sharedlibs.rst > +++ b/policy/ch-sharedlibs.rst > @@ -247,29 +247,39 @@ at a time, librarynameapiversion-dev. Installing the > development package > must result in installation of all the development files necessary for > compiling programs against that shared library. [#]_ > > +.. [#] This wording allows the development files to be split into several > + packages, such as a separate architecture-independent > + libraryname-headers, provided that the development package depends > + on all the required additional packages. > + > In case several development versions of a library exist, you may need to > use ``dpkg``'s Conflicts mechanism (see :ref:`s-conflicts`) to ensure that > the user only installs one development version at a time (as different > development versions are likely to have the same header files in them, > which would cause a filename clash if both were unpacked). > > -The development package should contain a symlink for the associated > -shared library without a version number. For example, the libgdbm-dev > -package should include a symlink from ``/usr/lib/libgdbm.so`` to > -``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. > +The development package should contain either a symlink or a linker script > +[#]_ for the associated shared library without a version number. For > +example, the ``libgdbm-dev`` package should include a symlink from > +:file:`/usr/lib/libgdbm.so` to :file:`libgdbm.so.3.0.0`, or a linker > +script that achieves the same effect. This symlink or linker script is > +needed by the linker (:command:`ld`) when compiling packages, as it will > +only look for :file:`libgdbm.so` when compiling dynamically. > + > +.. [#] Linker scripts are used when more flexible linking strategies are > + desired, such as conditionally linking with an additional library > + or falling back to a static library for some symbols. > + > +If the package installs a linker script, be aware that :command:`ldconfig` > +requires the linker script be shorter than 32 bytes, or contain either the > +``GROUP`` directive or the string ``GNU ld script`` in a comment in the > +first 512 bytes. > > If the package provides Ada Library Information (``*.ali``) files for use > with GNAT, these files must be installed read-only (mode 0444) so that > GNAT will not attempt to recompile them. This overrides the normal file > mode requirements given in :ref:`s-permissions-owners`. > > -.. [#] This wording allows the development files to be split into several > - packages, such as a separate architecture-independent > - libraryname-headers, provided that the development package depends > - on all the required additional packages. > - > .. _s-sharedlibs-intradeps: > > Dependencies between the packages of the same library
Normative changes seconded, thanks. I would suggest "required" not "desired" in the footnote but it's up to you. -- Sean Whitton
signature.asc
Description: PGP signature

