Source: crda
Version: 3.13-1
Tags: patch
User: [email protected]
Usertags: rebootstrap

Hi Ben,

crda fails to cross build from source, because it uses non-prefixed
tools (e.g. pkg-config and cc). The attached patch prepends the host
architecture prefix and thus makes the cross build work.

Helmut
diff --minimal -Nru crda-3.13/debian/changelog crda-3.13/debian/changelog
--- crda-3.13/debian/changelog  2014-08-23 21:34:20.000000000 +0200
+++ crda-3.13/debian/changelog  2016-08-30 17:00:17.000000000 +0200
@@ -1,3 +1,10 @@
+crda (3.13-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: use triplet prefixed tools (Closes: #-1)
+
+ -- Helmut Grohne <[email protected]>  Tue, 30 Aug 2016 16:54:05 +0200
+
 crda (3.13-1) unstable; urgency=medium
 
   * New upstream version (Closes: #720119)
diff --minimal -Nru crda-3.13/debian/patches/cross.patch 
crda-3.13/debian/patches/cross.patch
--- crda-3.13/debian/patches/cross.patch        1970-01-01 01:00:00.000000000 
+0100
+++ crda-3.13/debian/patches/cross.patch        2016-08-30 16:59:48.000000000 
+0200
@@ -0,0 +1,65 @@
+From: Helmut Grohne <[email protected]>
+Subject: make pkg-config substitutable
+Date: Tue, 30 Aug 2016 16:59:36 +0200
+
+Index: crda-3.13/Makefile
+===================================================================
+--- crda-3.13.orig/Makefile
++++ crda-3.13/Makefile
+@@ -25,6 +25,8 @@
+ PUBKEY_DIR?=pubkeys
+ RUNTIME_PUBKEY_DIR?=/etc/wireless-regdb/pubkeys
+ 
++PKG_CONFIG ?= pkg-config
++
+ CFLAGS += -O2 -fpic
+ CFLAGS += -std=gnu99 -Wall -Werror -pedantic
+ CFLAGS += -Wall -g
+@@ -39,8 +41,8 @@
+ all_noverify: $(LIBREG) crda intersect regdbdump db2rd optimize
+ 
+ ifeq ($(USE_OPENSSL),1)
+-CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `pkg-config 
--cflags openssl`
+-LIBREGLDLIBS += `pkg-config --libs openssl`
++CFLAGS += -DUSE_OPENSSL -DPUBKEY_DIR=\"$(RUNTIME_PUBKEY_DIR)\" `$(PKG_CONFIG) 
--cflags openssl`
++LIBREGLDLIBS += `$(PKG_CONFIG) --libs openssl`
+ 
+ ifeq ($(RUNTIME_PUBKEY_ONLY),1)
+ CFLAGS += -DRUNTIME_PUBKEY_ONLY
+@@ -59,19 +61,19 @@
+ MKDIR ?= mkdir -p
+ INSTALL ?= install
+ 
+-NL1FOUND := $(shell pkg-config --atleast-version=1 libnl-1 && echo Y)
+-NL2FOUND := $(shell pkg-config --atleast-version=2 libnl-2.0 && echo Y)
+-NL3FOUND := $(shell pkg-config --atleast-version=3 libnl-3.0 && echo Y)
+-NL32FOUND := $(shell pkg-config --atleast-version=3 libnl-3.2 && echo Y)
++NL1FOUND := $(shell $(PKG_CONFIG) --atleast-version=1 libnl-1 && echo Y)
++NL2FOUND := $(shell $(PKG_CONFIG) --atleast-version=2 libnl-2.0 && echo Y)
++NL3FOUND := $(shell $(PKG_CONFIG) --atleast-version=3 libnl-3.0 && echo Y)
++NL32FOUND := $(shell $(PKG_CONFIG) --atleast-version=3 libnl-3.2 && echo Y)
+ 
+ ifeq ($(NL32FOUND),Y)
+ CFLAGS += -DCONFIG_LIBNL30
+-NLLIBS += $(shell pkg-config --libs libnl-genl-3.2)
++NLLIBS += $(shell $(PKG_CONFIG) --libs libnl-genl-3.2)
+ NLLIBNAME = libnl-3.2
+ else
+       ifeq ($(NL3FOUND),Y)
+       CFLAGS += -DCONFIG_LIBNL30
+-      NLLIBS += $(shell pkg-config --libs libnl-genl-3.0)
++      NLLIBS += $(shell $(PKG_CONFIG) --libs libnl-genl-3.0)
+       NLLIBNAME = libnl-3.0
+       else
+               ifeq ($(NL2FOUND),Y)
+@@ -90,8 +92,8 @@
+ $(error Cannot find development files for any supported version of libnl)
+ endif
+ 
+-NLLIBS += `pkg-config --libs $(NLLIBNAME)`
+-CFLAGS += `pkg-config --cflags $(NLLIBNAME)`
++NLLIBS += `$(PKG_CONFIG) --libs $(NLLIBNAME)`
++CFLAGS += `$(PKG_CONFIG) --cflags $(NLLIBNAME)`
+ 
+ ifeq ($(V),1)
+ Q=
diff --minimal -Nru crda-3.13/debian/patches/series 
crda-3.13/debian/patches/series
--- crda-3.13/debian/patches/series     2014-08-23 21:11:37.000000000 +0200
+++ crda-3.13/debian/patches/series     2016-08-30 16:54:13.000000000 +0200
@@ -3,3 +3,4 @@
 crda-Add-DESTDIR-support-in-install-libreg-rules-in-.patch
 do-not-run-ldconfig-if-destdir-is-set.patch
 fix-linking-of-libraries-used-by-reglib.patch
+cross.patch
diff --minimal -Nru crda-3.13/debian/rules crda-3.13/debian/rules
--- crda-3.13/debian/rules      2014-08-23 21:11:37.000000000 +0200
+++ crda-3.13/debian/rules      2016-08-30 16:57:27.000000000 +0200
@@ -1,5 +1,11 @@
 #!/usr/bin/make -f
 
+include /usr/share/dpkg/architecture.mk
+ifeq ($(origin CC),default)
+CC = $(DEB_HOST_GNU_TYPE)-gcc
+endif
+export CC
+export PKG_CONFIG = $(DEB_HOST_GNU_TYPE)-pkg-config
 export CFLAGS = -O$(if $(findstring noopt,$(DEB_BUILD_OPTIONS)),0,2)
 export LIBDIR = /lib/crda
 export LDLIBREG = -Wl,-rpath,$(LIBDIR)

Reply via email to