Source: efivar Version: 30-1 Tags: patch User: [email protected] Usertags: rebootstrap
efivar fails to cross build from source, because it compiles the build tool makeguids with the host architecture compiler and then fails running it. It also runs the build architecture pkg-config. Switching makeguids to the build architecture compiler and passing CROSS_COMPILE to make makes both cross and native builds just work. Please consider applying the attached patch. Helmut
diff --minimal -Nru efivar-30/debian/changelog efivar-30/debian/changelog --- efivar-30/debian/changelog 2016-09-23 22:00:08.000000000 +0200 +++ efivar-30/debian/changelog 2016-11-05 07:58:05.000000000 +0100 @@ -1,3 +1,12 @@ +efivar (30-1.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Pass CROSS_COMPILE to make + + cross.patch: Use CCLD_FOR_BUILD for makeguids. + + -- Helmut Grohne <[email protected]> Sat, 05 Nov 2016 07:57:11 +0100 + efivar (30-1) unstable; urgency=medium * new upstream version (30) diff --minimal -Nru efivar-30/debian/patches/cross.patch efivar-30/debian/patches/cross.patch --- efivar-30/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 +0100 +++ efivar-30/debian/patches/cross.patch 2016-11-05 08:04:48.000000000 +0100 @@ -0,0 +1,29 @@ +Subject: use CCLD_FOR_BUILD for makeguids +From: Helmut Grohne <[email protected]> + +Index: efivar-30/Make.defaults +=================================================================== +--- efivar-30.orig/Make.defaults ++++ efivar-30/Make.defaults +@@ -10,7 +10,9 @@ + INSTALL ?= install + CROSS_COMPILE ?= + PKG_CONFIG = $(CROSS_COMPILE)pkg-config ++CC_FOR_BUILD ?= cc + CC := $(if $(filter default,$(origin CC)),$(CROSS_COMPILE)gcc,$(CC)) ++CCLD_FOR_BUILD ?= $(CC_FOR_BUILD) + CCLD := $(if $(filter undefined,$(origin CCLD)),$(CC),$(CCLD)) + OPTIMIZE ?= -O2 -flto + CFLAGS ?= $(OPTIMIZE) -g3 +Index: efivar-30/src/Makefile +=================================================================== +--- efivar-30.orig/src/Makefile ++++ efivar-30/src/Makefile +@@ -38,6 +38,7 @@ + makeguids : CPPFLAGS+=-DEFIVAR_BUILD_ENVIRONMENT + makeguids : LIBS=dl + makeguids : $(MAKEGUIDS_SOURCES) ++makeguids : CCLD=$(CCLD_FOR_BUILD) + + guids.o : guids.S | guids.bin names.bin + diff --minimal -Nru efivar-30/debian/patches/series efivar-30/debian/patches/series --- efivar-30/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ efivar-30/debian/patches/series 2016-11-05 07:58:10.000000000 +0100 @@ -0,0 +1 @@ +cross.patch diff --minimal -Nru efivar-30/debian/rules efivar-30/debian/rules --- efivar-30/debian/rules 2016-09-23 22:00:08.000000000 +0200 +++ efivar-30/debian/rules 2016-11-05 08:00:25.000000000 +0100 @@ -6,13 +6,13 @@ export DEB_CFLAGS_MAINT_APPEND= -flto -DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +include /usr/share/dpkg/architecture.mk %: dh $@ override_dh_auto_build: - dh_auto_build -- libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) + dh_auto_build -- libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH) CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- override_dh_auto_install: dh_auto_install -- libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH)

