diff --git a/build-aux/getswdb.sh b/build-aux/getswdb.sh index fec9f88cf..e7f6fca77 100755 --- a/build-aux/getswdb.sh +++ b/build-aux/getswdb.sh @@ -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 diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk index 984c9e989..0dd5e2ee6 100644 --- a/build-aux/speedo.mk +++ b/build-aux/speedo.mk @@ -61,6 +61,7 @@ help: @echo 'You may append INSTALL_PREFIX= 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))