Source: dmraid
Version: 1.0.0.rc16-8
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

dmraid fails to cross build from source, because it fails linking an
incompatible libgcc_s.so.1. Passing an incompatible -L flag used to
work, but for some reason gcc got more picky about it and fails hard
now. dmraid passes -L$(DESTDIR)$(libdir) in tools/Makefile.in. At that
point DESTDIR is empty and libdir is $(exec_prefix)/lib where
exec_prefix is /. Thus the flag becomes -L//lib (in both native and
cross builds). Bummer.

A simple way to get around this is to use a multiarch --libdir, which is
a good thing in general. Please consider applying the attached patch.

Helmut
diff -u dmraid-1.0.0.rc16/debian/changelog dmraid-1.0.0.rc16/debian/changelog
--- dmraid-1.0.0.rc16/debian/changelog
+++ dmraid-1.0.0.rc16/debian/changelog
@@ -1,3 +1,10 @@
+dmraid (1.0.0.rc16-8.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: Use a multiarch --libdir. (Closes: #-1)
+
+ -- Helmut Grohne <hel...@subdivi.de>  Mon, 17 Feb 2020 05:42:58 +0100
+
 dmraid (1.0.0.rc16-8) unstable; urgency=medium
 
   * Fix library dev symlink (closes: 856946).
diff -u dmraid-1.0.0.rc16/debian/control dmraid-1.0.0.rc16/debian/control
--- dmraid-1.0.0.rc16/debian/control
+++ dmraid-1.0.0.rc16/debian/control
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org>
 Standards-Version: 3.9.5
-Build-Depends: debhelper (>= 9), libdevmapper-dev, libklibc-dev, 
libselinux1-dev, quilt (>= 0.40), autotools-dev
+Build-Depends: debhelper (>= 9), dh-exec, libdevmapper-dev, libklibc-dev, 
libselinux1-dev, quilt (>= 0.40), autotools-dev
 Vcs-git: git://git.debian.org/git/users/derevko-guest/dmraid.git
 Vcs-Browser: http://git.debian.org/?p=users/derevko-guest/dmraid.git
 Homepage: http://people.redhat.com/~heinzm/sw/dmraid/
diff -u dmraid-1.0.0.rc16/debian/libdmraid-dev.install 
dmraid-1.0.0.rc16/debian/libdmraid-dev.install
--- dmraid-1.0.0.rc16/debian/libdmraid-dev.install
+++ dmraid-1.0.0.rc16/debian/libdmraid-dev.install
@@ -1,2 +1,3 @@
-debian/standard/lib/*.a usr/lib
+#!/usr/bin/dh-exec
+debian/standard/lib/${DEB_HOST_MULTIARCH}/*.a usr/lib/${DEB_HOST_MULTIARCH}
 debian/standard/usr/include/dmraid usr/include
diff -u dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install 
dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install
--- dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install
+++ dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16-udeb.install
@@ -1 +1,2 @@
-debian/udeb/lib/*.so.* lib
+#!/usr/bin/dh-exec
+debian/udeb/lib/${DEB_HOST_MULTIARCH}/*.so.* lib/${DEB_HOST_MULTIARCH}
diff -u dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install 
dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install
--- dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install
+++ dmraid-1.0.0.rc16/debian/libdmraid1.0.0.rc16.install
@@ -1 +1,2 @@
-debian/standard/lib/*.so.* lib
+#!/usr/bin/dh-exec
+debian/standard/lib/${DEB_HOST_MULTIARCH}/*.so.* lib/${DEB_HOST_MULTIARCH}
diff -u dmraid-1.0.0.rc16/debian/rules dmraid-1.0.0.rc16/debian/rules
--- dmraid-1.0.0.rc16/debian/rules
+++ dmraid-1.0.0.rc16/debian/rules
@@ -11,8 +11,7 @@
 
 # These are used for cross-compiling and for saving the configure script
 # from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+include /usr/share/dpkg/architecture.mk
 ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
 CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
 else
@@ -23,7 +22,7 @@
 buildroot := $(CURDIR)/debian/build
 flavours := standard udeb
 
-common-config-flags := $(CROSS) --prefix=/usr --exec-prefix=/
+common-config-flags := $(CROSS) --prefix=/usr --exec-prefix=/ 
'--libdir=$${exec_prefix}/lib/$(DEB_HOST_MULTIARCH)'
 
 methods: methods-stamp
 methods-stamp:
@@ -74,6 +73,7 @@
 binary-arch: install
        dh_testdir
        dh_testroot
+       chmod +x debian/libdmraid*.install
        dh_install
        dh_installdirs
        dh_installudev --priority=85

Reply via email to