[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