speedo: Add make option SELFCHECK=0 to build a new release.
authorWerner Koch <wk@gnupg.org>
Tue, 12 May 2015 12:27:14 +0000 (14:27 +0200)
committerWerner Koch <wk@gnupg.org>
Tue, 12 May 2015 12:27:14 +0000 (14:27 +0200)
* build-aux/getswdb.sh: Add option --skip-selfcheck.
* build-aux/speedo.mk: Add option SELFCHECK.

build-aux/getswdb.sh
build-aux/speedo.mk

index fec9f88..e7f6fca 100755 (executable)
@@ -33,10 +33,11 @@ usage()
 Usage: $(basename $0) [OPTIONS]
 Get the online version of the GnuPG software version database
 Options:
-    --skip-download  Assume download has already been done.
-    --skip-verify    Do not check signatures
-    --find-sha1sum   Print the name of the sha1sum utility
-    --help           Print this help.
+    --skip-download    Assume download has already been done.
+    --skip-verify      Do not check signatures
+    --skip-selfcheck   Do not check GnuPG version
+    --find-sha1sum     Print the name of the sha1sum utility
+    --help             Print this help.
 EOF
     exit $1
 }
@@ -46,6 +47,7 @@ EOF
 #
 skip_download=no
 skip_verify=no
+skip_selfcheck=no
 find_sha1sum=no
 while test $# -gt 0; do
     case "$1" in
@@ -68,6 +70,9 @@ while test $# -gt 0; do
         --skip-verify)
             skip_verify=yes
             ;;
+        --skip-selfcheck)
+            skip_selfcheck=yes
+            ;;
         --find-sha1sum)
             find_sha1sum=yes
             ;;
@@ -151,15 +156,17 @@ fi
 # Check that the online version of GnuPG is not less than this version
 # to help detect rollback attacks.
 #
-gnupg_ver=$(awk '$1=="gnupg21_ver" {print $2;exit}' swdb.lst)
-if [ -z "$gnupg_ver" ]; then
-    echo "GnuPG 2.1 version missing in swdb.lst!" >&2
-    exit 1
-fi
-gnupg_ver_num=$(echo "$gnupg_ver" | cvtver)
-if [ $(( $gnupg_ver_num >= $version_num )) = 0 ]; then
-    echo "GnuPG version in swdb.lst is less than this version!" >&2
-    echo "  This version: $version" >&2
-    echo "  SWDB version: $gnupg_ver" >&2
-    exit 1
+if [ $skip_selfcheck = no ]; then
+  gnupg_ver=$(awk '$1=="gnupg21_ver" {print $2;exit}' swdb.lst)
+  if [ -z "$gnupg_ver" ]; then
+      echo "GnuPG 2.1 version missing in swdb.lst!" >&2
+      exit 1
+  fi
+  gnupg_ver_num=$(echo "$gnupg_ver" | cvtver)
+  if [ $(( $gnupg_ver_num >= $version_num )) = 0 ]; then
+      echo "GnuPG version in swdb.lst is less than this version!" >&2
+      echo "  This version: $version" >&2
+      echo "  SWDB version: $gnupg_ver" >&2
+      exit 1
+  fi
 fi
index 984c9e9..0dd5e2e 100644 (file)
@@ -61,6 +61,7 @@ help:
        @echo 'You may append INSTALL_PREFIX=<dir> for native builds.'
        @echo 'Prepend TARGET with "git-" to build from GIT repos.'
        @echo 'Prepend TARGET with "this-" to build from the source tarball.'
+       @echo 'Use SELFCHECK=0 for a non-released version.'
        @echo 'Use CUSTOM_SWDB=1 for an already downloaded swdb.lst.'
 
 SPEEDOMAKE := $(MAKE) -f $(SPEEDO_MK) UPD_SWDB=1
@@ -119,6 +120,9 @@ CUSTOM_SWDB=0
 # Set to 1 to really download the swdb.
 UPD_SWDB=0
 
+# Set to 0 to skip the GnuPG version self-check
+SELFCHECK=1
+
 # Set to the location of the directory with tarballs of
 # external packages.
 TARBALLS=$(shell pwd)/../tarballs
@@ -230,6 +234,9 @@ getswdb_options = --skip-download --skip-verify
 else
 getswdb_options =
 endif
+ifeq ($(SELFCHECK),0)
+getswdb_options += --skip-selfcheck
+endif
 ifeq ($(UPD_SWDB),1)
 SWDB := $(shell $(topsrc)/build-aux/getswdb.sh $(getswdb_options) && echo okay)
 ifeq ($(strip $(SWDB)),)
@@ -239,7 +246,9 @@ endif
 endif
 
 # Version numbers of the released packages
-gnupg_ver = $(shell cat $(topsrc)/VERSION)
+gnupg_ver_this = $(shell cat $(topsrc)/VERSION)
+
+gnupg_ver        := $(shell awk '$$1=="gnupg21_ver" {print $$2}' swdb.lst)
 
 libgpg_error_ver := $(shell awk '$$1=="libgpg_error_ver" {print $$2}' swdb.lst)
 libgpg_error_sha1:= $(shell awk '$$1=="libgpg_error_sha1" {print $$2}' swdb.lst)
@@ -278,7 +287,7 @@ adns_ver  := $(shell awk '$$1=="adns_ver" {print $$2}' swdb.lst)
 adns_sha1 := $(shell awk '$$1=="adns_sha1" {print $$2}' swdb.lst)
 
 $(info Information from the version database)
-$(info GnuPG ..........: $(gnupg_ver))
+$(info GnuPG ..........: $(gnupg_ver) (building $(gnupg_ver_this)))
 $(info Libgpg-error ...: $(libgpg_error_ver))
 $(info Npth ...........: $(npth_ver))
 $(info Libgcrypt ......: $(libgcrypt_ver))