[git] GnuPG - branch, master, updated. gnupg-2.1.0beta3-280-ga55ffb9

by Werner Koch cvs at cvs.gnupg.org
Thu Jan 9 20:12:46 CET 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU Privacy Guard".

The branch, master has been updated
       via  a55ffb9da9a844bd2bd73a4a2ea65bf18b21c57f (commit)
       via  5be845448074b94c9a346c6b53e022403fe5f59e (commit)
       via  00d5d2204cefb0f4b953e0c00448f16aab2d39c7 (commit)
       via  fa318406c9bdb60aee1e1b410e4c9e0b3eb1392e (commit)
      from  477aabaf753f987987f7a2e1f999a499ea3bd103 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a55ffb9da9a844bd2bd73a4a2ea65bf18b21c57f
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 9 19:14:09 2014 +0100

    Improve the speedo make script.
    
    * scripts/gpg-w32-dev/README: Remove
    * scripts/gpg-w32-dev/GNUmakefile, scripts/gpg-w32-dev/speedo.mk:
    Merge into ..
    * scripts/speedo.mk: this.
    --
    
    Speedo may now be used to build from GIT or tarballs and has a couple
    of other improvements as well.  For best results the autogen.sh files
    of all source package should be updated to the one used in gnupg.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/Makefile.am b/Makefile.am
index c9a7b50..08b5d32 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,7 +26,8 @@ GITLOG_TO_CHANGELOG=gitlog-to-changelog
 EXTRA_DIST = scripts/config.rpath scripts/potomo autogen.sh README.GIT \
 	     ChangeLog-2011 po/ChangeLog-2011 scripts/ChangeLog-2011 \
 	     scripts/gitlog-to-changelog \
-	     scripts/git-log-fix scripts/git-log-footer
+	     scripts/git-log-fix scripts/git-log-footer \
+	     scripts/speedo.mk
 DISTCLEANFILES = g10defs.h
 
 if BUILD_GPGSM
