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

Mandatory -dbg packages for libraries?

After getting some positive feedback on this from a blog entry and
personal mail, I wondered if the idea deserves a wider airing.


Others have expressed the same idea:

Certain packages have already had bug reports requesting a -dbg package.

I'd like to see all library source packages having a minimum of 4
binary packages required by Policy: the SONAME, the -dev,  the -dbg and
a -doc package. (Libraries for perl or other non-compiled languages
would be exempt from -dbg packages but not -doc.)

Alternatively, all lib packages should at least provide a -dev and -dbg
package provide and either man (3) content or preferably a full -doc

Currently, only a -dev is mandated. I'm currently writing a GtkHTML
extension for the new Gtk2 version of quicklist (in experimental) and
writing code to use an undocumented library is a PITA.

Libraries without a -dbg are worse because Debian doesn't need any
upstream involvement to create -dbg packages.

Things like that make Debian a nicer environment to be upstream, not
just a nice environment to be a DD or user. I'm upstream for many of my
Debian packages and I'd like to think that Debian unstable would be the
distribution of choice for upstream development.

Of course, the problem is that -dbg packages are necessarily larger
than the ordinary lib and putting all the affected libraries into the
NEW queue to get the -dbg package added to the override file is going
to make the NEW queue truly enormous. (Then again if our new DPL is
able to put some of his platform ideas into practise, maybe new
binaries from an existing source package can be fast-tracked through

Apart from those limitations, is there a *technical* reason why -dbg
packages should not be available? Is it worth taking to -policy?

Possible policy amendment:

"Any library source package capable of building with debug information
(i.e. with -g) must do so. Any such library source package must strip
the debug symbols into separate objects, provide a binary package
librarynamesoversion-dbg containing these separate objects
as /usr/lib/debug/path/to/ELF/object for each /path/to/ELF/object in
the main library package, and reference these separate objects in
a .gnu_debuglink section in the corresponding unstripped object."
(Thanks to Josh Triplett)

I'd like to add something on -doc to that proposition but haven't
decided how just yet.


Neil Williams

Attachment: pgpzbPwNvdARy.pgp
Description: PGP signature

Reply to: