← Back to team overview

launchpad-dev team mailing list archive

Soyuz debug archive issues

 

Hi all,

I'm currently attempting to finish bugs #285205 (Soyuz needs to be able
to process and publish ddebs) and #156575 (PPA builds do not create
-dbgsym packages). There is a large and fairly complicated issue with
the current implementation: the ddebs will live a life quite separate
from their debs (and even their sources!), in an archive untouchable by
any current tools, which breaks lots of assumptions.


The problems
------------

1. ddebs skip NEW, so will not have overrides of their own, so will
always land in universe.

2. It probably makes little sense to ever have the ddebs separate from
the debs; they should always be treated together as a single unit.
Anything else is going to result in inconsistencies and irate archive
administrators. This means overrides, removals, and probably other
actions I've forgotten must hunt for a ddeb and operate on that as well.

3. There is also the issue of sources in the primary archive being
oblivious to the binaries in the debug archive. This will break copies
with binaries, make the ddebs very difficult to find, and leave ddebs
around when sources are removed.

4. To top all that off, copies need to remember to put ddebs in the
right archive.


Possible solutions
------------------

(1) can probably be fixed by assuming that every ddeb has a
corresponding deb with the same name, but with '-dbgsym' stripped off
the end. I'm not sure how that would go if any of the debs themselves
were NEW, however.

To fix (2) the scripts themselves will have to be changed in fairly
obvious ways (as long as we can make the naming assumption).

To fix (3), at least SPPH.getBuiltBinaries,
PS._getSourceBinaryJoinForSources, PS.getFilesForSources,
PS.getBinaryPublicationsForSources will need to include the
corresponding debug archive in their search if looking in a primary
archive. I haven't had a thorough look for any other relevant methods.

For (4), I think delayed copies might already be OK. They grab entire
builds and run them through the queue again, so things should work fine.
Direct copies are another matter: they currently look just at binary
publications in the source, and create new publications in the target
archive. If the target is a primary archive, ddebs will need to be
forced into the debug archive.

While direct copies *into* a primary archive are probably not supported,
I believe that the issues raised in (4) apply equally to
inter-pocket/series copies within a primary archive.



There are probably other things that I'll find to be broken. Any
thoughts about any of this, Soyuz guys?

-- 
William Grant




Follow ups