diff --git a/scripts/gpg-w32-dev/GNUmakefile b/scripts/gpg-w32-dev/GNUmakefile
deleted file mode 100644
index 10ba92f..0000000
--- a/scripts/gpg-w32-dev/GNUmakefile
+++ /dev/null
@@ -1,142 +0,0 @@
-# Makefile - Makefile for speedo
-# Copyright (C) 2008 g10 Code GmbH
-# 
-# This file is part of speedo.
-# 
-# speedo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# speedo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-# speedo builds gnupg-related packages from SVN and installs them in a
-# user directory, thereby providing a non-obstrusive test environment.
-# The build system is similar to that of gpg4win.  The following commands
-# are supported:
-#
-# make all  or  make
-#
-# Builds all packages and installs them under playground/install.
-# At the end, speedo prints commands that can be executed in the local shell
-# to make use of the installed packages.
-#
-# make clean  or  make clean-PACKAGE
-#
-# Removes all packages or the package PACKAGE from the installation
-# and build tree.  A subsequent make will rebuild these (and only
-# these) packages.
-#
-# make report  or make report-PACKAGE
-#
-# Lists packages and versions.
-#
-# make dist
-# 
-# Create a development ZIP archive.
-
-
-# --------
-
-# The packages that should be built.  The order is also the build order.
-speedo_spkgs = libgpg-error libgcrypt libassuan libksba gpgme
-
-# For each package, the following variables can be defined:
-#
-# speedo_pkg_PACKAGE_svn: The SVN repository that should be built.
-# Branches or specific revisions can also be specified.
-#
-# speedo_pkg_PACKAGE_tar: URL to the tar file that should be built.
-# 
-# Exactly one of the above variables is required.  Note that this
-# version of speedo does not cache repositories or tar files, and does
-# not test the integrity of the downloaded software.  If you care
-# about this, you can also specify filenames to locally verified files.
-# Filenames are differentiated from URLs by starting with a slash '/'.
-#
-# speedo_pkg_PACKAGE_configure: Extra arguments to configure.
-#
-# speedo_pkg_PACKAGE_make_args: Extra arguments to make.
-#
-# speedo_pkg_PACKAGE_make_args_inst: Extra arguments to make install.
-#
-# Note that you can override the defaults in this file in a local file
-# "config.mk"
-
-# Set this to "svn" or "release".
-WHAT=release
-
-ifeq ($(WHAT),svn)
-  svnrep = svn://cvs.gnupg.org/
-  speedo_pkg_libgpg_error_svn = $(svnrep)/libgpg-error/trunk
-  speedo_pkg_libassuan_svn = $(svnrep)/libassuan/trunk
-  speedo_pkg_libgcrypt_svn = $(svnrep)/libgcrypt/trunk
-  speedo_pkg_libksba_svn = $(svnrep)/libksba/trunk
-  speedo_pkg_gpgme_svn = $(svnrep)/gpgme/trunk
-else
-  pkgrep = ftp://ftp.gnupg.org/gcrypt
-  speedo_pkg_libgpg_error_tar = $(pkgrep)/libgpg-error/libgpg-error-1.8.tar.bz2
-  speedo_pkg_libassuan_tar = $(pkgrep)/libassuan/libassuan-2.0.0.tar.bz2
-  speedo_pkg_libgcrypt_tar = $(pkgrep)/libgcrypt/libgcrypt-1.4.6.tar.bz2
-  speedo_pkg_libksba_tar = $(pkgrep)/libksba/libksba-1.0.7.tar.bz2
-  speedo_pkg_gpgme_tar = $(pkgrep)/gpgme/gpgme-1.3.0.tar.bz2
-endif
-
-speedo_pkg_gnupg_configure = --with-pinentry-pgm=$(idir)/bin/pinentry \
-  --with-dirmngr-pgm=$(idir)/bin/dirmngr
-
-speedo_pkg_dirmngr_configure = --localstatedir=/var --sysconfdir=/etc \
-  --with-libgcrypt-prefix=$(idir) --with-gpg-error-prefix=$(idir) \
-  --with-libassuan-prefix=$(idir) --with-libksba-prefix=$(idir)
-
-speedo_pkg_gpgme_configure = --with-gpg=$(idir)/bin/gpg2	\
-	--with-gpgsm=$(idir)/bin/gpgsm				\
-	--with-gpgconf=$(idir)/bin/gpgconf
-
-speedo_pkg_pinentry_configure = --disable-pinentry-qt4
-
-speedo_pkg_libgcrypt_configure = --disable-static
-
-speedo_pkg_libksba_configure = --disable-static
-
-
-# ---------
-
-all: all-speedo
-	@echo export PATH=\"$(idir)/bin\":\$$PATH
-	@echo export LD_LIBRARY_PATH=\"$(idir)/lib\":\$$LD_LIBRARY_PATH
-	@echo hash -r
-
-report: report-speedo
-
-clean: clean-speedo
-
-
-dist: all
-	set -e; date=$$(date -u +%Y%m%d); pkgname=gpg-w32-dev-$$date; \
-	rm -rf $$pkgname $${pkgname}.zip || true; \
-	cp -rL playground/install $${pkgname}; \
-	rm -r $${pkgname}/share/info || true; \
-	mkdir -p $${pkgname}/share/doc/gpg-w32-dev ;\
-	echo "Included versions:" > $${pkgname}/README.txt ; \
-	echo ""                   >> $${pkgname}/README.txt ; \
-	$(MAKE) --no-print-directory report \
-              | awk '{print $$2}' >> $${pkgname}/README.txt ; \
-	cp GNUmakefile speedo.mk $${pkgname}/README.txt \
-                  $${pkgname}/share/doc/gpg-w32-dev/ ; \
-	i586-mingw32msvc-strip $${pkgname}/bin/*.dll ; \
-	zip -r9 $${pkgname}.zip $${pkgname} >/dev/null ; \
-	rm -rf $$pkgname; \
-	echo "$$pkgname.zip ready for distribution" >&2
-
-
-speedo_build_list = $(speedo_spkgs)
-
--include config.mk
-include speedo.mk
diff --git a/scripts/gpg-w32-dev/README b/scripts/gpg-w32-dev/README
deleted file mode 100644
index ac2ffeb..0000000
--- a/scripts/gpg-w32-dev/README
+++ /dev/null
@@ -1,6 +0,0 @@
-These makefiles are used to build a simple development package of
-GnuPG related libraries for Windoze.  The ZIP archive includes only
-the binaries, import libraries and header files.  On a file server you
-should keep the original source tarballs close to the archive file and
-explain where to find the sources.  GNU make is required.
-
diff --git a/scripts/gpg-w32-dev/speedo.mk b/scripts/gpg-w32-dev/speedo.mk
deleted file mode 100644
index 4e0e63a..0000000
--- a/scripts/gpg-w32-dev/speedo.mk
+++ /dev/null
@@ -1,168 +0,0 @@
-# speedo.mk - Speedo rebuilds speedily.
-# Copyright (C) 2008 g10 Code GmbH
-# 
-# This file is part of speedo.
-# 
-# speedo is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-# 
-# speedo is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, see <http://www.gnu.org/licenses/>.
-
-MKDIR=mkdir
-STOW=stow
-
-# These paths must be absolute, as we switch directories pretty often.
-root := $(shell pwd)/playground
-bdir := $(root)/build
-idir := $(root)/install
-ipdir := $(root)/install/pkgs
-
-# The playground area is our scratch area, where we unpack, build and
-# install the packages.
-stamps/stamp-directories:
-	$(MKDIR) stamps
-	$(MKDIR) playground
-	$(MKDIR) $(bdir)
-	$(MKDIR) $(idir)
-	#$(MKDIR) $(ipdir)
-	touch stamps/stamp-directories
-
-# Frob the name $1 by converting all '-' and '+' characters to '_'.
-define FROB_macro
-$(subst +,_,$(subst -,_,$(1)))
-endef
-
-# Get the variable $(1) (which may contain '-' and '+' characters).
-define GETVAR
-$($(call FROB_macro,$(1)))
-endef
-
-# Set a couple of common variables.
-define SETVARS
-	pkg="$(1)";							\
-	svn="$(call GETVAR,speedo_pkg_$(1)_svn)";			\
-	tar="$(call GETVAR,speedo_pkg_$(1)_tar)";			\
-	pkgsdir="$(bdir)/$(1)";						\
-	pkgbdir="$(bdir)/$(1)-build";					\
-	pkgidir="$(ipdir)/$(1)";					\
-	pkgcfg="$(call GETVAR,speedo_pkg_$(1)_configure)";		\
-	pkgmkargs="$(call GETVAR,speedo_pkg_$(1)_make_args)";           \
-	pkgmkargs_inst="$(call GETVAR,speedo_pkg_$(1)_make_args_inst)"; \
-	export PATH="$(idir)/bin:$${PATH}";				\
-	export LD_LIBRARY_PATH="$(idir)/lib:$${LD_LIBRARY_PATH}"
-endef
-
-
-# Template for source packages.
-
-define SPKG_template
-
-stamps/stamp-$(1)-00-unpack: stamps/stamp-directories 
-	(cd $(bdir);					\
-	 $(call SETVARS,$(1));				\
-	 if [ -n "$$$${svn}" ]; then			\
-           svn checkout "$$$${svn}" "$$$${pkg}";	\
-	   cd "$$$${pkg}";				\
-	   ./autogen.sh;				\
-         elif [ -n "$$$${tar}" ]; then			\
-           case "$$$${tar}" in				\
-             (*.gz) opt=z ;;				\
-             (*.bz2) opt=j ;;				\
-             (*) opt= ;;				\
-           esac;					\
-           case "$$$${tar}" in				\
-	     (/*) cmd=cat ;;				\
-	     (*) cmd="wget -q -O -" ;;			\
-	   esac;					\
-	   $$$${cmd} "$$$${tar}" | tar x$$$${opt}f - ;	\
-	   base=`echo "$$$${tar}" | sed -e 's,^.*/,,'   \
-                 | sed -e 's,\.tar.*$$$$,,'`;		\
-	   mv $$$${base} $(1);				\
-         fi)
-	touch stamps/stamp-$(1)-00-unpack
-
-stamps/stamp-$(1)-01-configure: stamps/stamp-$(1)-00-unpack
-	($(call SETVARS,$(1));				\
-	 mkdir "$$$${pkgbdir}";				\
-	 cd "$$$${pkgbdir}";				\
-	 eval "../$$$${pkg}/configure"			\
-		--enable-maintainer-mode		\
-		--prefix="$(idir)"		\
-		--host=i586-mingw32msvc		\
-		$$$${pkgcfg})
-	touch stamps/stamp-$(1)-01-configure
-
-stamps/stamp-$(1)-02-make: stamps/stamp-$(1)-01-configure
-	($(call SETVARS,$(1));				\
-	  cd "$$$${pkgbdir}";				\
-	  $(MAKE) $$$${pkgmkargs})
-	touch stamps/stamp-$(1)-02-make
-
-# Note that post_install must come last because it may be empty and
-# "; ;" is a syntax error.
-stamps/stamp-$(1)-03-install: stamps/stamp-$(1)-02-make
-	($(call SETVARS,$(1));				\
-	  cd "$$$${pkgbdir}";				\
-	  $(MAKE) $$$${pkgmkargs_inst} install-strip ; \
-	  $(call gpg4win_pkg_$(call FROB_macro,$(1))_post_install))
-	touch stamps/stamp-$(1)-03-install
-
-stamps/stamp-final-$(1): stamps/stamp-$(1)-03-install
-	touch stamps/stamp-final-$(1)
-
-.PHONY : clean-$(1)
-clean-$(1):
-	($(call SETVARS,$(1));				\
-	 (cd $(ipdir) &&				\
-	  ($(STOW) -D "$$$${pkg}";			\
-	   rm -fR "$$$${pkg}"));			\
-	 rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
-	rm -f stamps/stamp-final-$(1) stamps/stamp-$(1)-*
-
-.PHONY : report-$(1)
-report-$(1):
-	@($(call SETVARS,$(1));				\
-	 echo -n $(1):\  ;				\
-	 if [ -n "$$$${svn}" ]; then			\
-           if [ -e .svn ]; then				\
-	     cd $(bdir)/$(1) &&				\
-             svn info | grep Repository ;		\
-	   else						\
-             echo missing;				\
-	   fi						\
-         elif [ -n "$$$${tar}" ]; then			\
-	   base=`echo "$$$${tar}" | sed -e 's,^.*/,,'   \
-                 | sed -e 's,\.tar.*$$$$,,'`;		\
-	   echo $$$${base} ;				\
-         fi)
-
-endef
-
-
-# Insert the template for each source package.
-$(foreach spkg, $(speedo_spkgs), $(eval $(call SPKG_template,$(spkg))))
-
-stamps/stamp-final: stamps/stamp-directories
-stamps/stamp-final: $(addprefix stamps/stamp-final-,$(speedo_build_list))
-	touch stamps/stamp-final
-
-all-speedo: stamps/stamp-final
-
-report-speedo: $(addprefix report-,$(speedo_build_list))
-
-# Just to check if we catched all stamps.
-clean-stamps:
-	$(RM) -fR $(stamps)
-
-clean-speedo:
-	$(RM) -fR playground stamps
-
-.PHONY : all-speedo report-speedo clean-stamps clean-speedo
diff --git a/scripts/speedo.mk b/scripts/speedo.mk
new file mode 100644
index 0000000..4148002
--- /dev/null
+++ b/scripts/speedo.mk
@@ -0,0 +1,364 @@
+# speedo.mk - Speedo rebuilds speedily.
+# Copyright (C) 2008, 2014 g10 Code GmbH
+#
+# speedo is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# speedo is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+# speedo builds gnupg-related packages from GIT and installs them in a
+# user directory, thereby providing a non-obstrusive test environment.
+# speedo does only work with GNU make.  The build system is similar to
+# that of gpg4win.  The following commands are supported:
+#
+#   make -f speedo.mk all
+# or
+#   make -f speedo.mk
+#
+# Builds all packages and installs them under play/inst.  At the end,
+# speedo prints commands that can be executed in the local shell to
+# make use of the installed packages.
+#
+#   make -f speedo.mk clean
+# or
+#   make -f speedo.mk clean-PACKAGE
+#
+# Removes all packages or the package PACKAGE from the installation
+# and build tree.  A subsequent make will rebuild these (and only
+# these) packages.
+#
+#   make -f speedo.mk report
+# or
+#   make -f speedo.mk report-PACKAGE
+#
+# Lists packages and versions.
+#
+
+
+
+# --------
+
+# The packages that should be built.  The order is also the build order.
+speedo_spkgs = libgpg-error npth libgcrypt libassuan libksba gnupg gpgme gpa
+
+# version numbers of the released packages
+# Fixme: Take the version numbers from gnupg-doc/web/swdb.mac
+libgpg_error_ver = 1.12
+npth_ver = 0.91
+libgcrypt_ver = 1.6.0
+libassuan_ver = 2.1.1
+libksba_ver = 1.3.0
+gnupg_ver = 2.0.22
+gpgme_ver = 1.5.0
+gpa_ver = 0.9.5
+
+# The GIT repository.  Using a local repo is much faster.
+#gitrep = git://git.gnupg.org
+gitrep = ${HOME}/s
+
+
+# For each package, the following variables can be defined:
+#
+# speedo_pkg_PACKAGE_git: The GIT repository that should be built.
+# speedo_pkg_PACKAGE_gitref: The GIT revision to checkout
+#
+# speedo_pkg_PACKAGE_tar: URL to the tar file that should be built.
+#
+# Exactly one of the above variables is required.  Note that this
+# version of speedo does not cache repositories or tar files, and does
+# not test the integrity of the downloaded software.  If you care
+# about this, you can also specify filenames to locally verified files.
+# Filenames are differentiated from URLs by starting with a slash '/'.
+#
+# speedo_pkg_PACKAGE_configure: Extra arguments to configure.
+#
+# speedo_pkg_PACKAGE_make_args: Extra arguments to make.
+#
+# speedo_pkg_PACKAGE_make_args_inst: Extra arguments to make install.
+#
+# Note that you can override the defaults in this file in a local file
+# "config.mk"
+
+# Set this to "git" or "release".
+WHAT=release
+
+# Set target to "native" or "w32"
+TARGETOS=native
+
+#  Number of parallel make jobs
+MAKE_J=3
+
+ifeq ($(WHAT),git)
+  speedo_pkg_libgpg_error_git = $(gitrep)/libgpg-error
+  speedo_pkg_libgpg_error_gitref = master
+  speedo_pkg_npth_git = $(gitrep)/npth
+  speedo_pkg_npth_gitref = master
+  speedo_pkg_libassuan_git = $(gitrep)/libassuan
+  speedo_pkg_libassuan_gitref = master
+  speedo_pkg_libgcrypt_git = $(gitrep)/libgcrypt
+  speedo_pkg_libgcrypt_gitref = master
+  speedo_pkg_libksba_git = $(gitrep)/libksba
+  speedo_pkg_libksba_gitref = master
+  speedo_pkg_gnupg_git = $(gitrep)/gnupg
+  speedo_pkg_gnupg_gitref = master
+  speedo_pkg_gpgme_git = $(gitrep)/gpgme
+  speedo_pkg_gpgme_gitref = master
+  speedo_pkg_gpa_git = $(gitrep)/gpa
+  speedo_pkg_gpa_gitref = master
+else
+  pkgrep = ftp://ftp.gnupg.org/gcrypt
+  speedo_pkg_libgpg_error_tar = \
+	$(pkgrep)/libgpg-error/libgpg-error-$(libgpg_error_ver).tar.bz2
+  speedo_pkg_npth_tar = \
+	$(pkgrep)/npth/npth-$(npth_ver).tar.bz2
+  speedo_pkg_libassuan_tar = \
+	$(pkgrep)/libassuan/libassuan-$(libassuan_ver).tar.bz2
+  speedo_pkg_libgcrypt_tar = \
+	$(pkgrep)/libgcrypt/libgcrypt-$(libgcrypt_ver).tar.bz2
+  speedo_pkg_libksba_tar = \
+	$(pkgrep)/libksba/libksba-$(libksba_ver).tar.bz2
+  speedo_pkg_gnupg_tar = \
+	$(pkgrep)/gnupg/gnupg-$(gnupg_ver).tar.bz2
+  speedo_pkg_gpgme_tar = \
+	$(pkgrep)/gpgme/gpgme-$(gpgme_ver).tar.bz2
+  speedo_pkg_gpa_tar = \
+	$(pkgrep)/gpa/gpa-$(gpa_ver).tar.bz2
+endif
+
+speedo_pkg_pinentry_configure = --disable-pinentry-qt4
+
+speedo_pkg_libgcrypt_configure = --disable-static
+
+speedo_pkg_libksba_configure = --disable-static
+
+
+# ---------
+
+all: all-speedo
+	@echo export PATH=\"$(idir)/bin\":\$$PATH
+	@echo export LD_LIBRARY_PATH=\"$(idir)/lib\":\$$LD_LIBRARY_PATH
+	@echo hash -r
+
+report: report-speedo
+
+clean: clean-speedo
+
+
+# Fixme: The dist target does not work anymore.
+STRIP = i686-w64-mingw32-strip
+
+dist: all
+	set -e; date=$$(date -u +%Y%m%d); pkgname=gpg-w32-dev-$$date; \
+	rm -rf $$pkgname $${pkgname}.zip || true; \
+	cp -rL playground/install $${pkgname}; \
+	rm -r $${pkgname}/share/info || true; \
+	mkdir -p $${pkgname}/share/doc/gpg-w32-dev ;\
+	echo "Included versions:" > $${pkgname}/README.txt ; \
+	echo ""                   >> $${pkgname}/README.txt ; \
+	$(MAKE) --no-print-directory report \
+              | awk '{print $$2}' >> $${pkgname}/README.txt ; \
+	cp GNUmakefile speedo.mk $${pkgname}/README.txt \
+                  $${pkgname}/share/doc/gpg-w32-dev/ ; \
+	$(STRIP) $${pkgname}/bin/*.dll ; \
+	zip -r9 $${pkgname}.zip $${pkgname} >/dev/null ; \
+	rm -rf $$pkgname; \
+	echo "$$pkgname.zip ready for distribution" >&2
+
+
+-include config.mk
+
+#
+#  The generic speedo code
+#
+
+MKDIR=mkdir
+
+
+# These paths must be absolute, as we switch directories pretty often.
+root := $(shell pwd)/play
+stampdir := $(root)/stamps
+sdir := $(root)/src
+bdir := $(root)/build
+idir := $(root)/inst
+
+speedo_build_list = $(speedo_spkgs)
+
+ifeq ($(TARGETOS),w32)
+  speedo_autogen_buildopt="--build-w32"
+else
+  speedo_autogen_buildopt=
+endif
+
+ifeq ($(MAKE_J),)
+  speedo_makeopt=
+else
+  speedo_makeopt=-j$(MAKE_J)
+endif
+
+
+# The playground area is our scratch area, where we unpack, build and
+# install the packages.
+$(stampdir)/stamp-directories:
+	$(MKDIR) $(root)
+	$(MKDIR) $(stampdir)
+	$(MKDIR) $(sdir)
+	$(MKDIR) $(bdir)
+	$(MKDIR) $(idir)
+	touch $(stampdir)/stamp-directories
+
+# Frob the name $1 by converting all '-' and '+' characters to '_'.
+define FROB_macro
+$(subst +,_,$(subst -,_,$(1)))
+endef
+
+# Get the variable $(1) (which may contain '-' and '+' characters).
+define GETVAR
+$($(call FROB_macro,$(1)))
+endef
+
+# Set a couple of common variables.
+define SETVARS
+	pkg="$(1)";							\
+	git="$(call GETVAR,speedo_pkg_$(1)_git)";			\
+	gitref="$(call GETVAR,speedo_pkg_$(1)_gitref)";			\
+	tar="$(call GETVAR,speedo_pkg_$(1)_tar)";			\
+	pkgsdir="$(sdir)/$(1)";						\
+	pkgbdir="$(bdir)/$(1)";	                    			\
+	pkgcfg="$(call GETVAR,speedo_pkg_$(1)_configure)";		\
+	pkgmkargs="$(call GETVAR,speedo_pkg_$(1)_make_args)";           \
+	pkgmkargs_inst="$(call GETVAR,speedo_pkg_$(1)_make_args_inst)"; \
+	export PATH="$(idir)/bin:$${PATH}";				\
+	export LD_LIBRARY_PATH="$(idir)/lib:$${LD_LIBRARY_PATH}"
+endef
+
+
+# Template for source packages.
+
+define SPKG_template
+
+$(stampdir)/stamp-$(1)-00-unpack: $(stampdir)/stamp-directories
+	@echo "speedo: /*"
+	@echo "speedo:  *   $(1)"
+	@echo "speedo:  */"
+	@(cd $(sdir);					\
+	 $(call SETVARS,$(1));				\
+	 if [ -n "$$$${git}" ]; then			\
+	   echo "speedo: unpacking $(1) from $$$${git}:$$$${gitref}"; \
+           git clone -q -b "$$$${gitref}" "$$$${git}" "$$$${pkg}"; \
+	   cd "$$$${pkg}" &&				\
+	   AUTOGEN_SH_SILENT=1 ./autogen.sh;		\
+         elif [ -n "$$$${tar}" ]; then			\
+	   echo "speedo: unpacking $(1) from $$$${tar}"; \
+           case "$$$${tar}" in				\
+             *.gz) opt=z ;;				\
+             *.bz2) opt=j ;;				\
+             *) opt= ;;					\
+           esac;					\
+           case "$$$${tar}" in				\
+	     /*) cmd=cat ;;				\
+	     *) cmd="wget -q -O -" ;;			\
+	   esac;					\
+	   $$$${cmd} "$$$${tar}" | tar x$$$${opt}f - ;	\
+	   base=`echo "$$$${tar}" | sed -e 's,^.*/,,'   \
+                 | sed -e 's,\.tar.*$$$$,,'`;		\
+	   mv $$$${base} $(1);				\
+	 else                                           \
+	   echo "speedo: unpacking $(1) from UNKNOWN";  \
+	 fi)
+	@touch $(stampdir)/stamp-$(1)-00-unpack
+
+$(stampdir)/stamp-$(1)-01-configure: $(stampdir)/stamp-$(1)-00-unpack
+	@echo "speedo: configuring $(1)"
+	@($(call SETVARS,$(1));				\
+	 mkdir "$$$${pkgbdir}";				\
+	 cd "$$$${pkgbdir}";				\
+	 if [ -n "$(speedo_autogen_buildopt)" ]; then   \
+	    eval AUTOGEN_SH_SILENT=1 w32root="$(idir)"  \
+                 "$$$${pkgsdir}/autogen.sh"             \
+                 $(speedo_autogen_buildopt) --silent   \
+		 $$$${pkgcfg};                         \
+	 else                                           \
+            eval "$$$${pkgsdir}/configure" 		\
+		 --silent                 		\
+		 --enable-maintainer-mode		\
+                 --prefix="$(idir)"		        \
+		 $$$${pkgcfg};                          \
+	 fi)
+	@touch $(stampdir)/stamp-$(1)-01-configure
+
+$(stampdir)/stamp-$(1)-02-make: $(stampdir)/stamp-$(1)-01-configure
+	@echo "speedo: making $(1)"
+	@($(call SETVARS,$(1));				\
+	  cd "$$$${pkgbdir}";				\
+	  $(MAKE) --no-print-directory $(speedo_makeopt) $$$${pkgmkargs} V=0)
+	@touch $(stampdir)/stamp-$(1)-02-make
+
+# Note that post_install must come last because it may be empty and
+# "; ;" is a syntax error.
+$(stampdir)/stamp-$(1)-03-install: $(stampdir)/stamp-$(1)-02-make
+	@echo "speedo: installing $(1)"
+	@($(call SETVARS,$(1));				\
+	  cd "$$$${pkgbdir}";				\
+	  $(MAKE) --no-print-directory $$$${pkgmkargs_inst} install-strip V=0;\
+	  $(call gpg4win_pkg_$(call FROB_macro,$(1))_post_install))
+	@touch $(stampdir)/stamp-$(1)-03-install
+
+$(stampdir)/stamp-final-$(1): $(stampdir)/stamp-$(1)-03-install
+	@touch $(stampdir)/stamp-final-$(1)
+
+.PHONY : clean-$(1)
+clean-$(1):
+	@echo "speedo: uninstalling $(1)"
+	@($(call SETVARS,$(1));				\
+	 (cd "$$$${pkgbdir}";				\
+	  $(MAKE) --no-print-directory $$$${pkgmkargs_inst} uninstall V=0); \
+	 rm -fR "$$$${pkgsdir}" "$$$${pkgbdir}")
+	@rm -f $(stampdir)/stamp-final-$(1) $(stampdir)/stamp-$(1)-*
+
+.PHONY : report-$(1)
+report-$(1):
+	@($(call SETVARS,$(1));				\
+	 echo -n $(1):\  ;				\
+	 if [ -n "$$$${git}" ]; then			\
+           if [ -e "$$$${pkgsdir}/.git" ]; then		\
+	     cd "$$$${pkgsdir}" &&			\
+             git describe ;		                \
+	   else						\
+             echo missing;				\
+	   fi						\
+         elif [ -n "$$$${tar}" ]; then			\
+	   base=`echo "$$$${tar}" | sed -e 's,^.*/,,'   \
+                 | sed -e 's,\.tar.*$$$$,,'`;		\
+	   echo $$$${base} ;				\
+         fi)
+
+endef
+
+
+# Insert the template for each source package.
+$(foreach spkg, $(speedo_spkgs), $(eval $(call SPKG_template,$(spkg))))
+
+$(stampdir)/stamp-final: $(stampdir)/stamp-directories
+$(stampdir)/stamp-final: $(addprefix $(stampdir)/stamp-final-,$(speedo_build_list))
+	touch $(stampdir)/stamp-final
+
+all-speedo: $(stampdir)/stamp-final
+
+report-speedo: $(addprefix report-,$(speedo_build_list))
+
+# Just to check if we catched all stamps.
+clean-stamps:
+	$(RM) -fR $(stampdir)
+
+clean-speedo:
+	$(RM) -fR play
+
+.PHONY : all-speedo report-speedo clean-stamps clean-speedo

commit 5be845448074b94c9a346c6b53e022403fe5f59e
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 9 19:14:09 2014 +0100

    autogen.sh: Add envvar AUTOGEN_SH_SILENT
    
    --

diff --git a/autogen.sh b/autogen.sh
index 05ed1f2..712e070 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -28,6 +28,13 @@ check_version () {
     return 1
 }
 
+info () {
+    if [ -z "${SILENT}" ]; then
+      echo "autogen.sh:" $*
+    fi
+}
+
+
 # Allow to override the default tool names
 AUTOCONF=${AUTOCONF_PREFIX}${AUTOCONF:-autoconf}${AUTOCONF_SUFFIX}
 AUTOHEADER=${AUTOCONF_PREFIX}${AUTOHEADER:-autoheader}${AUTOCONF_SUFFIX}
@@ -40,13 +47,22 @@ MSGMERGE=${GETTEXT_PREFIX}${MSGMERGE:-msgmerge}${GETTEXT_SUFFIX}
 
 DIE=no
 FORCE=
+SILENT=
 tmp=`dirname $0`
 tsdir=`cd "$tmp"; pwd`
+if [ -n "${AUTOGEN_SH_SILENT}" ]; then
+  SILENT=" --silent"
+fi
+if test x"$1" = x"--help"; then
+  echo "usage: ./autogen.sh [--force] [--build-TYPE] [ARGS]"
+  exit 0
+fi
 if test x"$1" = x"--force"; then
   FORCE=" --force"
   shift
 fi
 
