Bug#794538: systemd / cross-building / failure in dpkg-gencontrol

Johannes Schauer josch at debian.org
Mon Aug 24 10:49:58 UTC 2015


Hi,

Quoting Michael Biebl (2015-08-24 09:56:02)
> Am 24.08.2015 um 08:21 schrieb Johannes Schauer:
> > Quoting Helmut Grohne (2015-08-24 07:32:16)
> >> It is not clear how to implement :native for mk-build-deps, because it does
> >> not differentiate between build architecture and host architecture. Maybe the
> >> simplest fix would be to s/:native// in mk-build-deps and declare cross
> >> support unfixably broken. Dima Kogan already observed that it does not work
> >> at all in #794538.
> > 
> > This is fixable. It has to be because building a binary package to satisfy
> > dependencies already works in other situations while still being cross-aware,
> > most notably in sbuild.
> > 
> > Namely, what mk-build-deps should do is to copy the sbuild behaviour:
> > 
> >  - use libdpkg-perl to parse and process the Build-{Depends,Conflicts}* fields
> >    and filter architecture and profile restrictions correctly
> >  - change the meaning of its --arch option (this currently does some magic
> >    depending on whether the source package has architecture specific build
> >    dependencies or not):
> >       - this option should specify the HOST architecture
> >       - the generated binary package should be of this architecture (this is
> >         already the case)
> >       - foo:native dependencies should be converted to foo:$build
> >       - the dependency on build-essential should be build-essential:$build
> >       - if host != build, then an additional build dependency on
> >         crossbuild-essential-$host:$build should be added
> >       - change the created binary package name to have "cross" or a similar
> >         identifier in its name so that it can be installed at the same time
> >         with a package for a native build for the same source package
> > 
> > Doing all this is not very hard and the code even already exists in perl in the
> > function setup_apt_archive() in the sbuild source code at
> > lib/Sbuild/ResolverBase.pm:
> > 
> >       http://sources.debian.net/src/sbuild/0.65.2-1.1/lib/Sbuild/ResolverBase.pm/#L692
> > [...]
> [...]
> It would be great if one of you can follow up on #794538 (or file a new bug
> report against devscripts), since you obviously are in a much better position
> to explain any details to the maintainer of mk-build-deps.

the attached patch addresses all the issues listed above and should now follow
closer the working behaviour of sbuild. I CC-ed the bug report you mentioned.

Thanks for bringing this up!

cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-scripts-mk-build-deps.pl-support-crossbuild-dependen.patch
Type: text/x-diff
Size: 4227 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20150824/30ab6d50/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: signature
URL: <http://lists.alioth.debian.org/pipermail/devscripts-devel/attachments/20150824/30ab6d50/attachment-0001.sig>


More information about the devscripts-devel mailing list