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 supportdbgsym
since4.17.0
debhelper
: withdbgsym
support since9.20160114
dpkg-dev
: support fordbgsym
since1.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.