+
 # Reject unsafe characters in $HOME, $tsdir and cwd.  We consider spaces
 # as unsafe because it is too easy to get scripts wrong in this regard.
 am_lf='
@@ -81,7 +97,7 @@ amd64_toolprefixes=
 #amd64root=
 
 if [ -f "$HOME/.gnupg-autogen.rc" ]; then
-    echo "sourcing extra definitions from $HOME/.gnupg-autogen.rc"
+    info "sourcing extra definitions from $HOME/.gnupg-autogen.rc"
     . "$HOME/.gnupg-autogen.rc"
 fi
 
@@ -134,7 +150,7 @@ if [ "$myhost" = "w32" ]; then
           extraoptions="--enable-gpgtar $w32_extraoptions"
           ;;
     esac
-    echo "Using $w32root as standard install directory" >&2
+    info "Using $w32root as standard install directory"
 
     # Locate the cross compiler
     crossbindir=
@@ -162,7 +178,8 @@ if [ "$myhost" = "w32" ]; then
         fi
     fi
 
-    $tsdir/configure --enable-maintainer-mode --prefix=${w32root}  \
+    $tsdir/configure --enable-maintainer-mode ${SILENT} \
+             --prefix=${w32root}  \
              --host=${host} --build=${build} \
              --with-gpg-error-prefix=${w32root} \
 	     --with-ksba-prefix=${w32root} \
