PPA builds do not create -dbgsym packages

Bug #156575 reported by Chris Halse Rogers on 2007-10-24
84
This bug affects 11 people
Affects Status Importance Assigned to Milestone
Launchpad itself
Low
William Grant

Bug Description

It'd be nice if packages built in the PPAs had -dbgsym packages generated for them, too. I think this is as simple as installing the pkg-create-dbgsym package in the buildd's chroot.

Related branches

Fabien Tassin (fta) wrote :

Nice to have but I don't think it's that simple.
Installing pkg-create-dbgsym will *build* the ddebs, but it will not install them.
I don't know what tools are used to populate the PPA and update its indexes. I fear it's not even publicly available, I hope I'm wrong.

On a similar topic, I've posted a while ago a patch for dpkg-scanpackages that I use for my own repositories:
https://bugs.edge.launchpad.net/ubuntu/+source/dpkg/+bug/134150
It has been ignored so far :(

Guillaume Desmottes (cassidy) wrote :

+1 for this request. Having -dbgsym packages would be rocking cool.

This would be more than useful since PPA are intended for developers and advanced users and they software they contain are usually up to date but not always totally stable.

Alexander Sack (asac) wrote :

this bug is important for all of us that do serious work in PPAs. Please give it a boosted priority.

Changed in soyuz:
status: New → Confirmed
Julian Edwards (julian-edwards) wrote :

Hi

This problem is firmly in our planning and will be looked at in the near future.

Olly Betts (ojwb) wrote :

I believe this problem is due to a deliberate change made to the pkg-create-dbgsym package:

http://changelogs.ubuntu.com/changelogs/pool/main/p/pkg-create-dbgsym/pkg-create-dbgsym_0.25/changelog

contains:

pkg-create-dbgsym (0.23) hardy; urgency=low

  * Also disable pkg-create-dbgsym if Archive Purpose is PPA.

 -- Adam Conrad <email address hidden> Tue, 18 Dec 2007 16:01:24 -0700

Celso Providelo (cprov) wrote :

See bug #285205, now Soyuz supports ddebs natively and will be able to precess and publish them.

Once the infrastructure settles for the Ubuntu PRIMARY archive we can look into implement opt-in support for generating ddebs in PPAs. Maybe it could be the default behavior, I dunno.

Changed in soyuz:
assignee: nobody → Celso Providelo (cprov)
importance: Undecided → Wishlist
status: Confirmed → Triaged
tags: added: soyuz-build
Changed in soyuz:
importance: Wishlist → Low
tags: added: feature
Julian Edwards (julian-edwards) wrote :

Now waiting on bug 391050 (buildds need to upload ddebs) to be completed.

Changed in soyuz:
milestone: none → 2.2.7
Julian Edwards (julian-edwards) wrote :

Work done in Soyuz, moving to 2.2.8 so that Celso "remembers to poke Adam daily" :)

Changed in soyuz:
milestone: 2.2.7 → 2.2.8

Unfortunately Adam left before the buildd changes could be completed, so this has set the schedule back. Postponing until after 3.0 is out.

Changed in soyuz:
milestone: 2.2.8 → 3.1.10
Fabien Tassin (fta) wrote :

I'm no longer holding my breath waiting for this feature :(
it has been delayed so many times that I ended up adding real -dbg packages in all my projects a long time ago.

On Thursday 27 August 2009 16:06:09 Fabien Tassin wrote:
> I'm no longer holding my breath waiting for this feature :(
> it has been delayed so many times that I ended up adding real -dbg packages
> in all my projects a long time ago.

If you want to help fix it, you can, the source is all open.

William Grant (wgrant) wrote :

I had a look a month ago, and it just requires pkg-create-dbgsym changes. There's one bit that requires a bit of extra control file mangling, but otherwise it looks simple. I might have a go at this.

William Grant (wgrant) wrote :

Three things need doing:
 - Remove the PPA purpose check from the dh_strip replacement.
 - Uncomment the dpkg-distaddfile invocation in pkg-create-dbgsym.
 - Fix pkg-create-dbgsym to add a Source field to produced ddebs if one isn't already present. Something like the below works fine, and isn't any more revolting than the rest of it.

I've tested a version with these modifications on a few packages with my local Soyuz setup, and it works fine.

