Packages automatically generate debug symbol packages at build time, the
packages have the package name extension -dbgsym.
Infrastructure
To be able to benefit from dbgsym packages, the infrastructure must be ready
for them, the requirements are:
- reprepro: must support- dbgsymsince- 4.17.0
- debhelper: with- dbgsymsupport since- 9.20160114
- dpkg-dev: support for- dbgsymsince- 1.18.2~
When building packages with those tools, automatic debug symbols will be generated for all built packages.
dbgsym packages are supported since the Apertis 16.06 release, however not
all packages were rebuilt, therefore there are packages without dbgsym
packages. For the 16.09 release a full rebuild of the main archives was
performed to ensure all packages have a corresponding dbgsym package.
How to use dbgsym packages
Usually, a package name with the -dbgsym extension, from Apertis
repositories, needs to be installed in the target runtime system, then your
system is able to resolve debug symbols for debugging purposes.
As reference you might read Debian documentation on how to get a
backtrace, but please make sure to
use Apertis repositories to fetch the dbgsym packages.
dbg packages are deprecated
Before dbgsym packages, package maintainers had to manually create their
-dbg packages listed in the debian/control file, these packages were
mirrored in every mirror and every suite, wasting lots of storage space. This
is not relevant for Apertis, but it is very relevant for Debian (Apertis parent
distribution). With dbgsym packages being produced, there is no need to add
any new stanzas to debian/control.
If you want to transition from a former -dbg package to a -dbgsym package
you might want to look into the
dh_strip’s
--dbgsym-migration=pkgname-dbg (<< currentversion~) switch and drop -dbg
from debian/control file.