Debug packages and PPAs
Follwing up on my previous post about how Kubuntu 10.04’s Dr. Konqi will be able to install debug packages if the users asks it to.
I was asked by a friend whether this is also going to work with the Kubuntu PPAs. Since he usually uses the KDE pre-releases and updates from the Kubuntu PPAs that is a very good question indeed. And the simple answer is yes.
All core KDE packages ship have an associated debug package, that includes those that are available via PPAs. For non-core packages it looks a bit different. It mostly depends on whether the package is regularly worked on by Kubuntu Ninjas or not. Those that are mostly also have these debug packages, but those that are not might indeed not have debug packages in a PPA. The reason for this is a bit of a technical one so we better don’t dive into that ^^ (in case you care, I’ll explain it in a bit more detail at the end of this post).
PPAs figured out
On this note I would like to announce that we have a sensible PPA setup now and clearly documented what kind of software needs to go where. We have 4 PPAs that are somewhat suited for use. This somewhat means that they are naturally not guaranteed to be issue free, unfortunately it is an almost impossible task to guarantee this all the time, simply because there are too many possible upgrade/update scenarios we would have to run QA tests against. Anyhow, there are some PPAs for adventurous users and some for a more general audience that rather risk some issues than wait weeks until we can land updates in an official Ubuntu repsitories.
Clay Webber published a blog post on which PPA you would want to use as a user in order to get a specific type of update. For all those that care of a more detailed guideline document there is also a page in the Kubuntu wiki (thanks to Clay for that too).
In consequence this means that, unless you have some very specific needs, you should need no more than 4 (in fact you really would only want 3 anyway) PPAs to get an up-to-date KDE system.
Why there is no -dbg
Before reading this I recommend to read my post about Dr. Konqi’s debug package installer since I assume basic knowledge about the debug symbol stuff procedure here🙂.
Above I mentioned that there are no debug package for some non-core packages. Now that was not entirely true. There are no debug packages for some non-core packages in regular repositories (that includes PPAs). The thing is that all those debug symbols that were stripped from the regular package do not get thrown away, they simply get put into seperate packages and those can be found in the so called ddebs archive. This archive contains packages with a -dbgsym suffix (short for debug symbols ;)) and those contain the debug symbols to their associated packages in the official Ubuntu archives (including the updates, security and backports repositories).
This has 2 major implications on how things work:
For one it takes probably >10,000 packages off the cache lists for the regular archives, and for another it means that packages outside the official repositories do not have those -dbgsym packages. So, in general this is a good thing, since not having the -dbgsym packages in the regular archives reduces the download time for the package lists and of course speeds up queries to the local copies of those lists (such as done by apt-cache). At the same time it also means that PPA packages would end up without debug packages, which of course is a bad thing.
And yet I told you that all core KDE packages have debug symbols. How is that possible, you might wonder (or not :)). Again I only told you a part of the truth, if the package maintainer decides to have a -dbg package in the regular archives they can work around the stripping and move all debug symbols to another package (say kdelibs5-dbg) and those packages will then end up in any archive the source package gets built for. This is the case for most of the more important packages (those that are on the Kubuntu CD and worked on by Kubuntu Ninjas). Now since it’s mostly important packages that get published to our PPAs this means that you just need to request the appropriate debug packages and we can easily add them either temporary (only for the PPA) or globally (for all further package publications).
I hope this shed enough light on both the PPA and the debug package business🙂