Sergio Durigan Junior: Debuginfod is coming to Ubuntu
These past couple of months I have been working to bring
debuginfod to
Ubuntu. I thought it would be a good idea to make this post and
explain a little bit about what the service is and how I'm planning to
deploy it.
A quick recap: what's debuginfod?
Here's a good summary of what
If you follow the Debian project, you might know that I run their
debuginfod service. In fact, the
excerpt above was taken from the
announcement
I made last year, letting the Debian community know that the service
was available.
First stage
With more and more GNU/Linux distributions offering a
debuginfod
is:
debuginfod is a new-ish project whose purpose is to serve
ELF/DWARF/source-code information over HTTP. It is developed under the
elfutils umbrella. You can find more information about it here:
https://sourceware.org/elfutils/Debuginfod.html
In a nutshell, by using a debuginfod service you will not need to
install debuginfo (a.k.a. dbgsym) files anymore; the symbols will be
served to GDB (or any other debuginfo consumer that supports debuginfod)
over the network. Ultimately, this makes the debugging experience much
smoother (I myself never remember the full URL of our debuginfo
repository when I need it).
debuginfod
service to their users, I strongly believe that Ubuntu cannot afford
to stay out of this "party" anymore. Fortunately, I have a
manager who not only agrees with me
but also turned the right knobs in order to make this project one of
my priorities for this development cycle.
The deployment of this service will be made in stages. The first one,
whose results are due to be announced in the upcoming weeks,
encompasses indexing and serving all of the available debug symbols
from the official Ubuntu repository. In
other words, the service will serve everything from main
, universe
and multiverse
, from every supported Ubuntu release out there.
This initial (a.k.a. "alpha") stage will also allow us to have an
estimate of how much the service is used, so that we can better
determine the resources allocated to it.
More down the road
This is just the beginning. In the following cycles, I will be
working on a few interesting projects to expand the scope of the
service and make it even more useful for the broader Ubuntu community.
To give you an idea, here is what is on my plate:
- Working on the problem of indexing and serving source code as well. This is an interesting problem and I already have some ideas, but it's also challenging and may unfold into more sub-projects. The good news is that a solution for this problem will also be beneficial to Debian.
- Working with the snap developers to come up with a way to index and serve debug symbols for snaps as well.
-
Improve the integration of the service into Ubuntu. In fact, I have
already started working on this by making
elfutils
(actually,libdebuginfod
) install a customized shell snippet to automatically setup access to Ubuntu'sdebuginfod
instance.