@@ -189,7 +206,7 @@ if [ "$myhost" = "amd64" ]; then
     build=`$tsdir/scripts/config.guess`
 
     [ -z "$amd64root" ] && amd64root="$HOME/amd64root"
-    echo "Using $amd64root as standard install directory" >&2
+    info "Using $amd64root as standard install directory"
 
     toolprefixes="$amd64_toolprefixes x86_64-linux-gnu amd64-linux-gnu"
 
@@ -215,7 +232,8 @@ if [ "$myhost" = "amd64" ]; then
         fi
     fi
 
-    $tsdir/configure --enable-maintainer-mode --prefix=${amd64root}  \
+    $tsdir/configure --enable-maintainer-mode ${SILENT} \
+             --prefix=${amd64root}  \
              --host=${host} --build=${build} \
              --with-gpg-error-prefix=${amd64root} \
 	     --with-ksba-prefix=${amd64root} \
@@ -278,42 +296,44 @@ fi
 
 # Check the git setup.
 if [ -d .git ]; then
+  CP="cp -a"
+  [ -z "${SILENT}" ] && CP="$CP -v"
   if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then
-    cat <<EOF >&2
+    [ -z "${SILENT}" ] && cat <<EOF
 *** Activating trailing whitespace git pre-commit hook. ***
     For more information see this thread:
       http://mail.gnome.org/archives/desktop-devel-list/2009-May/msg00084html
     To deactivate this pre-commit hook again move .git/hooks/pre-commit
     and .git/hooks/pre-commit.sample out of the way.
 EOF
