summaryrefslogtreecommitdiffstats
path: root/build-aux
diff options
context:
space:
mode:
authorWerner Koch <wk@gnupg.org>2014-06-11 15:45:29 +0200
committerWerner Koch <wk@gnupg.org>2014-06-11 15:45:29 +0200
commit6eeb31abee82cb2016bf054cd302af64f6dfdc2e (patch)
tree6643986580fb05cb3b28438339eac2568b06a758 /build-aux
parentspeedo: Revamped speedo and include a w32 installer. (diff)
downloadgnupg2-6eeb31abee82cb2016bf054cd302af64f6dfdc2e.tar.xz
gnupg2-6eeb31abee82cb2016bf054cd302af64f6dfdc2e.zip
speedo: Improve building of the w32 installer.
* build-aux/speedo.mk: Change name of build directory to PLAY. Improve the dist-source target. * build-aux/speedo/w32/gdk-pixbuf-loaders.cache: Add a blank line (plus comment). * build-aux/speedo/w32/inst.nsi: Change name of file to gnupg-w32-*. Install more tools. -- gdk-pixbuf-loaders.cache needs to end with an extra LF or the gdk-pixbuf is not able to read the last entry. The final comment is to make our git sanity checks happy. Running make -f build-aux/speedo.mk \ TARGETOS=w32 TARBALLS=~/tarballs installer does now create a working installer. After removing dirmngr from the installation GPA kind of works. There are remaining problems with dirmngr and scdaemon which will be fixed soon. Running make -f build-aux/speedo.mk \ TARGETOS=w32 TARBALLS=~/tarballs dist-source creates an xz compressed tarball with all the sources used to build the installer. Distributing this tarball along with the installer is sufficient to comply with the GPL. Well, some more instructions should be given in the readme files.
Diffstat (limited to 'build-aux')
-rw-r--r--build-aux/speedo.mk21
-rwxr-xr-xbuild-aux/speedo/w32/gdk-pixbuf-loaders.cache3
-rw-r--r--build-aux/speedo/w32/inst.nsi25
3 files changed, 41 insertions, 8 deletions
diff --git a/build-aux/speedo.mk b/build-aux/speedo.mk
index 34d5f98dc..1bebd8b28 100644
--- a/build-aux/speedo.mk
+++ b/build-aux/speedo.mk
@@ -23,7 +23,7 @@
# or
# make -f speedo.mk
#
-# Builds all packages and installs them under play/inst. At the end,
+# 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.
#
@@ -390,7 +390,7 @@ MAKENSIS=makensis
BUILD_ISODATE=$(shell date -u +%Y-%m-%d)
# These paths must be absolute, as we switch directories pretty often.
-root := $(shell pwd)/play
+root := $(shell pwd)/PLAY
sdir := $(root)/src
bdir := $(root)/build
bdir6:= $(root)/build-w64
@@ -772,7 +772,7 @@ clean-stamps:
$(RM) -fR $(stampdir)
clean-speedo:
- $(RM) -fR play
+ $(RM) -fR PLAY
#
@@ -780,10 +780,16 @@ clean-speedo:
#
dist-source: all
- for i in 00 01 02 03; do sleep 1;touch play/stamps/stamp-*-${i}-*;done
- tar -cvJf gnupg-$(INST_VERSION)_$(BUILD_ISODATE).tar.xz \
- --exclude-backups --exclude-vc \
- patches play/stamps/stamp-*-00-unpack play/src
+ for i in 00 01 02 03; do sleep 1;touch PLAY/stamps/stamp-*-${i}-*;done
+ (set -e;\
+ tarname="gnupg-w32-$(INST_VERSION)_$(BUILD_ISODATE).tar" ;\
+ [ -f "$$tarname" ] && rm "$$tarname" ;\
+ tar -C $(topsrc) -cf "$$tarname" --exclude-backups --exclude-vc \
+ --anchored --exclude './PLAY' . ;\
+ tar --totals -rf "$$tarname" --exclude-backups --exclude-vc \
+ PLAY/stamps/stamp-*-00-unpack PLAY/src ;\
+ xz "$$tarname" ;\
+ )
$(bdir)/NEWS.tmp: $(topsrc)/NEWS
@@ -820,6 +826,7 @@ installer: all w32_insthelpers $(bdir)/inst-options.ini $(bdir)/README.txt
-DVERSION=$(INST_VERSION) \
-DPROD_VERSION=$(INST_PROD_VERSION) \
$(w32src)/inst.nsi
+ @echo "Ready: $(idir)/gnupg-w32-$(INST_VERSION)"
#
# Mark phony targets
diff --git a/build-aux/speedo/w32/gdk-pixbuf-loaders.cache b/build-aux/speedo/w32/gdk-pixbuf-loaders.cache
index af513464c..78bc18a2c 100755
--- a/build-aux/speedo/w32/gdk-pixbuf-loaders.cache
+++ b/build-aux/speedo/w32/gdk-pixbuf-loaders.cache
@@ -133,3 +133,6 @@
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100
+
+
+# eof #
diff --git a/build-aux/speedo/w32/inst.nsi b/build-aux/speedo/w32/inst.nsi
index cf627f66c..30b3871e7 100644
--- a/build-aux/speedo/w32/inst.nsi
+++ b/build-aux/speedo/w32/inst.nsi
@@ -93,7 +93,7 @@ SetCompressor lzma
Name "${PRETTY_PACKAGE}"
# Set the output filename.
-OutFile "${PACKAGE}-${VERSION}.exe"
+OutFile "gnupg-w32-${VERSION}.exe"
#Fixme: Do we need a logo
#Icon "${TOP_SRCDIR}/doc/logo/gnupg-logo-icon.ico"
@@ -526,6 +526,7 @@ Section "-gnupginst"
# If we are reinstalling, try to kill a possible running agent using
# an already installed gpgconf.
ifFileExists "$INSTDIR\bin\gpgconf.exe" 0 no_gpgconf
+ ExecWait '"$INSTDIR\bin\gpgconf" --kill dirmngr'
ExecWait '"$INSTDIR\bin\gpgconf" --kill gpg-agent'
no_gpgconf:
@@ -542,9 +543,11 @@ Section "GnuPG" SEC_gnupg
SetOutPath "$INSTDIR\bin"
File /oname=gpg.exe "bin/gpg2.exe"
+ File /oname=gpgv.exe "bin/gpgv2.exe"
File "bin/gpgsm.exe"
File "bin/gpgconf.exe"
File "bin/gpg-connect-agent.exe"
+ File "bin/gpgtar.exe"
ClearErrors
SetOverwrite try
@@ -554,6 +557,22 @@ Section "GnuPG" SEC_gnupg
File /oname=gpg-agent.exe.tmp "bin/gpg-agent.exe"
Rename /REBOOTOK gpg-agent.exe.tmp gpg-agent.exe
+ ClearErrors
+ SetOverwrite try
+ File "libexec/scdaemon.exe"
+ SetOverwrite lastused
+ ifErrors 0 +3
+ File /oname=scdaemon.exe.tmp "libexec/scdaemon.exe"
+ Rename /REBOOTOK scdaemon.exe.tmp scdaemon.exe
+
+ ClearErrors
+ SetOverwrite try
+ File "bin/dirmngr.exe"
+ SetOverwrite lastused
+ ifErrors 0 +3
+ File /oname=dirmngr.exe.tmp "bin/dirmngr.exe"
+ Rename /REBOOTOK dirmngr.exe.tmp dirmngr.exe
+
SetOutPath "$INSTDIR\share\gnupg"
File "share/gnupg/gpg-conf.skel"
SectionEnd
@@ -995,10 +1014,14 @@ SectionEnd
Section "-un.gnupg"
Delete "$INSTDIR\bin\gpg.exe"
+ Delete "$INSTDIR\bin\gpgv.exe"
Delete "$INSTDIR\bin\gpgsm.exe"
Delete "$INSTDIR\bin\gpg-agent.exe"
+ Delete "$INSTDIR\bin\scdaemon.exe"
+ Delete "$INSTDIR\bin\dirmngr.exe"
Delete "$INSTDIR\bin\gpgconf.exe"
Delete "$INSTDIR\bin\gpg-connect-agent.exe"
+ Delete "$INSTDIR\bin\gpgtar.exe"
Delete "$INSTDIR\share\gnupg\gpg-conf.skel"
RMDir "$INSTDIR\share\gnupg"