diff options
author | Marko Kreen | 2012-12-21 12:47:09 +0000 |
---|---|---|
committer | Marko Kreen | 2012-12-21 13:37:03 +0000 |
commit | c854fd58c356bee949d0e351f2261f7426959093 (patch) | |
tree | 41e6e5d26cff98b9a271f38410c97de94bb10a4e | |
parent | 8a483ce73260f26c0898ecf57c58d5d4ac9e5f11 (diff) |
Check module version consistency.
There are several places where verisons need to be
mentioned, check all of them.
Also let genpg.sh refuse to continue if there is version
mismatch.
-rwxr-xr-x | debian/genpg.sh | 14 | ||||
-rwxr-xr-x | misc/bumpver.py | 22 | ||||
-rwxr-xr-x | misc/bumpver.sh | 14 | ||||
-rwxr-xr-x | misc/checkver.sh | 27 |
4 files changed, 40 insertions, 37 deletions
diff --git a/debian/genpg.sh b/debian/genpg.sh index 48c76571..55e7e79d 100755 --- a/debian/genpg.sh +++ b/debian/genpg.sh @@ -2,7 +2,17 @@ # generate per-version files -test -f debian/genpg.sh && cd debian +test -f debian/genpg.sh || { + echo "$0: Run it from top-level directory" + exit 1 +} + +./misc/checkver.sh || { + echo "$0: versions out of sync, stop" + exit 1 +} + +cd debian for v in 8.3 8.4 9.0 9.1 9.2; do @@ -60,3 +70,5 @@ if test "$v" = "9.1" -o "$v" = "9.2"; then fi done + +exit 0 diff --git a/misc/bumpver.py b/misc/bumpver.py deleted file mode 100755 index d99553e0..00000000 --- a/misc/bumpver.py +++ /dev/null @@ -1,22 +0,0 @@ -#! /usr/bin/env python - -import sys, re - -def inc(m): - v = int(m.group(1)) - return str(v + 1) + "'" - -func = open(sys.argv[1], 'r').read() - -rc = re.compile(r"([0-9]+)'") -nfunc = rc.sub(inc, func) - -rc2 = re.compile(r"'([0-9.]+)'") -nver = rc2.search(nfunc).group(1) - -#print func -#print nfunc -print nver - -open(sys.argv[1], 'w').write(nfunc) - diff --git a/misc/bumpver.sh b/misc/bumpver.sh deleted file mode 100755 index bf2b48f0..00000000 --- a/misc/bumpver.sh +++ /dev/null @@ -1,14 +0,0 @@ -#! /bin/sh - -for s in pgq pgq_node pgq_coop londiste pgq_ext; do - sver=$(git log --raw -n 1 sql/$s/functions | head -1) - fn="sql/$s/functions/$s.version.sql" - fver=$(git log --raw -n 1 "$fn" | head -1) - test "$sver" = "$fver" && continue - - echo "$s needs new version" - #nver=`./misc/bumpver.py "$fn"` - #git commit -m "$s.version(): $nver" "$fn" -done - -grep 'return ' sql/*/functions/*.version.sql diff --git a/misc/checkver.sh b/misc/checkver.sh new file mode 100755 index 00000000..3868ac9f --- /dev/null +++ b/misc/checkver.sh @@ -0,0 +1,27 @@ +#! /bin/sh + +err=0 + +for s in pgq pgq_node pgq_coop londiste pgq_ext; do + code_hash=$(git log --raw -n 1 sql/$s/functions | head -1) + fn="sql/$s/functions/$s.version.sql" + ver_hash=$(git log --raw -n 1 "$fn" | head -1) + test "${code_hash}" = "${ver_hash}" || echo "$s has code changes, needs new version" + + ver_func=$(sed -n "s/.*return *'\(.*\)';/\1/;T;p" $fn) + ver_control=$(sed -n "s/default_version = '\(.*\)'/\1/;T;p" sql/$s/$s.control) + ver_make=$(sed -n "s/EXT_VERSION = \(.*\)/\1/;T;p" sql/$s/Makefile) + + if test "${ver_func}|${ver_control}" = "${ver_make}|${ver_make}"; then + echo "$s: $ver_control" + else + echo "$s: version mismatch" + echo " Makefile: $ver_make" + echo " version(): $ver_func" + echo " control: $ver_control" + err=1 + fi +done + +exit $err + |