Package: leveldb
Version: 1.22-3
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 leveldb 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 leveldb-1.22/debian/tests/build leveldb-1.22/debian/tests/build
--- leveldb-1.22/debian/tests/build     2015-04-27 23:58:17.000000000 -0700
+++ leveldb-1.22/debian/tests/build     2019-12-06 09:33:52.000000000 -0800
@@ -8,6 +8,11 @@
 WORKDIR=$(mktemp -d)
 trap "rm -rf $WORKDIR" 0 INT QUIT ABRT PIPE TERM
 cd $WORKDIR
+
+if [ -n "$DEB_HOST_MULTIARCH" ]; then
+    CROSS_COMPILE="$DEB_HOST_GNU_TYPE-"
+fi
+
 cat <<EOF > build_test.cpp
 #include <iostream>
 #include <sstream>
@@ -57,7 +62,7 @@
 }
 EOF
 
-g++ -o build_test build_test.cpp -pthread -lleveldb -lsnappy
+${CROSS_COMPILE}g++ -o build_test build_test.cpp -pthread -lleveldb -lsnappy
 echo "build: OK"
 [ -x build_test ]
 ./build_test

Reply via email to