[Debian-ha-maintainers] Bug#968684: libqb: Please make autopkgtests cross-test-friendly

Steve Langasek steve.langasek at canonical.com
Wed Aug 19 22:04:15 BST 2020


Package: libqb
Version: 1.0.6-1
Severity: minor
Tags: patch
User: ubuntu-devel at lists.ubuntu.com
Usertags: origin-ubuntu groovy ubuntu-patch

Dear maintainers,

In Ubuntu, we have moved 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 libqb tests currently fail in this environment, because they are build
tests that do not invoke the toolchain in a cross-aware manner, and do not
declare their test dependencies in a cross-friendly matter.  I've verified
that the attached patch lets the tests successfully build 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/
slangasek at ubuntu.com                                     vorlon at debian.org
-------------- next part --------------
diff -Nru libqb-1.0.6/debian/tests/control libqb-1.0.6/debian/tests/control
--- libqb-1.0.6/debian/tests/control	2020-07-30 10:12:44.000000000 -0700
+++ libqb-1.0.6/debian/tests/control	2020-08-19 13:54:37.000000000 -0700
@@ -1,3 +1,3 @@
-Depends: libqb-dev, gcc, libc6-dev, pkg-config
+Depends: libqb-dev, build-essential, libc6-dev, pkg-config
 Tests: ipc
 Restrictions: allow-stderr
diff -Nru libqb-1.0.6/debian/tests/ipc libqb-1.0.6/debian/tests/ipc
--- libqb-1.0.6/debian/tests/ipc	2020-07-30 11:31:35.000000000 -0700
+++ libqb-1.0.6/debian/tests/ipc	2020-08-19 13:59:43.000000000 -0700
@@ -1,14 +1,22 @@
 #!/bin/sh -ex
 
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+  CC="$DEB_HOST_GNU_TYPE-gcc"
+  PKGCONFIG="$DEB_HOST_GNU_TYPE-pkg-config"
+else
+  CC=gcc
+  PKGCONFIG=pkg-config
+fi
+
 cd examples
 # the os_base.h in-tree header includes inttypes.h for the examples
 ln -sf /usr/include/inttypes.h os_base.h # -f to enable repeated runs
-gcc $(pkg-config --cflags libqb) \
+"$CC" $("$PKGCONFIG" --cflags libqb) \
     -o ipcserver ipcserver.c \
-    $(pkg-config --libs libqb)
-gcc $(pkg-config --cflags libqb) \
+    $("$PKGCONFIG" --libs libqb)
+"$CC" $("$PKGCONFIG" --cflags libqb) \
     -o ipcclient ipcclient.c \
-    $(pkg-config --libs libqb)
+    $("$PKGCONFIG" --libs libqb)
 
 OUT="${AUTOPKGTEST_ARTIFACTS:-.}/out.txt"
 ERR="${AUTOPKGTEST_ARTIFACTS:-.}/err.txt"


More information about the Debian-ha-maintainers mailing list