-      cp -av .git/hooks/pre-commit.sample .git/hooks/pre-commit
+      $CP .git/hooks/pre-commit.sample .git/hooks/pre-commit
       chmod +x  .git/hooks/pre-commit
   fi
   tmp=$(git config --get filter.cleanpo.clean)
   if [ "$tmp" != "awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'" ]
   then
-    echo "*** Adding GIT filter.cleanpo.clean configuration." >&2
+    info "*** Adding GIT filter.cleanpo.clean configuration."
     git config --add filter.cleanpo.clean \
         "awk '/^\"POT-Creation-Date:/&&!s{s=1;next};!/^#: /{print}'"
   fi
   if [ -f scripts/git-hooks/commit-msg -a ! -f .git/hooks/commit-msg ] ; then
-    cat <<EOF >&2
+      [ -z "${SILENT}" ] && cat <<EOF
 *** Activating commit log message check hook. ***
 EOF
-      cp -av scripts/git-hooks/commit-msg .git/hooks/commit-msg
+      $CP scripts/git-hooks/commit-msg .git/hooks/commit-msg
       chmod +x  .git/hooks/commit-msg
   fi
 fi
 
-echo "Running aclocal -I m4 -I gl/m4 ${ACLOCAL_FLAGS:+$ACLOCAL_FLAGS }..."
+info "Running aclocal -I m4 -I gl/m4 ${ACLOCAL_FLAGS:+$ACLOCAL_FLAGS }..."
 $ACLOCAL -I m4 -I gl/m4 $ACLOCAL_FLAGS
