[Debian-astro-maintainers] Bug#871635: xpa FTCBFS: fails running tests despite DEB_BUILD_OPTIONS=nocheck
Helmut Grohne
helmut at subdivi.de
Thu Aug 10 08:00:04 UTC 2017
Source: xpa
Version: 2.1.18-2
Tags: patch
User: helmutg at debian.org
Usertags: rebootstrap
Hi Ole,
thank you for quickly fixing #871509. That made working on the package
much more joyful. It currently fails to cross build, because it
unconditionally runs the test suite and (expectedly) fails doing so
during cross compilation. After adding the relevant guards to the
override, the build continues and fails in ./mklib. It uses the wrong
compiler and passes flags not understood by cross compilers. I've come
up with a partially upstreamable patch. After applying it, xpa cross
builds successfully. Can you apply it?
Helmut
-------------- next part --------------
diff --minimal -Nru xpa-2.1.18/debian/changelog xpa-2.1.18/debian/changelog
--- xpa-2.1.18/debian/changelog 2017-08-09 13:32:17.000000000 +0200
+++ xpa-2.1.18/debian/changelog 2017-08-10 09:43:42.000000000 +0200
@@ -1,3 +1,12 @@
+xpa (2.1.18-2.1) UNRELEASED; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix FTCBFS: (Closes: #-1)
+ + Support DEB_BUILD_OPTIONS=nocheck.
+ + cross.patch: Make ./mklib work with cross compilers.
+
+ -- Helmut Grohne <helmut at subdivi.de> Thu, 10 Aug 2017 09:43:42 +0200
+
xpa (2.1.18-2) unstable; urgency=medium
* Recognise the exit status of mklibs (Closes: #871509)
diff --minimal -Nru xpa-2.1.18/debian/patches/cross.patch xpa-2.1.18/debian/patches/cross.patch
--- xpa-2.1.18/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100
+++ xpa-2.1.18/debian/patches/cross.patch 2017-08-10 09:43:42.000000000 +0200
@@ -0,0 +1,74 @@
+From: Helmut Grohne <helmut at subdivi.de>
+Subject: make mklib work with cross compilation
+
+The first hunk makes it use the compiler discovered by ./configure and thus
+will work with cross compilers. Since Makefile.in exports CC and CXX, it seems
+like mklib should be picking these up and not doing so is an upstream bug.
+
+Then remove insertion of -m32, because this is not universally understood by
+cross compilers. On Debian, the provided compiler will always choose the
+correct ABI, so no -m32 or -m64 is necessary. This part likely is not
+upstreamable.
+
+Index: xpa-2.1.18/mklib
+===================================================================
+--- xpa-2.1.18.orig/mklib
++++ xpa-2.1.18/mklib
+@@ -211,9 +211,9 @@
+ if [ "x$LINK" = "x" ] ; then
+ # -linker was not specified so set default link command now
+ if [ $CPLUSPLUS = 1 ] ; then
+- LINK=g++
++ LINK=${CXX:-g++}
+ else
+- LINK=gcc
++ LINK=${CC:-gcc}
+ fi
+ fi
+
+@@ -228,14 +228,6 @@
+ ;;
+ esac
+
+- # Check if objects are 32-bit and we're running in 64-bit
+- # environment. If so, pass -m32 flag to linker.
+- set ${OBJECTS}
+- ABI32=`file $1 | grep 32-bit`
+- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
+- OPTS="-m32 ${OPTS}"
+- fi
+-
+ if [ "${ALTOPTS}" ] ; then
+ OPTS=${ALTOPTS}
+ fi
+@@ -281,13 +273,6 @@
+ # exptmp is removed below
+ fi
+
+- # Check if objects are 32-bit and we're running in 64-bit
+- # environment. If so, pass -m32 flag to linker.
+- set ${OBJECTS}
+- ABI32=`file $1 | grep 32-bit`
+- if [ "${ABI32}" -a `uname -m` = "x86_64" ] ; then
+- OPTS="-m32 ${OPTS}"
+- fi
+ if [ "${ALTOPTS}" ] ; then
+ OPTS=${ALTOPTS}
+ fi
+@@ -355,15 +340,7 @@
+ OPTS="-G"
+ else
+ # gcc linker
+- # Check if objects are 32-bit and we're running in 64-bit
+- # environment. If so, pass -m32 flag to linker.
+- set ${OBJECTS}
+- ABI32=`file $1 | grep 32-bit`
+- if [ "${ABI32}" ] ; then
+- OPTS="-m32 -shared -Wl,-Bdynamic"
+- else
+- OPTS="-m64 -shared -Wl,-Bdynamic"
+- fi
++ OPTS="-shared -Wl,-Bdynamic"
+ fi
+
+ # Check if objects are SPARC v9
diff --minimal -Nru xpa-2.1.18/debian/patches/series xpa-2.1.18/debian/patches/series
--- xpa-2.1.18/debian/patches/series 2017-08-09 13:30:54.000000000 +0200
+++ xpa-2.1.18/debian/patches/series 2017-08-10 09:43:42.000000000 +0200
@@ -5,3 +5,4 @@
Add-hardening-flags.patch
Sort-.o-files.patch
Recognise-the-exit-status-of-mklibs.patch
+cross.patch
diff --minimal -Nru xpa-2.1.18/debian/rules xpa-2.1.18/debian/rules
--- xpa-2.1.18/debian/rules 2017-02-03 17:14:31.000000000 +0100
+++ xpa-2.1.18/debian/rules 2017-08-10 09:43:42.000000000 +0200
@@ -12,8 +12,10 @@
override_dh_auto_build:
dh_auto_build -- All tclxpa
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
override_dh_auto_test:
debian/tests/xpa_test_build
+endif
override_dh_installchangelogs:
dh_installchangelogs doc/changelog.html
More information about the Debian-astro-maintainers
mailing list