Bug#946375: pulseaudio: Please make autopkgtests cross-test-friendly
On Sun, Dec 08, 2019 at 09:04:06AM -0300, Felipe Sateler wrote: > Thanks for the patch, I have applied it. However, wouldn't it be better > if autopkgtest provided CC and friends directly to the test? Or provide a > tool that does? I have commented on the autopkgtest merge request. This parallels the existing interface used for cross-compilation in dpkg. We don't try to set CC directly for a couple of reasons: - it's very difficult to be comprehensive about all the tools that will need to be invoked differently for cross vs native builds. CC is one, but LD, AS, CXX, FF, ... and there is no such standard variable for pkg-config that's widely recognized by build systems. - there are cases when cross-compiling that you need to build code for both the host and build architectures, and in that case there is no universal agreement which of these two targets "CC" points to. So I've been relying on the tried and true dpkg interface here instead. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org signature.asc Description: PGP signature
Bug#946375: pulseaudio: Please make autopkgtests cross-test-friendly
Control: tags -1 pending On Sun, Dec 8, 2019 at 2:57 AM Steve Langasek wrote: > Package: pulseaudio > Version: 13.0-1 > Severity: minor > Tags: patch > User: ubuntu-de...@lists.ubuntu.com > Usertags: origin-ubuntu focal ubuntu-patch > > Dear maintainers, > > In Ubuntu, we are in the process of moving the i386 architecture to a > compatibility-only layer on amd64, and therefore we are also moving our > autopkgtest infrastructure to test i386 binaries in a cross-environment. > > This requires changes to some tests so that they are cross-aware and can do > the right thing. > > The pulseaudio tests currently fail in this environment, because they are > build tests that do not invoke the toolchain in a cross-aware manner. I've > verified that the attached patch lets the tests successfully build (and > run) > i386 tests on an amd64 host. > Note that upstream autopkgtest doesn't currently set DEB_HOST_ARCH so this > is a complete no-op in Debian for the moment. Support for cross-testing in > autopkgtest is currently awaiting review at > https://salsa.debian.org/ci-team/autopkgtest/merge_requests/69 and once > landed, will still have no effect unless autopkgtest is invoked with a '-a' > option. So this change should be safe to land in your package despite this > not being upstream in autopkgtest. Thanks for the patch, I have applied it. However, wouldn't it be better if autopkgtest provided CC and friends directly to the test? Or provide a tool that does? I have commented on the autopkgtest merge request. -- Saludos, Felipe Sateler
Bug#946375: pulseaudio: Please make autopkgtests cross-test-friendly
Package: pulseaudio Version: 13.0-1 Severity: minor Tags: patch User: ubuntu-de...@lists.ubuntu.com Usertags: origin-ubuntu focal ubuntu-patch Dear maintainers, In Ubuntu, we are in the process of moving the i386 architecture to a compatibility-only layer on amd64, and therefore we are also moving our autopkgtest infrastructure to test i386 binaries in a cross-environment. This requires changes to some tests so that they are cross-aware and can do the right thing. The pulseaudio tests currently fail in this environment, because they are build tests that do not invoke the toolchain in a cross-aware manner. I've verified that the attached patch lets the tests successfully build (and run) i386 tests on an amd64 host. Note that upstream autopkgtest doesn't currently set DEB_HOST_ARCH so this is a complete no-op in Debian for the moment. Support for cross-testing in autopkgtest is currently awaiting review at https://salsa.debian.org/ci-team/autopkgtest/merge_requests/69 and once landed, will still have no effect unless autopkgtest is invoked with a '-a' option. So this change should be safe to land in your package despite this not being upstream in autopkgtest. Thanks for considering, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer https://www.debian.org/ slanga...@ubuntu.com vor...@debian.org diff -Nru pulseaudio-13.0/debian/tests/build pulseaudio-13.0/debian/tests/build --- pulseaudio-13.0/debian/tests/build 2019-09-17 23:38:48.0 -0700 +++ pulseaudio-13.0/debian/tests/build 2019-12-07 21:38:59.0 -0800 @@ -10,6 +10,13 @@ WORKDIR=$(mktemp -d) trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM cd $WORKDIR + +if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then +CROSS_COMPILE="$DEB_HOST_GNU_TYPE-" +else +CROSS_COMPILE= +fi + cat < buildtest.c #include #include @@ -23,7 +30,7 @@ } EOF -gcc -o buildtest buildtest.c $(pkg-config --cflags --libs libpulse) +${CROSS_COMPILE}gcc -o buildtest buildtest.c $(${CROSS_COMPILE}pkg-config --cflags --libs libpulse) echo "build: OK" [ -x buildtest ] ./buildtest