File: 32-debug.txt

package info (click to toggle)
debmake-doc 1.14-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 7,256 kB
  • sloc: sh: 674; makefile: 469; python: 146; ansic: 114; sed: 16
file content (34 lines) | stat: -rw-r--r-- 2,143 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
[[dbg]]
=== Debugging information

The Debian package is built with the debugging information but packaged into the binary package after stripping the debugging information as required by https://www.debian.org/doc/debian-policy/#document-ch-files[Chapter 10 - Files] of the ``Debian Policy Manual''.

See

* https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-dbg[6.7.9. Best practices for debug packages] of the ``Debian Developer's Reference''.
* https://sourceware.org/gdb/current/onlinedocs/gdb/Separate-Debug-Files.html#Separate-Debug-Files[18.2 Debugging Information in Separate Files] of the ``Debugging with gdb''
* *dh_strip*(1)
* *strip*(1)
* *readelf*(1)
* *objcopy*(1)
* Debian wiki https://wiki.debian.org/DebugPackage[DebugPackage]
* Debian wiki https://wiki.debian.org/AutomaticDebugPackages[AutomaticDebugPackages]
* Debian debian-devel post: https://lists.debian.org/debian-devel/2015/08/msg00443.html[Status on automatic debug packages] (2015-08-15)

[[dbgsym]]
==== New -dbgsym package (Stretch 9.0 and after)

The debugging information is automatically packaged separately as the debug package using the *dh_strip* command with its default behavior.  The name of such a debug package normally has the *-dbgsym* suffix.

If there were no *-dbg* packages defined in the *debian/control* file, no special care is needed for updating the package after the Stretch 9.0 release.

* The *debian/rules* file shouldn't explicitly contain *dh_strip*.
* Set *debian/compat* to *11* or newer.
* Bump the *Build-Depends* to *debhelper (>=11~)* or newer. 

If there were *-dbg* packages defined in the *debian/control* file, following care is needed for updating the old package after the Stretch 9.0 release.

* Drop definition entries of such *-dbg* packages in the *debian/control* file.
* Replace ``*dh_strip --dbg-package=*'package''' with ``*dh_strip --dbgsym-migration=*'package''' in the *debian/rules* file to avoid file conflicts with the (now obsolete) *-dbg* package.  See *dh_strip*(1).
* Set *debian/compat* to *11* or newer.
* Bump the *Build-Depends* to *debhelper (>=11~)* or newer.