Re: [PATCH] autogen: work around BSD toolchain snafu

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

 



  Eric Blake wrote:

> 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 <eblake@xxxxxxxxxx>
> ---
> 
> 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.

It works only when the submodule is not up to date.

When running autogen.sh again it doesn't reach the 'else' clause
you create intl/VERSION in, so it just runs autoreconf and
fails with the same error.

Also, I think we cannot do 'rmdir intl' because it's not empty (scripts
copy over gettext sources there?), so it fails:

rmdir: intl: Directory not empty

>  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
> 

Roman Bogorodskiy

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]