sbuild needs to run dpkg-source inside the chroot

Bug #476036 reported by William Grant
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
launchpad-buildd
Fix Released
High
Unassigned

Bug Description

In order to support Debian's new 3.0 source formats, all the buildds need to use >= Karmic's dpkg to extract source packages.

Unfortunately, our sbuild still uses the host's dpkg (Hardy or even Dapper). Rather than being adventurous and attempting to backport dpkg, we should alter sbuild to run dpkg-source inside the chroot.

To do this, we need to have sbuild copy the source files into the chroot, then run dpkg-source over them in the right place. The copying is the non-trivial bit: we can't use the rather convenient 'dcmd' tool to extract a list of required files, as that doesn't exist in Hardy, let alone Dapper. This is the approach used by modern Debian sbuild.

Revision history for this message
William Grant (wgrant) wrote :

Note also that Karmic's dpkg-source output has changed slightly, breaking the /^dpkg-source: extracting \S+ in (\S+)/ regexps that sbuild uses. This will become a problem and cause all Karmic/Lucid builds to fail once their dpkg-source is used.

We could either fix the regexps (adding '(?:info: )?' should do it), or give dpkg-source an explicit directory to extract to. I favour the former, as I hope that our fork of sbuild will not survive much longer.

Changed in launchpad-buildd:
status: New → Triaged
importance: Undecided → High
Revision history for this message
William Grant (wgrant) wrote :

Excerpt from a recent email (<20091121195151.GB32374@rivendell>) on debian-devel:

"In general it should work, but you're right that we have a problem
here with the buildds running an old version of sbuild (there are still
many buildd in that situation) because they do "dpkg-source -x" outside
of the buildd chroot where quilt is not installed even if you added
quilt in your build-depends.

AFAIK newer sbuild should do "dpkg-source -x" in the chroot where quilt is
installed due to build-depends and the .pc directory is then created
at unpack time."

So even if we do upgrade it outside the chroot, some stuff will still not work.

Revision history for this message
Julian Edwards (julian-edwards) wrote :

Lamont, you said that the necessary version of dpkg was [being] backported to hardy. Is this enough to do what we need?

Revision history for this message
William Grant (wgrant) wrote :

I actually backported the necessary version myself yesterday (see https://launchpad.net/~wgrant/+archive/experimental). It was very simple. Not sure about Dapper, though.

Revision history for this message
LaMont Jones (lamont) wrote :

I have the code change to parse dpkg-source output. I'll also be working running dpkg-source inside the chroot to complete that transition.

LaMont Jones (lamont)
Changed in launchpad-buildd:
status: Triaged → In Progress
Revision history for this message
LaMont Jones (lamont) wrote :

Fixed in version 54

Changed in launchpad-buildd:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.