[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#347581: debian-policy: Explicitly permit *-headers binary package created from library source package



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Package: debian-policy
Severity: wishlist
Version: 3.6.2.2

Hi,

Could Policy be amended slightly to explicitly permit library source
packages to create a <library>-headers package containing include files?

I am thinking that something like the following could be added between
the existing first and second paragraphs of Section 8.4, "Development
files",
http://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-dev

[begin suggested text]
If your library source package includes a large number of header files
that are to be installed in /usr/include or subdirectories thereof, it
may place them in a binary package called librarynamesoversion-headers
or (if you prefer only to support one development version at a time, or
if the library API is preserved across different soversions)
libraryname-headers.  If you do this, the development package must
Depend upon the headers package.  If the development package is
architecture-dependent and the headers package is not, the development
package should not require exactly the same version of the headers
package in order to prevent problems arising from binary NMUs.
[end suggested text]

Without this or a similar text, it is not clear to me that source
packages creating <library>-headers binary packages are in compliance
with Policy, which currently says "The development files associated to a
shared library need to be placed in a package called
librarynamesoversion-dev, or if you prefer only to support one
development version at a time, libraryname-dev."

The following library source packages of which I am aware create
- -headers packages that are in compliance with the suggested amendment
above:

. affix-kernel
. atlas3
. qt-x11-free (Qt3)
. wxwindows2.4
. wxwidgets2.6

The following library source package creates a -headers package that is
not quite in compliance:

. newlib (has exact version dependency of arch:any -dev package on
arch:all -headers package)

Some other source packages creating -headers packages to which this
suggested policy amendment would not apply:

. *-kernel-headers (not created from a library source package)
. em8300-headers (ditto)
. octave2.1 (the shared libs aren't in /usr/lib, nor does the package
tweak ld.so.conf so that they're visible to the runtime linker, so I
don't believe this counts as a library source package)
. octave2.9 (ditto)


CC'ed to debian-devel in case anyone wants to add to or disagree with
this suggestion.

regards,

- --
Kevin B. McCarty <kmccarty@princeton.edu>   Physics Department
WWW: http://www.princeton.edu/~kmccarty/    Princeton University
GPG: public key ID 4F83C751                 Princeton, NJ 08544
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFDxS/5fYxAIk+Dx1ERAnK+AKC9+FmXe/NiDmtpuUU/T7kLcX2SogCgqrQr
CQp3MCVPmgLqq6loQfnccwg=
=eVUJ
-----END PGP SIGNATURE-----



Reply to: