Source: gradm2
Version: 3.1~201709030627-1
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

gradm2 fails to cross build from source, because it does not pass cross
tools to make. The easiest way of fixing that - using dh_auto_build - is
insufficient though. During make install some targets are rebuilt due to
bad makefile dependencies. Beyond that, make install tries to strip with
the build architecture strip. Doing so also breaks
DEB_BUILD_OPTIONS=nostrip as well as generation of -dbgsym packages. It
is best to defer stripping to dh_strip. Please consider applying the
attached patch to fix all mentioned issues.

Helmut
diff --minimal -Nru gradm2-3.1~201709030627/debian/changelog 
gradm2-3.1~201709030627/debian/changelog
--- gradm2-3.1~201709030627/debian/changelog    2018-04-20 17:20:40.000000000 
+0200
+++ gradm2-3.1~201709030627/debian/changelog    2020-01-06 06:22:19.000000000 
+0100
@@ -1,3 +1,13 @@
+gradm2 (3.1~201709030627-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Let dh_auto_build pass cross tools to make.
+    + cross.patch: Don't rebuild on every make invocation.
+    + Don't strip during make install.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Mon, 06 Jan 2020 06:22:19 +0100
+
 gradm2 (3.1~201709030627-1) unstable; urgency=medium
 
   * New upstream release.
diff --minimal -Nru gradm2-3.1~201709030627/debian/patches/cross.patch 
gradm2-3.1~201709030627/debian/patches/cross.patch
--- gradm2-3.1~201709030627/debian/patches/cross.patch  1970-01-01 
01:00:00.000000000 +0100
+++ gradm2-3.1~201709030627/debian/patches/cross.patch  2020-01-06 
06:22:19.000000000 +0100
@@ -0,0 +1,70 @@
+--- gradm2-3.1~201709030627.orig/Makefile
++++ gradm2-3.1~201709030627/Makefile
+@@ -70,14 +70,10 @@
+ grlearn: grlearn.c gradm_lib.c gradm_globals.c grlearn2_config.tab.c 
lex.grlearn_config.c
+       $(CC) $(CFLAGS) $(CPPFLAGS) -DIS_GRLEARN -o $@ grlearn.c gradm_lib.c 
gradm_globals.c grlearn2_config.tab.c lex.grlearn_config.c $(LIBS) $(LDFLAGS)
+ 
+-grlearn2_config.tab.c grlearn2_config.tab.h: grlearn2_config_tab_c_h_wrapper
+-
+-grlearn2_config_tab_c_h_wrapper: grlearn2_config.y
++grlearn2_config.tab.c grlearn2_config.tab.h: grlearn2_config.y
+       $(YACC) -b grlearn2_config -p grlearn2_config -d ./grlearn2_config.y
+ 
+-grlearn_config.tab.c grlearn_config.tab.h: grlearn_config_tab_c_h_wrapper
+-
+-grlearn_config_tab_c_h_wrapper: grlearn_config.y
++grlearn_config.tab.c grlearn_config.tab.h: grlearn_config.y
+       $(YACC) -b grlearn_config -p grlearn_config -d ./grlearn_config.y
+ 
+ lex.grlearn_config.c: grlearn_config.l
+@@ -85,9 +81,7 @@
+ 
+ lex.grlearn_config.o: lex.grlearn_config.c grlearn_config.tab.h
+ 
+-gradm.tab.c gradm.tab.h: gradm_tab_c_h_wrapper
+-
+-gradm_tab_c_h_wrapper: gradm.y
++gradm.tab.c gradm.tab.h: gradm.y
+       $(YACC) -b gradm -p gradm -d ./gradm.y
+ 
+ lex.gradm.c: gradm.l
+@@ -95,17 +89,13 @@
+ 
+ lex.gradm.o: lex.gradm.c gradm.tab.h
+ 
+-fulllearn_pass1.tab.c fulllearn_pass1.tab.h: fulllearn_pass1_tab_c_h_wrapper
+-
+-fulllearn_pass2.tab.c fulllearn_pass2.tab.h: fulllearn_pass2_tab_c_h_wrapper
+-
+-fulllearn_pass3.tab.c fulllearn_pass3.tab.h: fulllearn_pass3_tab_c_h_wrapper
+-
+-fulllearn_pass1_tab_c_h_wrapper: gradm_fulllearn_pass1.y
++fulllearn_pass1.tab.c fulllearn_pass1.tab.h: gradm_fulllearn_pass1.y
+       $(YACC) -b fulllearn_pass1 -p fulllearn_pass1 -d 
./gradm_fulllearn_pass1.y
+-fulllearn_pass2_tab_c_h_wrapper: gradm_fulllearn_pass2.y
++
++fulllearn_pass2.tab.c fulllearn_pass2.tab.h: gradm_fulllearn_pass2.y
+       $(YACC) -b fulllearn_pass2 -p fulllearn_pass2 -d 
./gradm_fulllearn_pass2.y
+-fulllearn_pass3_tab_c_h_wrapper: gradm_fulllearn_pass3.y
++
++fulllearn_pass3.tab.c fulllearn_pass3.tab.h: gradm_fulllearn_pass3.y
+       $(YACC) -b fulllearn_pass3 -p fulllearn_pass3 -d 
./gradm_fulllearn_pass3.y
+ 
+ lex.fulllearn_pass1.c: gradm_fulllearn_pass1.l
+@@ -121,14 +111,10 @@
+ 
+ lex.fulllearn_pass3.o: lex.fulllearn_pass3.c fulllearn_pass3.tab.h
+ 
+-learn_pass1.tab.c learn_pass1.tab.h: learn_pass1_tab_c_h_wrapper
+-
+-learn_pass1_tab_c_h_wrapper: gradm_learn_pass1.y
++learn_pass1.tab.c learn_pass1.tab.h: gradm_learn_pass1.y
+       $(YACC) -b learn_pass1 -p learn_pass1 -d ./gradm_learn_pass1.y
+ 
+-learn_pass2.tab.c learn_pass2.tab.h: learn_pass2_tab_c_h_wrapper
+-
+-learn_pass2_tab_c_h_wrapper: gradm_learn_pass2.y
++learn_pass2.tab.c learn_pass2.tab.h: gradm_learn_pass2.y
+       $(YACC) -b learn_pass2 -p learn_pass2 -d ./gradm_learn_pass2.y
+ 
+ lex.learn_pass1.c: gradm_learn_pass1.l
diff --minimal -Nru gradm2-3.1~201709030627/debian/patches/series 
gradm2-3.1~201709030627/debian/patches/series
--- gradm2-3.1~201709030627/debian/patches/series       2018-04-20 
17:20:40.000000000 +0200
+++ gradm2-3.1~201709030627/debian/patches/series       2020-01-06 
06:22:19.000000000 +0100
@@ -6,3 +6,4 @@
 15-update-selinux-path.patch
 16-update-udevadm-path.patch
 17-no-libfl.patch
+cross.patch
diff --minimal -Nru gradm2-3.1~201709030627/debian/rules 
gradm2-3.1~201709030627/debian/rules
--- gradm2-3.1~201709030627/debian/rules        2013-03-16 22:04:50.000000000 
+0100
+++ gradm2-3.1~201709030627/debian/rules        2020-01-06 06:22:19.000000000 
+0100
@@ -37,7 +37,7 @@
 
 build-stamp:
        dh_testdir
-       $(MAKE)
+       dh_auto_build
        touch $@
 
 install: install-stamp
@@ -45,7 +45,7 @@
 install-stamp: build
        dh_testdir
 
-       $(MAKE) install DESTDIR=$(DESTDIR)
+       $(MAKE) install DESTDIR=$(DESTDIR) STRIP=true
        install -m644 $(CURDIR)/gradm.8 $(DESTDIR)/usr/share/man/man8/gradm2.8
        rm -rf $(DESTDIR)/dev/
        install -d $(DESTDIR)/usr/share/lintian/overrides/

Reply via email to