1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-09-21 15:01:41 +02:00

speedo: Update to be more aligned with the version in master

--
This commit is contained in:
Werner Koch 2024-09-19 14:21:47 +02:00
parent 35d80ebd78
commit 15aea30de0
No known key found for this signature in database
GPG Key ID: E3FDFF218E45B72B
2 changed files with 102 additions and 136 deletions

View File

@ -1,5 +1,5 @@
# speedo.mk - Speedo rebuilds speedily. # speedo.mk - Speedo rebuilds speedily.
# Copyright (C) 2008, 2014, 2019 g10 Code GmbH # Copyright (C) 2008, 2014, 2019, 2024 g10 Code GmbH
# #
# speedo is free software; you can redistribute it and/or modify # speedo is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -43,58 +43,7 @@
# #
# The information required to sign the tarballs and binaries # The information required to sign the tarballs and binaries
# are expected in the developer specific file ~/.gnupg-autogen.rc". # are expected in the developer specific file ~/.gnupg-autogen.rc".
# Here is an example: # Use "gpg-authcode-sign.sh --template" to create a template.
#--8<---------------cut here---------------start------------->8---
# # Location of the released tarball archives. Note that this is an
# # internal archive and before uploading this to the public server,
# # manual tests should be run and the git release tagged and pushed.
# # This is greped by the Makefile.
# RELEASE_ARCHIVE=foo@somehost:tarball-archive
#
# # The key used to sign the GnuPG sources.
# # This is greped by the Makefile.
# RELEASE_SIGNKEY=6DAA6E64A76D2840571B4902528897B826403ADA
#
# # The key used to sign the VERSION files of some MSI installers.
# VERSION_SIGNKEY=02F38DFF731FF97CB039A1DA549E695E905BA208
#
# # For signing Windows binaries we need to employ a Windows machine.
# # We connect to this machine via ssh and take the connection
# # parameters via .ssh/config. For example a VM could be specified
# # like this:
# #
# # Host authenticode-signhost
# # HostName localhost
# # Port 27042
# # User gpgsign
# #
# # Depending on the used token it might be necessary to allow single
# # signon and unlock the token before running the make. The following
# # variable references this entry. This is greped by the Makefile.
# AUTHENTICODE_SIGNHOST=authenticode-signhost
#
# # The name of the signtool as used on Windows.
# # This is greped by the Makefile.
# AUTHENTICODE_TOOL="C:\Program Files (x86)\Windows Kits\10\bin\signtool.exe"
#
# # The URL for the timestamping service
# AUTHENTICODE_TSURL=http://rfc3161timestamp.globalsign.com/advanced
#
# # To use osslsigncode the follwing entries are required and
# # an empty string must be given for AUTHENTICODE_SIGNHOST.
# # They are greped by the Makefile.
# AUTHENTICODE_KEY=/home/foo/.gnupg/my-authenticode-key.p12
# AUTHENTICODE_CERTS=/home/foo/.gnupg/my-authenticode-certs.pem
#
# # If a smartcard is used for the Authenticode signature these
# # entries are required instead:
# AUTHENTICODE_KEY=card
# AUTHENTICODE_CERTS=/home/foo/.gnupg/my_authenticode_cert.pem
# OSSLSIGNCODE=/usr/bin/osslsigncode
# OSSLPKCS11ENGINE=/usr/lib/x86_64-linux-gnu/engines-1.1/pkcs11.so
# SCUTEMODULE=/usr/local/lib/scute.so
#
#--8<---------------cut here---------------end--------------->8---
# We need to know our own name. # We need to know our own name.
@ -124,6 +73,7 @@ help:
@echo 'Use WIXPREFIX to provide the WIX binaries for the MSI package.' @echo 'Use WIXPREFIX to provide the WIX binaries for the MSI package.'
@echo ' Using WIX also requires wine with installed wine mono.' @echo ' Using WIX also requires wine with installed wine mono.'
@echo ' See help-wixlib for more information' @echo ' See help-wixlib for more information'
@echo 'Set W32VERSION=w64 to build a 64 bit Windows version.'
help-wixlib: help-wixlib:
@echo 'The buildsystem can create a wixlib to build MSI packages.' @echo 'The buildsystem can create a wixlib to build MSI packages.'
@ -208,9 +158,12 @@ w32-release-offline: check-tools
# to "this" from the unpacked sources. # to "this" from the unpacked sources.
WHAT=git WHAT=git
# Set target to "native" or "w32" # Set target to "native" or "w32".
TARGETOS= TARGETOS=
# To build a 64 bit Windows version also change this to "w64"
W32VERSION=w32
# Set to 1 to use a pre-installed swdb.lst instead of the online version. # Set to 1 to use a pre-installed swdb.lst instead of the online version.
CUSTOM_SWDB=0 CUSTOM_SWDB=0
@ -227,33 +180,32 @@ STATIC=0
# external packages. # external packages.
TARBALLS=$(shell pwd)/../tarballs TARBALLS=$(shell pwd)/../tarballs
# Number of parallel make jobs for each package # Check if nproc is available, set MAKE_J accordingly
MAKE_J=6 MAKE_J = $(shell if command -v nproc >/dev/null 2>&1; then \
nproc; else echo 6; \
fi)
# Name to use for the w32 installer and sources # Name to use for the w32 installer and sources
INST_NAME=gnupg-w32 INST_NAME=gnupg-w32
# Use this to override the installaion directory for native builds. # Use this to override the installation directory for native builds.
INSTALL_PREFIX=none INSTALL_PREFIX=none
# Set this to the location of wixtools # Set this to the location of wixtools
WIXPREFIX=$(shell readlink -f ~/w32root/wixtools) WIXPREFIX=$(shell readlink -f ~/w32root/wixtools)
# If patchelf(1) is not availale disable the command. # If patchelf(1) is not available disable the command.
PATCHELF := $(shell patchelf --version 2>/dev/null >/dev/null || echo "echo please run: ")patchelf PATCHELF := $(shell patchelf --version 2>/dev/null >/dev/null || echo "echo please run: ")patchelf
# Set this to 1 to get verbose output
VERBOSE=0
# Read signing information from ~/.gnupg-autogen.rc # Read signing information from ~/.gnupg-autogen.rc
define READ_AUTOGEN_template define READ_AUTOGEN_template
$(1) = $$(shell grep '^[[:blank:]]*$(1)[[:blank:]]*=' $$$$HOME/.gnupg-autogen.rc|cut -d= -f2|xargs) $(1) = $$(shell grep '^[[:blank:]]*$(1)[[:blank:]]*=' $$$$HOME/.gnupg-autogen.rc|cut -d= -f2|xargs)
endef endef
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_SIGNHOST))
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_TOOL))
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_TSURL))
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_KEY))
$(eval $(call READ_AUTOGEN_template,AUTHENTICODE_CERTS))
$(eval $(call READ_AUTOGEN_template,OSSLSIGNCODE))
$(eval $(call READ_AUTOGEN_template,OSSLPKCS11ENGINE))
$(eval $(call READ_AUTOGEN_template,SCUTEMODULE))
$(eval $(call READ_AUTOGEN_template,OVERRIDE_TARBALLS)) $(eval $(call READ_AUTOGEN_template,OVERRIDE_TARBALLS))
@ -281,6 +233,7 @@ AUTHENTICODE_FILES= \
libgpgme-11.dll \ libgpgme-11.dll \
libksba-8.dll \ libksba-8.dll \
libnpth-0.dll \ libnpth-0.dll \
libntbtls-0.dll \
libsqlite3-0.dll \ libsqlite3-0.dll \
pinentry-w32.exe \ pinentry-w32.exe \
scdaemon.exe \ scdaemon.exe \
@ -330,7 +283,12 @@ endif
# Packages which are additionally build for 64 bit Windows. They are # Packages which are additionally build for 64 bit Windows. They are
# only used for gpgex and thus we need to build them only if we want # only used for gpgex and thus we need to build them only if we want
# a full installer. # a full installer.
speedo_w64_spkgs = ifeq ($(W32VERSION),w64)
# Keep this empty
speedo_w64_spkgs =
else
speedo_w64_spkgs =
endif
# Packages which use the gnupg autogen.sh build style # Packages which use the gnupg autogen.sh build style
speedo_gnupg_style = \ speedo_gnupg_style = \
@ -409,7 +367,7 @@ sqlite_sha1 := $(shell awk '$$1=="sqlite_sha1_gz" {print $$2}' swdb.lst)
sqlite_sha2 := $(shell awk '$$1=="sqlite_sha2_gz" {print $$2}' swdb.lst) sqlite_sha2 := $(shell awk '$$1=="sqlite_sha2_gz" {print $$2}' swdb.lst)
$(info Information from the version database) $(info Information from the version database:)
$(info GnuPG ..........: $(gnupg_ver) (building $(gnupg_ver_this))) $(info GnuPG ..........: $(gnupg_ver) (building $(gnupg_ver_this)))
$(info GpgRT ..........: $(libgpg_error_ver)) $(info GpgRT ..........: $(libgpg_error_ver))
$(info Npth ...........: $(npth_ver)) $(info Npth ...........: $(npth_ver))
@ -424,14 +382,26 @@ $(info GPGME ..........: $(gpgme_ver))
$(info Pinentry .......: $(pinentry_ver)) $(info Pinentry .......: $(pinentry_ver))
endif endif
$(info Information for this run:)
$(info Build type .....: $(WHAT))
$(info Target .........: $(TARGETOS))
ifeq ($(TARGETOS),w32)
$(info Windows version : 32 bit)
ifneq ($(W32VERSION),w32)
# Noet that GnuPG 2.4 does not support 64 bit Windows - use GnuPG 2.6
$(error W32VERSION is not set to a proper value: Use only w32)
endif
endif
# Version number for external packages # Version number for external packages
pkg_config_ver = 0.23 pkg_config_ver = 0.23
libiconv_ver = 1.14 libiconv_ver = 1.14
gettext_ver = 0.18.2.1 gettext_ver = 0.18.2.1
# The GIT repository. Using a local repo is much faster. # The GIT repository. Using a local repo is much faster and more secure.
#gitrep = git://git.gnupg.org # The default is to expect it below ~/s/
gitrep = ${HOME}/s gitrep = ${HOME}/s
# The tarball directories # The tarball directories
@ -515,8 +485,8 @@ speedo_pkg_gettext_tar = $(pkg2rep)/gettext-$(gettext_ver).tar.gz
speedo_pkg_npth_configure = --enable-static speedo_pkg_npth_configure = --enable-static
speedo_pkg_libgpg_error_configure = --enable-static --enable-install-gpg-error-config speedo_pkg_libgpg_error_configure = --enable-static
speedo_pkg_w64_libgpg_error_configure = --enable-static --enable-install-gpg-error-config speedo_pkg_w64_libgpg_error_configure = --enable-static
speedo_pkg_libgpg_error_extracflags = -D_WIN32_WINNT=0x0600 speedo_pkg_libgpg_error_extracflags = -D_WIN32_WINNT=0x0600
speedo_pkg_w64_libgpg_error_extracflags = -D_WIN32_WINNT=0x0600 speedo_pkg_w64_libgpg_error_extracflags = -D_WIN32_WINNT=0x0600
@ -527,9 +497,6 @@ speedo_pkg_libgcrypt_configure = --disable-static
speedo_pkg_libksba_configure = --disable-static speedo_pkg_libksba_configure = --disable-static
speedo_pkg_ntbtls_configure = --enable-static
ifeq ($(STATIC),1) ifeq ($(STATIC),1)
speedo_pkg_npth_configure += --disable-shared speedo_pkg_npth_configure += --disable-shared
@ -542,9 +509,6 @@ speedo_pkg_libgcrypt_configure += --disable-shared
speedo_pkg_libksba_configure += --disable-shared speedo_pkg_libksba_configure += --disable-shared
endif endif
# For now we build ntbtls only static
speedo_pkg_ntbtls_configure = --disable-shared
ifeq ($(TARGETOS),w32) ifeq ($(TARGETOS),w32)
speedo_pkg_gnupg_configure = \ speedo_pkg_gnupg_configure = \
--disable-g13 --enable-ntbtls --disable-tpm2d --disable-g13 --enable-ntbtls --disable-tpm2d
@ -627,6 +591,9 @@ speedo_pkg_bzip2_make_args = \
speedo_pkg_bzip2_make_args_inst = \ speedo_pkg_bzip2_make_args_inst = \
PREFIX=$(idir) CC="$(host)-gcc" AR="$(host)-ar" RANLIB="$(host)-ranlib" PREFIX=$(idir) CC="$(host)-gcc" AR="$(host)-ar" RANLIB="$(host)-ranlib"
else
speedo_pkg_bzip2_make_args_inst = \
PREFIX=$(idir)
endif endif
speedo_pkg_w64_libiconv_configure = \ speedo_pkg_w64_libiconv_configure = \
@ -654,12 +621,21 @@ report: report-speedo
clean: clean-speedo clean: clean-speedo
ifeq ($(W32VERSION),w64)
W32CC_PREFIX = x86_64
else
W32CC_PREFIX = i686
endif
ifeq ($(TARGETOS),w32) ifeq ($(TARGETOS),w32)
STRIP = i686-w64-mingw32-strip STRIP = $(W32CC_PREFIX)-w64-mingw32-strip
W32STRIP32 = i686-w64-mingw32-strip
else else
STRIP = strip STRIP = strip
endif endif
W32CC = i686-w64-mingw32-gcc W32CC = $(W32CC_PREFIX)-w64-mingw32-gcc
W32CC32 = i686-w64-mingw32-gcc
-include config.mk -include config.mk
@ -698,13 +674,24 @@ speedo_w64_build_list = $(speedo_w64_spkgs)
# assignments), we check that the targetos has been given # assignments), we check that the targetos has been given
ifneq ($(TARGETOS),) ifneq ($(TARGETOS),)
# Check for VERBOSE variable to conditionally set the silent option
ifeq ($(VERBOSE),1)
slient_flag =
autogen_sh_silent_flag =
else
slient_flag = --silent
autogen_sh_silent_flag = AUTOGEN_SH_SILENT=1
endif
# Determine build and host system # Determine build and host system
build := $(shell $(topsrc)/autogen.sh --silent --print-build) build := $(shell $(topsrc)/autogen.sh $(silent_flag) --print-build)
ifeq ($(TARGETOS),w32) ifeq ($(TARGETOS),w32)
speedo_autogen_buildopt := --build-w32 speedo_autogen_buildopt := --build-$(W32VERSION)
speedo_autogen_buildopt6 := --build-w64 speedo_autogen_buildopt6 := --build-w64
host := $(shell $(topsrc)/autogen.sh --silent --print-host --build-w32) host := $(shell $(topsrc)/autogen.sh $(silent_flag) --print-host \
host6:= $(shell $(topsrc)/autogen.sh --silent --print-host --build-w64) --build-$(W32VERSION))
host6:= $(shell $(topsrc)/autogen.sh $(silent_flag) --print-host \
--build-w64)
speedo_host_build_option := --host=$(host) --build=$(build) speedo_host_build_option := --host=$(host) --build=$(build)
speedo_host_build_option6 := --host=$(host6) --build=$(build) speedo_host_build_option6 := --host=$(host6) --build=$(build)
speedo_w32_cflags := -mms-bitfields speedo_w32_cflags := -mms-bitfields
@ -768,6 +755,9 @@ define SETVARS
fi; \ fi; \
pkgbdir="$(bdir)/$(1)"; \ pkgbdir="$(bdir)/$(1)"; \
pkgcfg="$(call GETVAR,speedo_pkg_$(1)_configure)"; \ pkgcfg="$(call GETVAR,speedo_pkg_$(1)_configure)"; \
if [ "$(TARGETOS)" != native ]; then \
pkgcfg="$(pkgcfg) --libdir=$(idir)/lib"; \
fi; \
tmp="$(speedo_w32_cflags) \ tmp="$(speedo_w32_cflags) \
$(call GETVAR,speedo_pkg_$(1)_extracflags)"; \ $(call GETVAR,speedo_pkg_$(1)_extracflags)"; \
if [ x$$$$(echo "$$$$tmp" | tr -d '[:space:]')x != xx ]; then \ if [ x$$$$(echo "$$$$tmp" | tr -d '[:space:]')x != xx ]; then \
@ -927,13 +917,14 @@ else ifneq ($(findstring $(1),$(speedo_gnupg_style)),)
mkdir "$$$${pkgbdir}"; \ mkdir "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \ cd "$$$${pkgbdir}"; \
if [ -n "$(speedo_autogen_buildopt)" ]; then \ if [ -n "$(speedo_autogen_buildopt)" ]; then \
eval AUTOGEN_SH_SILENT=1 w32root="$(idir)" \ eval $(autogen_sh_silent_flag) \
$(W32VERSION)root="$(idir)" \
"$$$${pkgsdir}/autogen.sh" \ "$$$${pkgsdir}/autogen.sh" \
$(speedo_autogen_buildopt) \ $(speedo_autogen_buildopt) \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
else \ else \
eval "$$$${pkgsdir}/configure" \ eval "$$$${pkgsdir}/configure" \
--silent \ $(silent_flag) \
--enable-maintainer-mode \ --enable-maintainer-mode \
--prefix="$(idir)" \ --prefix="$(idir)" \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
@ -943,7 +934,7 @@ else
mkdir "$$$${pkgbdir}"; \ mkdir "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \ cd "$$$${pkgbdir}"; \
eval "$$$${pkgsdir}/configure" \ eval "$$$${pkgsdir}/configure" \
--silent $(speedo_host_build_option) \ $(silent_flag) $(speedo_host_build_option) \
--prefix="$(idir)" \ --prefix="$(idir)" \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
) )
@ -962,13 +953,13 @@ else ifneq ($(findstring $(1),$(speedo_gnupg_style)),)
mkdir "$$$${pkgbdir}"; \ mkdir "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \ cd "$$$${pkgbdir}"; \
if [ -n "$(speedo_autogen_buildopt)" ]; then \ if [ -n "$(speedo_autogen_buildopt)" ]; then \
eval AUTOGEN_SH_SILENT=1 w64root="$(idir6)" \ eval $(autogen_sh_silent_flag) w64root="$(idir6)" \
"$$$${pkgsdir}/autogen.sh" \ "$$$${pkgsdir}/autogen.sh" \
$(speedo_autogen_buildopt6) \ $(speedo_autogen_buildopt6) \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
else \ else \
eval "$$$${pkgsdir}/configure" \ eval "$$$${pkgsdir}/configure" \
--silent \ $(silent_flag) \
--enable-maintainer-mode \ --enable-maintainer-mode \
--prefix="$(idir6)" \ --prefix="$(idir6)" \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
@ -978,7 +969,7 @@ else
mkdir "$$$${pkgbdir}"; \ mkdir "$$$${pkgbdir}"; \
cd "$$$${pkgbdir}"; \ cd "$$$${pkgbdir}"; \
eval "$$$${pkgsdir}/configure" \ eval "$$$${pkgsdir}/configure" \
--silent $(speedo_host_build_option6) \ $(silent_flag) $(speedo_host_build_option6) \
--prefix="$(idir6)" \ --prefix="$(idir6)" \
$$$${pkgcfg} $$$${pkgextracflags}; \ $$$${pkgcfg} $$$${pkgextracflags}; \
) )
@ -1135,9 +1126,8 @@ ifneq ($(TARGETOS),w32)
echo "speedo: /*" ;\ echo "speedo: /*" ;\
echo "speedo: * Now copy $(idir)/ to the final location and" ;\ echo "speedo: * Now copy $(idir)/ to the final location and" ;\
echo "speedo: * adjust $(idir)/bin/gpgconf.ctl accordingly" ;\ echo "speedo: * adjust $(idir)/bin/gpgconf.ctl accordingly" ;\
echo "speedo: * Or run:" ;\ echo "speedo: * Or run run for example:" ;\
echo "speedo: * make -f $(topsrc)/build-aux/speedo.mk install SYSROOT=/usr/local/gnupg24" ;\ echo "speedo: * make -f $(topsrc)/build-aux/speedo.mk install SYSROOT=/usr/local/gnupg24" ;\
echo "speedo: * ldconfig -n /usr/local/gnupg24/lib";\
echo "speedo: */") echo "speedo: */")
endif endif
@ -1153,7 +1143,6 @@ ifneq ($(TARGETOS),w32)
echo "speedo: Set SYSROOT to the desired install directory";\ echo "speedo: Set SYSROOT to the desired install directory";\
echo "speedo: Example:";\ echo "speedo: Example:";\
echo "speedo: make -f $(topsrc)/build-aux/speedo.mk install SYSROOT=/usr/local/gnupg24";\ echo "speedo: make -f $(topsrc)/build-aux/speedo.mk install SYSROOT=/usr/local/gnupg24";\
echo "speedo: ldconfig -n /usr/local/gnupg24/lib";\
exit 1;\ exit 1;\
fi;\ fi;\
if [ ! -d "$$SYSROOT"/bin ]; then if ! mkdir "$$SYSROOT"/bin; then \ if [ ! -d "$$SYSROOT"/bin ]; then if ! mkdir "$$SYSROOT"/bin; then \
@ -1175,6 +1164,8 @@ ifneq ($(TARGETOS),w32)
echo "speedo: Installing files to $$SYSROOT";\ echo "speedo: Installing files to $$SYSROOT";\
find . -type f -executable \ find . -type f -executable \
-exec install -Dm 755 "{}" "$$SYSROOT/{}" \; ;\ -exec install -Dm 755 "{}" "$$SYSROOT/{}" \; ;\
find . -type l -executable \
-exec install -Dm 755 "{}" "$$SYSROOT/{}" \; ;\
find . -type f \! -executable \ find . -type f \! -executable \
-exec install -Dm 644 "{}" "$$SYSROOT/{}" \; ;\ -exec install -Dm 644 "{}" "$$SYSROOT/{}" \; ;\
echo "sysconfdir = /etc/gnupg" > "$$SYSROOT"/bin/gpgconf.ctl ;\ echo "sysconfdir = /etc/gnupg" > "$$SYSROOT"/bin/gpgconf.ctl ;\
@ -1241,13 +1232,13 @@ $(bdir)/README.txt: $(bdir)/NEWS.tmp $(topsrc)/README $(w32src)/README.txt \
$(bdir)/g4wihelp.dll: $(w32src)/g4wihelp.c $(w32src)/exdll.h $(w32src)/exdll.c $(bdir)/g4wihelp.dll: $(w32src)/g4wihelp.c $(w32src)/exdll.h $(w32src)/exdll.c
(set -e; cd $(bdir); \ (set -e; cd $(bdir); \
$(W32CC) -DUNICODE -static-libgcc -I . -O2 -c \ $(W32CC32) -DUNICODE -static-libgcc -I . -O2 -c \
-o exdll.o $(w32src)/exdll.c; \ -o exdll.o $(w32src)/exdll.c; \
$(W32CC) -DUNICODE -static-libgcc -I. -shared -O2 \ $(W32CC32) -DUNICODE -static-libgcc -I. -shared -O2 \
-o g4wihelp.dll $(w32src)/g4wihelp.c exdll.o \ -o g4wihelp.dll $(w32src)/g4wihelp.c exdll.o \
-lwinmm -lgdi32 -luserenv \ -lwinmm -lgdi32 -luserenv \
-lshell32 -loleaut32 -lshlwapi -lmsimg32; \ -lshell32 -loleaut32 -lshlwapi -lmsimg32; \
$(STRIP) g4wihelp.dll) $(W32STRIP32) g4wihelp.dll)
w32_insthelpers: $(bdir)/g4wihelp.dll w32_insthelpers: $(bdir)/g4wihelp.dll
@ -1355,7 +1346,7 @@ endef
# Sign the file $1 and save the result as $2 # Sign the file $1 and save the result as $2
define AUTHENTICODE_sign define AUTHENTICODE_sign
(set -e; \ (set -e; \
if gpg-authcode-sign.sh --version >/dev/null; then \ if (gpg-authcode-sign.sh --version >/dev/null); then \
gpg-authcode-sign.sh "$(1)" "$(2)"; \ gpg-authcode-sign.sh "$(1)" "$(2)"; \
else \ else \
echo 2>&1 "warning: Please install gpg-authcode-sign.sh to sign files." ;\ echo 2>&1 "warning: Please install gpg-authcode-sign.sh to sign files." ;\
@ -1363,7 +1354,6 @@ define AUTHENTICODE_sign
fi) fi)
endef endef
# Help target for testing to sign a file. # Help target for testing to sign a file.
# Usage: make -f speedo.mk test-authenticode-sign TARGETOS=w32 FILE=foo.exe # Usage: make -f speedo.mk test-authenticode-sign TARGETOS=w32 FILE=foo.exe
test-authenticode-sign: test-authenticode-sign:
@ -1429,7 +1419,7 @@ endif
# #
# Check availibility of standard tools and prepare everything. # Check availability of standard tools and prepare everything.
# #
check-tools: $(stampdir)/stamp-directories check-tools: $(stampdir)/stamp-directories

