From c7c79e31937e2d2fdb4042641786c229e31fbfae Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 7 Nov 2014 18:20:06 +0100 Subject: [PATCH] build: Add method to use a custom swdb.lst and use adns with Windows. * build-aux/getswdb.sh: Add option --skip-verify. * build-aux/speedo.mk: Add config var CUSTOM_SWDB. Tage adns version from swdb and build for Windows with adns. --- build-aux/getswdb.sh | 27 ++++++++++++++++++++------- build-aux/speedo.mk | 23 +++++++++++++++++------ 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/build-aux/getswdb.sh b/build-aux/getswdb.sh index 8b1d5e5f0..fec9f88cf 100755 --- a/build-aux/getswdb.sh +++ b/build-aux/getswdb.sh @@ -34,6 +34,7 @@ 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. EOF @@ -44,6 +45,7 @@ EOF # Parse options # skip_download=no +skip_verify=no find_sha1sum=no while test $# -gt 0; do case "$1" in @@ -63,6 +65,9 @@ while test $# -gt 0; do --skip-download) skip_download=yes ;; + --skip-verify) + skip_verify=yes + ;; --find-sha1sum) find_sha1sum=yes ;; @@ -96,10 +101,12 @@ fi version=$(cat "$srcdir/../VERSION") version_num=$(echo "$version" | cvtver) -if ! $GPGV --version >/dev/null 2>/dev/null ; then - echo "command \"gpgv\" is not installed" >&2 - echo "(please install an older version of GnuPG)" >&2 - exit 1 +if [ $skip_verify = no ]; then + if ! $GPGV --version >/dev/null 2>/dev/null ; then + echo "command \"gpgv\" is not installed" >&2 + echo "(please install an older version of GnuPG)" >&2 + exit 1 + fi fi # @@ -110,9 +117,11 @@ if [ $skip_download = yes ]; then echo "swdb.lst is missing." >&2 exit 1 fi - if [ ! -f swdb.lst.sig ]; then + if [ $skip_verify = no ]; then + if [ ! -f swdb.lst.sig ]; then echo "swdb.lst.sig is missing." >&2 exit 1 + fi fi else if ! $WGET --version >/dev/null 2>/dev/null ; then @@ -124,14 +133,18 @@ else echo "download of swdb.lst failed." >&2 exit 1 fi - if ! $WGET -q -O swdb.lst.sig "$urlbase/swdb.lst.sig" ; then + if [ $skip_verify = no ]; then + if ! $WGET -q -O swdb.lst.sig "$urlbase/swdb.lst.sig" ; then echo "download of swdb.lst.sig failed." >&2 exit 1 + fi fi fi -if ! $GPGV --keyring "$distsigkey" swdb.lst.sig swdb.lst; then +if [ $skip_verify = no ]; then + if ! $GPGV --keyring "$distsigkey" swdb.lst.sig swdb.lst; then echo "list of software versions is not valid!" >&2 exit 1 + fi fi # diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk index 63d508d88..f9490cb9b 100644 --- a/build-aux/speedo.mk +++ b/build-aux/speedo.mk @@ -58,10 +58,10 @@ help: @echo ' w32-installer Build a Windows installer' @echo ' w32-source Pack a source archive' @echo - @echo 'You may append INSTALL_REFIX= for native builds.' + @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 CUSTOM_SWDB=1 for an already downloaded swdb.lst.' SPEEDOMAKE := $(MAKE) -f $(SPEEDO_MK) UPD_SWDB=1 @@ -113,6 +113,9 @@ TARGETOS= # Set to 1 to build the GUI tools WITH_GUI=0 +# Set to 1 to use a pre-installed swdb.lst instead of the online version. +CUSTOM_SWDB=0 + # Set to 1 to really download the swdb. UPD_SWDB=0 @@ -157,7 +160,7 @@ speedo_spkgs = \ ifeq ($(TARGETOS),w32) speedo_spkgs += \ - zlib bzip2 libiconv gettext + zlib bzip2 adns libiconv gettext endif speedo_spkgs += \ @@ -206,8 +209,13 @@ speedo_make_only_style = \ zlib bzip2 # Get the content of the software DB. +ifeq ($(CUSTOM_SWDB),1) +getswdb_options = --skip-download --skip-verify +else +getswdb_options = +endif ifeq ($(UPD_SWDB),1) -SWDB := $(shell $(topsrc)/build-aux/getswdb.sh && echo okay) +SWDB := $(shell $(topsrc)/build-aux/getswdb.sh $(getswdb_options) && echo okay) ifeq ($(strip $(SWDB)),) $(error Error getting GnuPG software version database) endif @@ -248,6 +256,9 @@ zlib_sha1 := $(shell awk '$$1=="zlib_sha1_gz" {print $$2}' swdb.lst) bzip2_ver := $(shell awk '$$1=="bzip2_ver" {print $$2}' swdb.lst) bzip2_sha1 := $(shell awk '$$1=="bzip2_sha1_gz" {print $$2}' swdb.lst) +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 Libgpg-error ...: $(libgpg_error_ver)) @@ -256,6 +267,7 @@ $(info Libgcrypt ......: $(libgcrypt_ver)) $(info Libassuan ......: $(libassuan_ver)) $(info Zlib ...........: $(zlib_ver)) $(info Bzip2 ..........: $(bzip2_ver)) +$(info ADNS ...........: $(adns_ver)) $(info GPGME ..........: $(gpgme_ver)) $(info Pinentry .......: $(pinentry_ver)) $(info GPA ............: $(gpa_ver)) @@ -264,7 +276,6 @@ endif # Version number for external packages pkg_config_ver = 0.23 -zlib_ver = 1.2.8 libiconv_ver = 1.14 gettext_ver = 0.18.2.1 libffi_ver = 3.0.13 @@ -277,7 +288,6 @@ pixman_ver = 0.32.4 cairo_ver = 1.12.16 gtk__ver = 2.24.17 - # The GIT repository. Using a local repo is much faster. #gitrep = git://git.gnupg.org gitrep = ${HOME}/s @@ -355,6 +365,7 @@ endif speedo_pkg_pkg_config_tar = $(pkg2rep)/pkg-config-$(pkg_config_ver).tar.gz speedo_pkg_zlib_tar = $(pkgrep)/zlib/zlib-$(zlib_ver).tar.gz speedo_pkg_bzip2_tar = $(pkgrep)/bzip2/bzip2-$(bzip2_ver).tar.gz +speedo_pkg_adns_tar = $(pkg10rep)/adns/adns-$(adns_ver).tar.bz2 speedo_pkg_libiconv_tar = $(pkg2rep)/libiconv-$(libiconv_ver).tar.gz speedo_pkg_gettext_tar = $(pkg2rep)/gettext-$(gettext_ver).tar.gz speedo_pkg_libffi_tar = $(pkg2rep)/libffi-$(libffi_ver).tar.gz