==
# binaries named the same as the source will lack a Source field.
# since we are renaming binaries, we might need to add one.
if [ -z "`grep ^Source: $dp/DEBIAN/control`"]; then
    sed -i "s/^Package:.*$/&\nSource: $pkgname/" $dp/DEBIAN/control
fi
==

William Grant (wgrant) wrote :
William Grant (wgrant) wrote :

So, after talking to Celso it seems that it should be turned on on a
per-archive basis. The hardest bit of that is deciding what to call the
flag. build_debug_symbols? That's what I've used for now. All three
modified components are backwards compatible.

Problems:
 - DDEB publishing is currently disabled. Should that be
   unconditionally reenabled, or should there be a separate Archive
   flag to further restrict archive disk bloat?
 - Primary builds will fail to upload after these changes, until a
   DEBUG archive is created.
 - Older series need the pkg-create-dbgsym patch as well. How is that
   done?

Celso Providelo (cprov) wrote :

Hi Willian,

Super-thanks for working on this task.

'build_debug_symbols' argument for the `build` XMLRPC command is fine.

DDEBs are published in the DEBUG (purpose) archive for a distribution and will be published with:

`./scripts/publish-distro.py --primary-debug` (completely separate repo using NMAF)

once we create the needed DEBUG archive (well remembered).

The new archive flag (for controlling ddeb generation) will come later, for now 'build_debug_symbols' should be hardcoded as True only for building sources in the ubuntu PRIMARY archive (and the security ppa ...).

Regarding propagating changes to `pkg-create-dbgsym` to old series, I guess we can shelve the new version directly in the chroots instead submitting it via SRU (which it won't pass, I believe).

William Grant (wgrant) wrote :

On Sun, 2009-08-30 at 15:17 +0000, Celso Providelo wrote:
> Hi Willian,
>
> Super-thanks for working on this task.
>
> 'build_debug_symbols' argument for the `build` XMLRPC command is fine.
>
> DDEBs are published in the DEBUG (purpose) archive for a distribution
> and will be published with:
>
> `./scripts/publish-distro.py --primary-debug` (completely separate repo
> using NMAF)
>
> once we create the needed DEBUG archive (well remembered).
>
> The new archive flag (for controlling ddeb generation) will come later,
> for now 'build_debug_symbols' should be hardcoded as True only for
> building sources in the ubuntu PRIMARY archive (and the security ppa
> ...).

Why not do it all at once? The database and UI changes for the IArchive
flag are almost trivial.

> Regarding propagating changes to `pkg-create-dbgsym` to old series, I
> guess we can shelve the new version directly in the chroots instead
> submitting it via SRU (which it won't pass, I believe).

Hmm. That seems like a really icky thing to do, but I suppose it might
be better than SRUing it.

Changed in soyuz:
milestone: 3.1.10 → none
assignee: Celso Providelo (cprov) → nobody
William Grant (wgrant) on 2009-10-02
Changed in soyuz:
assignee: nobody → William Grant (wgrant)
Changed in soyuz:
milestone: none → 10.08
tags: added: qa-needstesting
Changed in soyuz:
status: Triaged → Fix Committed
tags: added: qa-ok
removed: qa-needstesting
Changed in soyuz:
status: Fix Committed → Fix Released
Daniel Hahler (blueyed) wrote :

How is this supposed to work?
Are the dbgsym packages for all PPAs meant to show up also on http://ddebs.ubuntu.com/ ?

If so, this does not appear to happen yet.
Is there a separate archive for debug symbol packages from PPAs?

William Grant (wgrant) wrote :

Launchpad admins can enable ddebs on a per-PPA basis. They are published in the PPA itself, alongside the normal debs.

Wookey (wookey) wrote :

It seems that debug packages are no longer published in the same repo as the normal ones, but in a separate 'debug' subrepo:
So the package is in here:
http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu/dists/raring/main/binary-armhf/Packages
And the corresponding debug package is in here:
http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu/dists/raring/main/debug/binary-armhf/Packages

So now you need to list both the PPA and the debug PPA to use the dgbsym packages:
e.g.:
deb http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu raring main
deb http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu raring main/debug

William Grant (wgrant) wrote :

It's just another subcomponent like main/debian-installer, so you can do this:

deb http://ppa.launchpad.net/linaro-maintainers/overlay/ubuntu raring main main/debug

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers