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)

