[Multiarch-devel] multiarch cross build dependency resolution

Johannes Schauer josch at debian.org
Wed Jan 6 14:13:47 UTC 2016


Hi,

Quoting Wookey (2016-01-06 14:52:39)
> My understanding for cross-building is that 'apt-get build-dep' is the
> definitive method to get the right build-dependencies for a package with all
> the multiarch dependencies properly resolved. That's why I used it originally
> - nothing more complicated than that.

according to Roger Leigh [1] there has been a time when "apt-get build-dep"
didn't work for sbuild.

> This is the way that all the multiarch crossbuilding has been done for a few
> years now so it's quite well tested in its context too. I agree that there is
> a difference between native and cross builds here which it would be good to
> eliminate for consistency. Which leads to the question: Why not go the other
> way and use apt-get build-dep for native builds too?

I hope I answered that in [2]. In short: the dummy binary package way of doing
things has been tested more and should (with my understanding of multiarch)
work just as well for cross build dependencies.

Switching to "apt-get build-dep" would certainly be possible but I don't have
time to test all the apt versions down to old-old-stable whether it works with
them. Doing this would be required to switch sbuild to that method. If somebody
tells me they did that, then I'm happy to accept patches.

> Why do we use the dpkg parsing to make a dumy package instead? (I'll read the
> rest of the therad now which may answer this question).

Because sbuild needs to modify the dependencies. For example to add extra build
dependencies via --add-depends and other options or to remove dependency
alternatives. Thus the dpkg parsing is necessary no matter what's done in the
end.

> There have been differences between apt and dpkg multiarch dependency
> resolution in the past but we are working on eliminating those and everyone
> involved agrees that such differences are bugs.

The multiarch dependency resolution differences between dpkg and apt should not
matter here because we are only using dpkg for parsing and mangling of the
build dependencies and not for resolving them.

Thanks!

cheers, josch

[1] http://lists.alioth.debian.org/pipermail/buildd-tools-devel/2016-January/010509.htm

[2] http://lists.alioth.debian.org/pipermail/buildd-tools-devel/2016-January/010511.htm
-------------- 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/multiarch-devel/attachments/20160106/6bf57573/attachment.sig>


More information about the Multiarch-devel mailing list