View File

@ -46,7 +46,7 @@ Unicode true
!define PRETTY_PACKAGE "GNU Privacy Guard" !define PRETTY_PACKAGE "GNU Privacy Guard"
!define PRETTY_PACKAGE_SHORT "GnuPG" !define PRETTY_PACKAGE_SHORT "GnuPG"
!define COMPANY "The GnuPG Project" !define COMPANY "The GnuPG Project"
!define COPYRIGHT "Copyright (C) 2021 g10 Code GmbH" !define COPYRIGHT "Copyright (C) 2024 g10 Code GmbH"
!define DESCRIPTION "GnuPG: The GNU Privacy Guard for Windows" !define DESCRIPTION "GnuPG: The GNU Privacy Guard for Windows"
!define INSTALL_DIR "GnuPG" !define INSTALL_DIR "GnuPG"
@ -63,13 +63,13 @@ Unicode true
GnuPG includes an advanced key management facility and is compliant \ GnuPG includes an advanced key management facility and is compliant \
with the OpenPGP Internet standard as described in RFC-4880. \ with the OpenPGP Internet standard as described in RFC-4880. \
\r\n\r\n$_CLICK \ \r\n\r\n$_CLICK \
\r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION}.\r\n\ \r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION} (32 bit).\r\n\
File version: ${PROD_VERSION}\r\n\ File version: ${PROD_VERSION}\r\n\
Release date: ${BUILD_ISODATE}" Release date: ${BUILD_ISODATE}"
!define ABOUT_GERMAN \ !define ABOUT_GERMAN \
"GnuPG is die häufigst verwendete Software zur Mail- und Datenverschlüsselung.\ "GnuPG is die häufigst verwendete Software zur Mail- und Datenverschlüsselung.\
\r\n\r\n$_CLICK \ \r\n\r\n$_CLICK \
\r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION}.\r\n\ \r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION} (32 bit).\r\n\
Dateiversion: ${PROD_VERSION}\r\n\ Dateiversion: ${PROD_VERSION}\r\n\
Releasedatum: ${BUILD_ISODATE}" Releasedatum: ${BUILD_ISODATE}"
@ -250,7 +250,7 @@ LangString T_About ${LANG_GERMAN} "${ABOUT_GERMAN}"
LangString T_GPLHeader ${LANG_ENGLISH} \ LangString T_GPLHeader ${LANG_ENGLISH} \
"This software is licensed under the terms of the GNU General Public \ "This software is licensed under the terms of the GNU General Public \
License (GNU GPL)." License (GNU GPL)."
LangString T_GPLHeader ${LANG_GERMAN}} \ LangString T_GPLHeader ${LANG_GERMAN} \
"Diese Software ist unter der GNU General Public License \ "Diese Software ist unter der GNU General Public License \
(GNU GPL) lizensiert." (GNU GPL) lizensiert."
@ -590,23 +590,6 @@ Section "-gnupginst"
WriteRegStr SHCTX "Software\GnuPG" "Install Directory" $INSTDIR WriteRegStr SHCTX "Software\GnuPG" "Install Directory" $INSTDIR
# If we are reinstalling, try to kill a possible running gpa using
# an already installed gpa.
ifFileExists "$INSTDIR\bin\launch-gpa.exe" 0 no_uiserver
nsExec::ExecToLog '"$INSTDIR\bin\launch-gpa" "--stop-server"'
no_uiserver:
# If we are reinstalling, try to kill a possible running agent using
# an already installed gpgconf.
ifFileExists "$INSTDIR\bin\gpgconf.exe" 0 no_gpgconf
nsExec::ExecToLog '"$INSTDIR\bin\gpgconf" "--kill" "dirmngr"'
nsExec::ExecToLog '"$INSTDIR\bin\gpgconf" "--kill" "gpg-agent"'
nsExec::ExecToLog '"$INSTDIR\bin\gpgconf" "--kill" "keyboxd"'
no_gpgconf:
# Add the bin directory to the PATH # Add the bin directory to the PATH
Push "$INSTDIR\bin" Push "$INSTDIR\bin"
Call AddToPath Call AddToPath
@ -853,6 +836,11 @@ Section "-sqlite" SEC_sqlite
File bin/libsqlite3-0.dll File bin/libsqlite3-0.dll
SectionEnd SectionEnd
Section "-ntbtls" SEC_ntbtls
SetOutPath "$INSTDIR\bin"
File bin/libntbtls-0.dll
SectionEnd
!ifdef WITH_GUI !ifdef WITH_GUI
Section "-libiconv" SEC_libiconv Section "-libiconv" SEC_libiconv
SetOutPath "$INSTDIR\bin" SetOutPath "$INSTDIR\bin"
@ -1436,6 +1424,10 @@ Section "-un.sqlite"
Delete "$INSTDIR\bin\libsqlite3-0.dll" Delete "$INSTDIR\bin\libsqlite3-0.dll"
SectionEnd SectionEnd
Section "-un.ntbtls"
Delete "$INSTDIR\bin\libntbtls-0.dll"
SectionEnd
Section "-un.gnupginst" Section "-un.gnupginst"
# Delete standard stuff. # Delete standard stuff.
Delete "$INSTDIR\README.txt" Delete "$INSTDIR\README.txt"
@ -1465,18 +1457,6 @@ Function .onInit
Call G4wRunOnce Call G4wRunOnce
SetOutPath $TEMP
#!ifdef SOURCES
# File /oname=gpgspltmp.bmp "${TOP_SRCDIR}/doc/logo/gnupg-logo-400px.bmp"
# # We play the tune only for the soruce installer
# File /oname=gpgspltmp.wav "${TOP_SRCDIR}/src/gnupg-splash.wav"
# g4wihelp::playsound $TEMP\gpgspltmp.wav
# g4wihelp::showsplash 2500 $TEMP\gpgspltmp.bmp
# Delete $TEMP\gpgspltmp.bmp
# # Note that we delete gpgspltmp.wav in .onInst{Failed,Success}
#!endif
# We can't use TOP_SRCDIR dir as the name of the file needs to be # We can't use TOP_SRCDIR dir as the name of the file needs to be
# the same while building and running the installer. Thus we # the same while building and running the installer. Thus we
# generate the file from a template. # generate the file from a template.
@ -1619,11 +1599,7 @@ Section
WriteRegExpandStr SHCTX $MYTMP "UninstallString" '"$INSTDIR\gnupg-uninstall.exe"' WriteRegExpandStr SHCTX $MYTMP "UninstallString" '"$INSTDIR\gnupg-uninstall.exe"'
WriteRegExpandStr SHCTX $MYTMP "InstallLocation" "$INSTDIR" WriteRegExpandStr SHCTX $MYTMP "InstallLocation" "$INSTDIR"
WriteRegStr SHCTX $MYTMP "DisplayName" "${PRETTY_PACKAGE}" WriteRegStr SHCTX $MYTMP "DisplayName" "${PRETTY_PACKAGE}"
!ifdef WITH_GUI
WriteRegStr SHCTX $MYTMP "DisplayIcon" "$INSTDIR\bin\gpa.exe,0"
!else
WriteRegStr SHCTX $MYTMP "DisplayIcon" "$INSTDIR\bin\gpg.exe,0" WriteRegStr SHCTX $MYTMP "DisplayIcon" "$INSTDIR\bin\gpg.exe,0"
!endif
WriteRegStr SHCTX $MYTMP "DisplayVersion" "${VERSION}" WriteRegStr SHCTX $MYTMP "DisplayVersion" "${VERSION}"
WriteRegStr SHCTX $MYTMP "Publisher" "The GnuPG Project" WriteRegStr SHCTX $MYTMP "Publisher" "The GnuPG Project"
WriteRegStr SHCTX $MYTMP "URLInfoAbout" "https://gnupg.org" WriteRegStr SHCTX $MYTMP "URLInfoAbout" "https://gnupg.org"