-echo "Running autoheader..."
+info "Running autoheader..."
 $AUTOHEADER
-echo "Running automake --gnu ..."
+info "Running automake --gnu ..."
 $AUTOMAKE --gnu;
-echo "Running autoconf${FORCE} ..."
+info "Running autoconf${FORCE} ..."
 $AUTOCONF${FORCE}
 
-echo "You may now run:
+info "You may now run:
   ./configure --sysconfdir=/etc --enable-maintainer-mode --enable-symcryptrun --enable-mailto --enable-gpgtar && make
 "

commit 00d5d2204cefb0f4b953e0c00448f16aab2d39c7
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 9 19:05:07 2014 +0100

    gpgsplit: Allow building without zlib support.
    
    * tools/gpgsplit.c [!HAVE_ZLIB]: Do not include zlib.h.
    (handle_zlib): Build only if HAVE_ZLIB is defined.
    (write_part): Support zlib and zip only if HAVE_ZLIB is defined.
    
    Signed-off-by: Werner Koch <wk at gnupg.org>

diff --git a/tools/gpgsplit.c b/tools/gpgsplit.c
index 928e283..78e87aa 100644
--- a/tools/gpgsplit.c
+++ b/tools/gpgsplit.c
@@ -29,9 +29,11 @@
 #ifdef HAVE_DOSISH_SYSTEM
 # include <fcntl.h> /* for setmode() */
 #endif
