Bug#946375: pulseaudio: Please make autopkgtests cross-test-friendly

2019-12-08 Thread Steve Langasek
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

2019-12-08 Thread Felipe Sateler
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

2019-12-07 Thread Steve Langasek
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