Source: antennavis
Version: 0.3.1-4
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap

antennavis fails to cross build from source. It starts with not passing
--host to ./configure and thus performing a native build.
dh_auto_configure fixes that. Then, it fails to propagate the compiler
detected by ./configure to the Makefile. Further down, the Makefile's
install stage does not honour INSTALL_PROGRAM and strips unconditionally
- with the wrong strip. It is best to not strip at all during make
install as doing otherwise breaks generation of -dbgsym packages in
addition to breaking cross building. The attached patch fixes all of
that. Please consider applying it.

Helmut
diff --minimal -Nru antennavis-0.3.1/debian/changelog 
antennavis-0.3.1/debian/changelog
--- antennavis-0.3.1/debian/changelog   2015-06-27 17:54:02.000000000 +0200
+++ antennavis-0.3.1/debian/changelog   2019-03-03 06:12:49.000000000 +0100
@@ -1,3 +1,14 @@
+antennavis (0.3.1-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Let dh_auto_configure pass --host to ./configure.
+    + cross.patch: Propagate CC from configure to make.
+    + cross.patch: Honour INSTALL_PROGRAM.
+    + Defer all stripping to dh_strip.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Sun, 03 Mar 2019 06:12:49 +0100
+
 antennavis (0.3.1-4) unstable; urgency=medium
 
   * Fix rotational symmetry bug. Thanks Bohumir Jelinek
diff --minimal -Nru antennavis-0.3.1/debian/patches/cross.patch 
antennavis-0.3.1/debian/patches/cross.patch
--- antennavis-0.3.1/debian/patches/cross.patch 1970-01-01 01:00:00.000000000 
+0100
+++ antennavis-0.3.1/debian/patches/cross.patch 2019-03-03 06:12:49.000000000 
+0100
@@ -0,0 +1,31 @@
+--- antennavis-0.3.1.orig/Makefile.in
++++ antennavis-0.3.1/Makefile.in
+@@ -26,10 +26,12 @@
+ ## Please do not edit "makefile", as it is auto-generated
+ ## by ./configure from makefile.in  Edit makefile.in instead.
+ ##
++CC := @CC@
+ CFLAGS := @CFLAGS@
+ CPPFLAGS := @CPPFLAGS@
+ LIBS := @LIBS@ -lX11 -lm
+ LDFLAGS := @LDFLAGS@
++INSTALL_PROGRAM ?= install
+ 
+ prefix = @prefix@
+ exec_prefix = @exec_prefix@
+@@ -86,11 +88,11 @@
+       autoconf
+ 
+ install: TkAnt
+-      install -s TkAnt $(bindir)
+-      install antenna.tcl $(bindir)/antennavis
++      $(INSTALL_PROGRAM) -s TkAnt $(bindir)
++      $(INSTALL_PROGRAM) antenna.tcl $(bindir)/antennavis
+       mkdir -p $(mandir)/man1
+-      install -m 0644 antennavis.1 $(mandir)/man1
+-      install -m 0644 TkAnt.1 $(mandir)/man1
++      $(INSTALL_PROGRAM) -m 0644 antennavis.1 $(mandir)/man1
++      $(INSTALL_PROGRAM) -m 0644 TkAnt.1 $(mandir)/man1
+ 
+ uninstall:
+       -rm -f $(bindir)/TkAnt
diff --minimal -Nru antennavis-0.3.1/debian/patches/series 
antennavis-0.3.1/debian/patches/series
--- antennavis-0.3.1/debian/patches/series      2015-06-27 17:53:34.000000000 
+0200
+++ antennavis-0.3.1/debian/patches/series      2019-03-03 06:12:49.000000000 
+0100
@@ -1,3 +1,4 @@
 00binutils-gold.patch
 01configure-ac.patch
 02rotational_symmetry.patch
+cross.patch
diff --minimal -Nru antennavis-0.3.1/debian/rules antennavis-0.3.1/debian/rules
--- antennavis-0.3.1/debian/rules       2013-10-06 13:43:32.000000000 +0200
+++ antennavis-0.3.1/debian/rules       2019-03-03 06:12:49.000000000 +0100
@@ -14,22 +14,18 @@
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
 CFLAGS = $(shell dpkg-buildflags --get CFLAGS) -Wall -g
-INSTALL_PROGRAM = install
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CFLAGS += -O0
 else
        CFLAGS += -O2
 endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-       INSTALL_PROGRAM += -s
-endif
 
 configure: configure-stamp
 configure-stamp:
        dh_testdir
        # Add here commands to configure the package.
-       CFLAGS="$(CFLAGS)" ./configure --prefix=/usr --mandir=/usr/share/man
+       CFLAGS="$(CFLAGS)" dh_auto_configure
        touch configure-stamp
 
 build: build-arch build-indep
@@ -60,9 +56,8 @@
        dh_testroot
 #      dh_clean -k 
        dh_installdirs 
-       echo $(INSTALL_PROGRAM)
        # Add here commands to install the package into debian/antennavis.
-       $(MAKE) INSTALL_PROGRAM="$(INSTALL_PROGRAM)" 
prefix=$(CURDIR)/debian/antennavis/usr \
+       $(MAKE) INSTALL_PROGRAM='install --strip-program=true' 
prefix=$(CURDIR)/debian/antennavis/usr \
        mandir=$(CURDIR)/debian/antennavis/usr/share/man  install
 
 

Reply via email to