On 04/11/11 02:43, Francis J. Lacoste wrote: > Hi, > > Linaro is interested in having an archive available with ddeb for all of > the packages. > > We don't support ddeb in derived archives, and the way it's implemented > for PPA doesn't really work for them either, as it requires > modifications to the packaging of all packages for which they want ddeb.
That's false: I implemented the buildd side the same way as the primary archive, with pkg-create-dbgsym automatically overriding dh_strip. This is controlled by a flag on Archive:+admin. However, there is some added complexity due to the history here. When pkg-create-dbgsym detects that it's building a primary archive package, ddebs are build regardless of the archive's configuration. But unless the flag is set they're not included in the changes file, so they're not uploaded to Launchpad. So, PPAs work pretty much the same as primary archives. No changes are required to the packages if they already get ddebs in the Ubuntu primary archive. > They could work-around this by uploading a modified debhelper to a PPA > that automatically builds the ddeb. But that would mean they'd have to > make sure that their customized debhelper is always ahead of the one in > the distro and that they need to upload packages to both the ddeb PPA as > well as their main one. Plus they want to move to derived distro. > > So the question is how can we support enabling ddeb building > automatically in PPA and derived distros. As Julian says, primary archive ddebs aren't completely close. When I picked the project up 2ish years ago, very little was already done. But one crucial design decision had been implemented: there was a separate archive type set up to hold primary archive ddebs. This meant that binaries within one context, and even one source, were split between the primary and debug archives, violating axioms that the domination and deletion and copying and overriding and UI and API and inheritance and most of the other bits of Soyuz rely on. I fixed some of these, but many remain broken, and none of the fixes are exactly simple or clean. So, around a year ago I gave up on implementing it on top of what I had inherited. But I didn't have a good way to fulfil the requirement that ddebs not inflate archive.ubuntu.com's size, and so the project was abandoned. Recently I've given it some more thought, and devised what seems like a simple, quick, and effective rework. We publish the ddebs into the primary archive itself, but in a separate fake component, like we already do with debian-installer udebs. All the existing code will work, as the binaries will live together in a single archive. For derived distros like Linaro that's probably the end of the story, as they aren't widely mirrored and probably don't care about the archive bloat. For Ubuntu it's a bit more complicated. It can't afford to have ddebs on archive.ubuntu.com, so they have to be split out. Fortunately IS has a magic mirror script that already does just this sort of thing: unsupported architectures end up only on ports.ubuntu.com. So we just need to extend this script to split ddebs out into their own archive, and we're done. Apart from the archive size/split issue, I believe I got most of the ddeb support sorted out, and Julian has recently sorted the remaining issues that I'd identified for PPAs. It will require a lot of QA, but I don't think primary archive ddebs are that far off from a code standpoint. librarian and archive disk space may be another matter, but that's less of our problem :)
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Mailing list: https://launchpad.net/~launchpad-dev Post to : launchpad-dev@lists.launchpad.net Unsubscribe : https://launchpad.net/~launchpad-dev More help : https://help.launchpad.net/ListHelp