Package: libarchive
Version: 3.4.0-1
Severity: minor
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu focal ubuntu-patch

Hi Peter,

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 libarchive tests currently fail in this environment, one because it is a
build test that does not invoke the toolchain in a cross-aware manner, the
other because it does not use cross-capable test dependencies.  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 libarchive-3.4.0/debian/tests/control 
libarchive-3.4.0/debian/tests/control
--- libarchive-3.4.0/debian/tests/control       2019-09-20 15:36:12.000000000 
-0700
+++ libarchive-3.4.0/debian/tests/control       2020-03-04 21:47:59.000000000 
-0800
@@ -2,6 +2,6 @@
 Depends: build-essential, file, libarchive-dev, pkg-config
 
 Test-Command: adequate libarchive-dev libarchive13 libarchive-tools bsdtar 
bsdcpio
-Depends: @, adequate
+Depends: @, adequate:native
 Features: test-name=adequate
 Restrictions: superficial
diff -Nru libarchive-3.4.0/debian/tests/minitar 
libarchive-3.4.0/debian/tests/minitar
--- libarchive-3.4.0/debian/tests/minitar       2019-09-20 15:36:12.000000000 
-0700
+++ libarchive-3.4.0/debian/tests/minitar       2020-03-04 21:47:52.000000000 
-0800
@@ -6,7 +6,13 @@
 # correctly and minitar works as expected.
 # Author: Benjamin Drung <bdr...@ubuntu.com>
 
-gcc -O2 -g -Wno-unused-result -o minitar examples/minitar/minitar.c 
$(pkg-config --cflags --libs libarchive)
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+else
+    CROSS_COMPILE=
+fi
+
+${CROSS_COMPILE}gcc -O2 -g -Wno-unused-result -o minitar 
examples/minitar/minitar.c $(${CROSS_COMPILE}pkg-config --cflags --libs 
libarchive)
 
 # Create different tarballs
 echo "Deadbeaf" > foo
@@ -26,7 +32,7 @@
 test "$(file -b --mime-type foo.tar.bz2)" = "application/x-bzip2"
 
 # Test untar, too, for extracting.
-gcc -O2 -g -Wno-unused-result -o untar examples/untar.c $(pkg-config --cflags 
--libs libarchive)
+${CROSS_COMPILE}gcc -O2 -g -Wno-unused-result -o untar examples/untar.c 
$(${CROSS_COMPILE}pkg-config --cflags --libs libarchive)
 
 # Extract tarballs and compare content
 mv foo foo.orig

Reply via email to