]> arthur.barton.de Git - bup.git/commitdiff
configure-version: completely handle _version.py
authorRob Browning <rlb@defaultvalue.org>
Fri, 18 Dec 2015 00:24:48 +0000 (18:24 -0600)
committerRob Browning <rlb@defaultvalue.org>
Fri, 18 Dec 2015 18:41:28 +0000 (12:41 -0600)
Don't rely on the external format-subst.pl script anymore, just generate
_version.py directly.  Delete format-subst.pl and _version.py.pre.

Signed-off-by: Rob Browning <rlb@defaultvalue.org>
Tested-by: Rob Browning <rlb@defaultvalue.org>
configure-version
format-subst.pl [deleted file]
lib/bup/_version.py.pre [deleted file]

index 87126b7ea855888bbf6c38c3dea48bd4c66a5934..fdea6b584c43412aa605ac11522964e8e4988cb0 100755 (executable)
@@ -1,28 +1,46 @@
 #!/usr/bin/env bash
 
-set -eo pipefail
+set -euo pipefail
 
 top="$(pwd)"
-vpy=lib/bup/_version.py
-readonly top vpy
+readonly top
 
 usage()
 {
     echo 'Usage: ./configure-version [--update | --clean]'
 }
 
+update-vpy()
+{
+    declare -r vpy=lib/bup/_version.py
+    rm -f $vpy.tmp-$$
+    local hash date desc
+    hash=$(git log -1 --pretty=format:%H)
+    date=$(git log -1 --pretty=format:%ci)
+    desc=$(git describe --always --match="[0-9]*")
+    cat > $vpy.tmp-$$ <<-EOF
+       COMMIT='$hash'
+       NAMES='(tag: bup-$desc)'
+       DATE='$date'
+       EOF
+    if ! test -e $vpy || ! cmp -s $vpy $vpy.tmp-$$; then
+        mv $vpy.tmp-$$ $vpy;
+    fi
+    rm -f $vpy.tmp-$$
+}
+
 if test "$#" -ne 1; then
     usage 1>&2; exit 1
 fi
 
+if ! test -f lib/bup/bupsplit.c; then
+    echo 'error: cannot find bup source tree' 1>&2
+    exit 1
+fi
+
 case "$1" in
     --update)
-        rm -f $vpy.tmp-$$
-        ./format-subst.pl $vpy.pre > $vpy.tmp-$$
-        if ! test -e $vpy || ! cmp -s $vpy $vpy.tmp-$$; then
-            mv $vpy.tmp-$$ $vpy;
-        fi
-        rm -f $vpy.tmp-$$
+        update-vpy
         ;;
     --clean)
        rm -f lib/bup/_version.py lib/bup/_version.pyc lib/bup/_version.py.tmp-*
diff --git a/format-subst.pl b/format-subst.pl
deleted file mode 100755 (executable)
index 42b255d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env perl
-use warnings;
-use strict;
-
-sub fix($) {
-    my $s = shift;
-    chomp $s;
-    return $s;
-}
-
-sub ex
-{
-  my ($cmd) = @_;
-  my $result = `$cmd` or die 'FAILED: ' . $cmd;
-  return $result;
-}
-
-while (<>) {
-    s{
-       \$Format:\%d\$
-    }{
-       my $tag = fix(ex('git describe --always --match="[0-9]*"'));
-       "(tag: bup-$tag)"
-    }ex;
-    
-    s{ 
-       \$Format:([^\$].*)\$
-    }{
-       fix(ex("git log -1 --pretty=format:'$1'"))
-    }ex;
-    print;
-}
diff --git a/lib/bup/_version.py.pre b/lib/bup/_version.py.pre
deleted file mode 100644 (file)
index 32b02f4..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-
-COMMIT='$Format:%H$'
-NAMES='$Format:%d$'
-DATE='$Format:%ci$'