Bug#875736: glpsol.1 breaks cross building and doesn't tell what glpsol does

Helmut Grohne helmut at subdivi.de
Thu Sep 14 07:43:47 UTC 2017


Source: glpk
Version: 4.63-1
User: helmutg at debian.org
Usertags: rebootstrap

glpk fails to cross build from source:

| help2man -N -n "large-scale linear and mixed integer programming solver" -o debian/tmp/glpsol.1 examples/glpsol
| help2man: can't get `--help' info from examples/glpsol
| Try `--no-discard-stderr' if option outputs to stderr
| debian/rules:10: recipe for target 'override_dh_auto_install' failed
| make[1]: *** [override_dh_auto_install] Error 126
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| debian/rules:4: recipe for target 'binary-arch' failed
| make: *** [binary-arch] Error 2
| dpkg-buildpackage: error: fakeroot debian/rules binary-arch gave error exit status 2

Running help2man is always a bad idea, because it breaks cross
compilation and the manual page is of dubious value. I looked at the
generated one and couldn't figure out what glpsol is supposed to do.

The attached patch adds a script that extracts the --help output from
the source to avoid running it. While that doesn't improve the quality
of the manual page, it makes glpk cross build.

Please consider applying the attached patch or replacing the manual page
with a useful one. A short discussion on #debian-devel revealed that the
preferred solution is to replace it with a version that says what glpsol
does and directs readers to further documentation (e.g. running glpsol
--help or https://en.wikibooks.org/wiki/GLPK/Using_GLPSOL) rather than
extracting it.

Helmut
-------------- next part --------------
diff --minimal -Nru glpk-4.63/debian/changelog glpk-4.63/debian/changelog
--- glpk-4.63/debian/changelog	2017-07-29 10:17:30.000000000 +0200
+++ glpk-4.63/debian/changelog	2017-09-14 09:29:00.000000000 +0200
@@ -1,3 +1,10 @@
+glpk (4.63-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: Don't run help2man on host architecture code. (Closes: #-1)
+
+ -- Helmut Grohne <helmut at subdivi.de>  Thu, 14 Sep 2017 09:29:00 +0200
+
 glpk (4.63-1) unstable; urgency=medium
 
   * New upstream version 4.63
diff --minimal -Nru glpk-4.63/debian/help2man/glpsol glpk-4.63/debian/help2man/glpsol
--- glpk-4.63/debian/help2man/glpsol	1970-01-01 01:00:00.000000000 +0100
+++ glpk-4.63/debian/help2man/glpsol	2017-09-14 09:29:00.000000000 +0200
@@ -0,0 +1,12 @@
+#!/bin/sh
+case "$1" in
+	--help)
+		sed '1,/^static void print_help/d;/^}/,$d;:a;/xprintf[^)]*[^;]*$/{N;ba};s/\n//;s/^\s*//;/^[^x]/d;s/%s/gplsol/;s/, my_name//;s/xprintf("\(.*\)\\n\"\s*)\s*;/\1/;s/"\s*"//;s/\\"/"/g' examples/glpsol.c
+	;;
+	--version)
+		echo "GLPSOL: GLPK LP/MIP Solver, $(dpkg-parsechangelog -SVersion | sed 's/-.*//')"
+	;;
+	*)
+		exit 1
+	;;
+esac
diff --minimal -Nru glpk-4.63/debian/rules glpk-4.63/debian/rules
--- glpk-4.63/debian/rules	2017-07-28 11:55:22.000000000 +0200
+++ glpk-4.63/debian/rules	2017-09-14 09:28:58.000000000 +0200
@@ -8,7 +8,7 @@
 
 override_dh_auto_install:
 	dh_auto_install
-	help2man -N -n "large-scale linear and mixed integer programming solver" -o debian/tmp/glpsol.1 examples/glpsol
+	help2man -N -n "large-scale linear and mixed integer programming solver" -o debian/tmp/glpsol.1 debian/help2man/glpsol
 
 override_dh_makeshlibs:
 	dh_makeshlibs -V


More information about the debian-science-maintainers mailing list