[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#946530: Please make autopkgtests cross-test-friendly



Package: libopenmpt
Version: 0.4.10-1
Severity: minor
Tags: patch
User: ubuntu-devel@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 libopenmpt 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,

diff -Nru libopenmpt-0.4.10/debian/changelog libopenmpt-0.4.10/debian/changelog
--- libopenmpt-0.4.10/debian/changelog	2019-10-31 00:22:01.000000000 +0100
+++ libopenmpt-0.4.10/debian/changelog	2019-12-10 16:12:45.000000000 +0100
@@ -1,3 +1,9 @@
+libopenmpt (0.4.10-2) UNRELEASED; urgency=medium
+
+  * Make autopkgtests cross-test-friendly.
+
+ -- Sebastien Bacher <seb128@ubuntu.com>  Tue, 10 Dec 2019 11:01:27 +0100
+
 libopenmpt (0.4.10-1) unstable; urgency=medium
 
   [ James Cowgill ]
diff -Nru libopenmpt-0.4.10/debian/tests/build libopenmpt-0.4.10/debian/tests/build
--- libopenmpt-0.4.10/debian/tests/build	2019-10-31 00:22:01.000000000 +0100
+++ libopenmpt-0.4.10/debian/tests/build	2019-12-10 16:15:29.000000000 +0100
@@ -10,6 +10,12 @@
 	exit 1
 fi
 
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+else
+    CROSS_COMPILE=
+fi
+
 cd debian/tests
 
 # Runs argument on the test data and ensures it's matches expected result
@@ -22,14 +28,14 @@
 }
 
 # Build programs
-gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-c1" pattern-dump-c.c -lopenmpt
+${CROSS_COMPILE}gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-c1" pattern-dump-c.c -lopenmpt
 echo "build1: OK"
-gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-c2" pattern-dump-c.c $(pkg-config --cflags --libs libopenmpt)
+${CROSS_COMPILE}gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-c2" pattern-dump-c.c $(${CROSS_COMPILE}pkg-config --cflags --libs libopenmpt)
 echo "build2: OK"
 
-g++ -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-cpp1" pattern-dump-cpp.cpp -lopenmpt
+${CROSS_COMPILE}g++ -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-cpp1" pattern-dump-cpp.cpp -lopenmpt
 echo "build3: OK"
-g++ -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-cpp2" pattern-dump-cpp.cpp $(pkg-config --cflags --libs libopenmpt)
+${CROSS_COMPILE}g++ -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-cpp2" pattern-dump-cpp.cpp $(${CROSS_COMPILE}pkg-config --cflags --libs libopenmpt)
 echo "build4: OK"
 
 # Run them
diff -Nru libopenmpt-0.4.10/debian/tests/build-modplug libopenmpt-0.4.10/debian/tests/build-modplug
--- libopenmpt-0.4.10/debian/tests/build-modplug	2019-10-31 00:22:01.000000000 +0100
+++ libopenmpt-0.4.10/debian/tests/build-modplug	2019-12-10 12:29:46.000000000 +0100
@@ -12,6 +12,12 @@
 	exit 1
 fi
 
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+else
+    CROSS_COMPILE=
+fi
+
 cd debian/tests
 
 # Runs argument on the test data and ensures it's matches expected result
@@ -24,9 +30,9 @@
 }
 
 # Build programs
-gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-modplug1" pattern-dump-modplug.c -lmodplug
+${CROSS_COMPILE}gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-modplug1" pattern-dump-modplug.c -lmodplug
 echo "build1: OK"
-gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-modplug2" pattern-dump-modplug.c $(pkg-config --cflags --libs libmodplug)
+${CROSS_COMPILE}gcc -Wall -o "$AUTOPKGTEST_TMP/pattern-dump-modplug2" pattern-dump-modplug.c $(${CROSS_COMPILE}pkg-config --cflags --libs libmodplug)
 echo "build2: OK"
 
 # Run them

Reply to: