On 2016-11-03 14:07, Helmut Grohne wrote: > On Thu, Nov 03, 2016 at 11:05:16AM +0100, Andreas Beckmann wrote: >> I think you rather want >> >> Architecture: all >> Multi-Arch: allowed > > Sadly that's neither correct nor possible. M-A:allowed is not permitted > on Arch:all packages.
Right, that should be Architecture: all Multi-Arch: foreign (I always mix up allowed and foreign in this context.) I just verified that this is sufficient to have a package Package: test-default-libmysqlclient-dev Architecture: any Depends: default-libmysqlclient-dev, built for i386 and install it on a amd64 chroot. > And even if it was allowed, it would be wrong. Consider source package > foo, which wants to link the mysql client library. If it Build-Depends: > default-libmysqlclient-dev, then its dependency is cross-unsatisfiable, > because no package provides default-libmysqlclient-dev for non-native > architectures. If it Build-Depends: default-libmysqlclient-dev:any, it > gets the build architecture library when it wanted the host architecture > library. In general, how does it work to have arch:all build-depends (marked as m-a: foreign and depending on arch:any packages) in cross-build scenarios? IMO it is wrong to require -dev packages to be arch:any if they could be arch:all + m-a:foreign. Andreas