On automatic debug packages ("dbgsym"), and how to prepare jessie to support this

For some time now, Debian supports automatic debug packages ("dbgsym"). These will just be available now, for any package now rebuild for sid/stretch, without any extra support needed in the source package.

That's great!

So, does mini-buildd support this, too? Of course -- actually no change at all was needed in mini-buildd code; we need however, an updated reprepro version supporting these (extra, not-in-control packages).

Since 1.0.11, mini-buildd depends on that reprepro version; this is also a bugfix, as previous reprepro versions would actually break binary package installation for any packages now build with automatic debug packages.

What about jessie, then?

Why on Earth should I want that for jessie

  • Being able to portext newer packages that depend on dbgsym support,
  • Being able to upgrade your own custom package that happens to need support for jessie still and
  • of course, get dbgsym-packages for free.

What is needed to support "dbgsym"

First, we need updates of dpkg, dh-autoreconf and debhelper available at build time.

Second, in your source package, a build dependency on debhelper >= 9.20160114~ (9.20151219 is the first version to support dbgsym by default, but since 9.20160114 you also get support to migrate your old -dbg packages, so I would suggest that).

Actually porting

Just portext these three packages in the right order, to your favorite unstable dist.

You can also download this little script automating this via mini-buildd-tool (using DSC-URLs currently in testing), and then:

dbgsym-for-jessie "<your-host>:8066" "jessie-<your-repo-id>-unstable"

But..really porting dpkg for jessie?

Note that you need not, and should not, migrate any of these packages; being in unstable means you can build-depend and build with them, but there are usually no actual binary dependencies on these packages. This is especially true for dpkg, which we usually don't want to see upgraded on a jessie system.