bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] autogen: work around BSD toolchain snafu


From: Eric Blake
Subject: [PATCH] autogen: work around BSD toolchain snafu
Date: Tue, 3 Dec 2013 14:06:15 -0700

With my help on IRC, Roman Bogorodskiy identified a bug where the
BSD autoconf wrapper script eats stdin[1], which in turn causes
autopoint from gettext 0.18.3 to fail to find AM_GNU_GETTEXT_VERSION
within configure.ac[2], with this error:

./bootstrap: autopoint --force
autopoint: *** Missing version: please specify in configure.ac through a line 
'AM_GNU_GETTEXT_VERSION(x.yy.zz)' the gettext version the package is using

[1] http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/184479
[2] 
http://git.sv.gnu.org/cgit/gettext.git/commit/gettext-tools/misc/autopoint.in?id=eea2dddde

We found a workaround - fake the use of an intl subdirectory long
enough for autopoint to get what it wants from that fallback.  This
workaround may eventually move upstream into gnulib's bootstrap;
when it does, we can remove the hack from libvirt's autogen.sh.

* autogen.sh (bootstrap): Force autopoint to work even if autom4te
doesn't.

Signed-off-by: Eric Blake <address@hidden>
---

I tested that this doesn't fall apart on Fedora 19 when running
autogen.sh (autopoint 0.18.2, no autom4te wrapper), but would
like feedback from Roman that it works for his broken toolchain
setup.  I'd also like feedback from gnulib whether we should
fold a similar fix into gnulib's bootstrap, instead of applying
this patch to libvirt.

 autogen.sh | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/autogen.sh b/autogen.sh
index 5aa1990..31e66c0 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -88,9 +88,16 @@ if test -d .git || test -f .git; then
             echo cleaning up submodules...
             git submodule foreach 'git clean -dfqx && git reset --hard'
         fi
+        # work around broken BSD toolchain, where gettext 0.18.3 triggers
+        # a bug with the autom4te wrapper script eating stdin unless
+        # intl/VERSION exists, with contents comparable to configure.ac
+        mkdir -p intl
+        echo gettext-0.17 > intl/VERSION
         echo running bootstrap$no_git...
         ./bootstrap$no_git --bootstrap-sync && bootstrap_hash > $curr_status \
             || { echo "Failed to bootstrap, please investigate."; exit 1; }
+        rm intl/VERSION
+        rmdir -p intl
     fi
 fi

-- 
1.8.3.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]