Hello,

Coreutils' bootstrap script fails (in a freshly cloned directory) with gettext 
0.18.3.1.

This has been discussed few times on the mailing list:
http://lists.gnu.org/archive/html/coreutils/2013-11/msg00038.html
http://lists.gnu.org/archive/html/bug-coreutils/2014-01/msg00058.html
http://lists.gnu.org/archive/html/bug-coreutils/2014-04/msg00106.html

And already resolved (with recommendation to upgrade to 0.18.3.2):
http://savannah.gnu.org/bugs/?40083
https://bugs.launchpad.net/ubuntu/+source/gettext/+bug/1311895

But version 0.18.3.1 is still "out there" and hasn't been upgraded in several 
distributions.

Would you be receptive to add the following minor work-around for "bootstrap" ?
It creates the two needed files, which allows "autopoint" to continue, then 
"gnulib" immediately overrides them with the correct versions.

Comments are welcomed,
 - gordon

P.S.
So far I have only tested it on Ubuntu 14.04 (with gettext 0.18.3.1) and Debian 
7 (with gettext 0.18.1.1-9).




>From 3186927f477b12ad5ce3d184047336c382432226 Mon Sep 17 00:00:00 2001
From: "Assaf Gordon" <[email protected]>
Date: Fri, 2 May 2014 20:17:06 -0400
Subject: [PATCH] build: avoid bootstrap error with gettext 0.18.3.1

* bootstrap: Create critical bootstrap files for autopoint,
before gnulib re-generates them.
This avoids a bug in gettext/autopoint version 0.18.3.1 (which
is advertised as 0.18.3).
See:
http://lists.gnu.org/archive/html/coreutils/2013-11/msg00038.html
http://savannah.gnu.org/bugs/?40083
https://bugs.launchpad.net/ubuntu/+source/gettext/+bug/1311895
---
 bootstrap | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/bootstrap b/bootstrap
index ce90bc4..81b576d 100755
--- a/bootstrap
+++ b/bootstrap
@@ -807,6 +807,20 @@ version_controlled_file() {
   fi
 }
 
+
+# Work-around for gettext/autopoint bug in version 0.18.3.1:
+# Create dummy 'm4/cu-progs.m4' and 'build-aux/git-version-gen'
+# to avoid 'bootstrap' failure.
+# http://lists.gnu.org/archive/html/coreutils/2013-11/msg00038.html
+autopoint_version=$(get_version $AUTOPOINT)
+if test "$autopoint_version" = "0.18.3" ; then
+  test -e 'm4/cu-progs.m4' || touch 'm4/cu-progs.m4'
+  if ! test -e 'build-aux/git-version-gen' ; then
+    printf "#!/bin/sh\n" > 'build-aux/git-version-gen'
+    chmod a+x 'build-aux/git-version-gen'
+  fi
+fi
+
 # NOTE: we have to be careful to run both autopoint and libtoolize
 # before gnulib-tool, since gnulib-tool is likely to provide newer
 # versions of files "installed" by these two programs.
-- 
1.9.1

Reply via email to