-#include <zlib.h>
+#ifdef HAVE_ZIP
+# include <zlib.h>
+#endif
 #ifdef HAVE_BZIP2
-#include <bzlib.h>
+# include <bzlib.h>
 #endif /* HAVE_BZIP2 */
 #if defined(__riscos__) && defined(USE_ZLIBRISCOS)
 # include "zlib-riscos.h"
@@ -360,6 +362,7 @@ public_key_length (const unsigned char *buf, size_t buflen)
   return s - buf;
 }
 
+#ifdef HAVE_ZIP
 static int
 handle_zlib(int algo,FILE *fpin,FILE *fpout)
 {
@@ -452,6 +455,7 @@ handle_zlib(int algo,FILE *fpin,FILE *fpout)
 
   return 0;
 }
+#endif /*HAVE_ZIP*/
 
 #ifdef HAVE_BZIP2
 static int
@@ -698,11 +702,15 @@ write_part (FILE *fpin, unsigned long pktlen,
               if ((c = getc (fpin)) == EOF)
                 goto read_error;
 
-	      if(c==1 || c==2)
+	      if (0)
+                ;
+#ifdef HAVE_ZIP
+	      else if(c==1 || c==2)
 		{
 		  if(handle_zlib(c,fpin,fpout))
 		    goto write_error;
 		}
+#endif /* HAVE_ZIP */
 #ifdef HAVE_BZIP2
 	      else if(c==3)
 		{

commit fa318406c9bdb60aee1e1b410e4c9e0b3eb1392e
Author: Werner Koch <wk at gnupg.org>
Date:   Thu Jan 9 17:51:46 2014 +0100

    w32: Fix backslash quoting in registry name.
    
    * configure.ac (GNUPG_REGISTRY_DIR): Double backslashes.

diff --git a/configure.ac b/configure.ac
index 03a2c27..8bca728 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1603,7 +1603,7 @@ AC_DEFINE_UNQUOTED(DIRMNGR_SOCK_NAME, "S.dirmngr",
 AC_DEFINE_UNQUOTED(GPGEXT_GPG, "gpg", [The standard binary file suffix])
 
 if test "$have_w32_system" = yes; then
-  AC_DEFINE_UNQUOTED(GNUPG_REGISTRY_DIR, "\\Software\\GNU\\GnuPG",
+  AC_DEFINE_UNQUOTED(GNUPG_REGISTRY_DIR, "\\\\Software\\\\GNU\\\\GnuPG",
                      [The directory part of the W32 registry keys])
 fi
 

-----------------------------------------------------------------------

Summary of changes:
 Makefile.am                     |    3 +-
 autogen.sh                      |   50 ++++--
 configure.ac                    |    2 +-
 scripts/gpg-w32-dev/GNUmakefile |  142 ---------------
 scripts/gpg-w32-dev/README      |    6 -
 scripts/gpg-w32-dev/speedo.mk   |  168 ------------------
 scripts/speedo.mk               |  364 +++++++++++++++++++++++++++++++++++++++
 tools/gpgsplit.c                |   14 +-
 8 files changed, 413 insertions(+), 336 deletions(-)
 delete mode 100644 scripts/gpg-w32-dev/GNUmakefile
 delete mode 100644 scripts/gpg-w32-dev/README
 delete mode 100644 scripts/gpg-w32-dev/speedo.mk
 create mode 100644 scripts/speedo.mk


hooks/post-receive
-- 
The GNU Privacy Guard
http://git.gnupg.org




More information about the Gnupg-commits mailing list