[adding-gnulib] On 10/18/2012 06:50 AM, Peter Rosin wrote: > Hi! > > I used to use a libtool git checkout from a platform that lacks > git [MSYS], but that broke at some point. I would like something > like the below to unbreak my work flow. > > Please? > > Cheers, > Peter > > diff --git a/Makefile.am b/Makefile.am > index 176325c..3bcb419 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -46,7 +46,7 @@ EXTRA_LTLIBRARIES = > # Using `cd' in backquotes may print the directory name, use this instead: > lt__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd > > -git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '.tarball-version' > +git_version_gen = '$(SHELL)' '$(aux_dir)/git-version-gen' '--fallback' > '$(VERSION)' '.tarball-version'
I'm not sure that makes sense - git-version-gen is ALREADY supposed to use the contents of .tarball-version as the fallback version. > rebuild = rebuild=:; revision=`$(lt__cd) $(srcdir) && $(git_version_gen) | > sed 's|-.*$$||g'` > > > @@ -128,8 +128,10 @@ $(ltversion_m4): $(ltversion_in) $(dotversion) > done; \ > if $$rebuild; then \ > rm -f '$@'; \ > - if test -f '$(srcdir)/.serial'; then \ > - serial=`cat '$(srcdir)/.serial'`; \ > + if test -d '$(srcdir)/.git' && git --version >& /dev/null; then \ > + $(git_commit_count) > '$(srcdir)/.serial'; \ > + fi; \ > + serial=`cat '$(srcdir)/.serial'`; \ However, something like this would be useful in libtool. > else \ > serial=`$(git_commit_count)`; \ > fi; \ > > > > And then some support for that in gnulib: > > --- gnulib/build-aux/git-version-gen.orig 2012-10-02 17:10:58.935840500 > +0200 > +++ gnulib/build-aux/git-version-gen 2012-10-18 14:41:57.458460000 +0200 > @@ -86,6 +86,7 @@ > Options: > > --prefix prefix of git tags (default 'v') > + --fallback fallback version to use if \"git --version\" fails > > --help display this help and exit > --version output version information and exit > @@ -93,12 +94,14 @@ > Running without arguments will suffice in most cases." > > prefix=v > +fallback= > > while test $# -gt 0; do > case $1 in > --help) echo "$usage"; exit 0;; > --version) echo "$version"; exit 0;; > --prefix) shift; prefix="$1";; > + --fallback) shift; fallback="$1";; > -*) > echo "$0: Unknown option '$1'." >&2 > echo "$0: Try '--help' for more information." >&2 > @@ -184,8 +187,10 @@ > # Remove the "g" in git describe's output string, to save a byte. > v=`echo "$v" | sed 's/-/./;s/\(.*\)-g/\1-/'`; > v_from_git=1 > -else > +elif test -z "$fallback" || git --version >& /dev/null; then > v=UNKNOWN > +else > + v=$fallback Again, I'm not sure if $fallback makes sense, since the .tarball-version file is already supposed to provide that. > fi > > v=`echo "$v" |sed "s/^$prefix//"` > --- gnulib/top/maint.mk.orig 2012-10-02 17:10:43.846614700 +0200 > +++ gnulib/top/maint.mk 2012-10-18 14:41:53.433652900 +0200 > @@ -1327,7 +1327,7 @@ > > .PHONY: no-submodule-changes > no-submodule-changes: > - $(AM_V_GEN)if test -d $(srcdir)/.git; then \ > + $(AM_V_GEN)if test -d $(srcdir)/.git && git --version >& /dev/null; > then \ > diff=$$(cd $(srcdir) && git submodule -q foreach \ However, this change probably makes sense in gnulib. > git diff-index --name-only HEAD) \ > || exit 1; \ > @@ -1345,7 +1345,7 @@ > # cannot be built from a fresh clone. > .PHONY: public-submodule-commit > public-submodule-commit: > - $(AM_V_GEN)if test -d $(srcdir)/.git; then \ > + $(AM_V_GEN)if test -d $(srcdir)/.git && git --version >& /dev/null; > then \ As does this (although wrapping both changes to avoid long lines would be preferable). > cd $(srcdir) && \ > git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \ > = '$$(git merge-base origin $$sha1)' \ > > > -- Eric Blake ebl...@redhat.com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature