Package: libjsoncpp
Version: 1.7.4-3.1
Severity: minor
Tags: patch
User: [email protected]
Usertags: origin-ubuntu focal ubuntu-patch
Hi Cleto,
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 libjsoncpp 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/
[email protected] [email protected]
diff -Nru libjsoncpp-1.7.4/debian/tests/testsuite
libjsoncpp-1.7.4/debian/tests/testsuite
--- libjsoncpp-1.7.4/debian/tests/testsuite 2016-08-23 02:09:02.000000000
-0700
+++ libjsoncpp-1.7.4/debian/tests/testsuite 2020-01-31 13:40:31.000000000
-0800
@@ -18,6 +18,17 @@
cp -a ./src/test_lib_json/* "$ADTTMP"
cd "$ADTTMP"
+if [ -n "${DEB_HOST_GNU_TYPE:-}" ]; then
+ cat <<EOF > "$ADTTMP/toolchain.cmake"
+set(CMAKE_C_COMPILER $DEB_HOST_GNU_TYPE-gcc)
+set(CMAKE_CXX_COMPILER $DEB_HOST_GNU_TYPE-g++)
+set(PKG_CONFIG_EXECUTABLE $DEB_HOST_GNU_TYPE-pkg-config)
+EOF
+ CCFILE=-DCMAKE_TOOLCHAIN_FILE="$ADTTMP/toolchain.cmake"
+else
+ CCFILE=
+fi
+
cat <<EOF > CMakeLists.txt
cmake_minimum_required(VERSION 2.6.2)
project(jsoncpp_test)
@@ -36,6 +47,6 @@
# Configure, build and execute.
mkdir build && cd build
-cmake ..
+cmake "$CCFILE" ..
make VERBOSE=1 -j$(nproc)
./jsoncpp_test