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.
This commit is contained in:
Werner Koch 2014-06-11 15:45:29 +02:00
parent e06d5d1a3b
commit 6eeb31abee
4 changed files with 42 additions and 9 deletions

2
.gitignore vendored
View File

@ -21,7 +21,7 @@ keyserver/gpg2keys_test
tools/gpg-zip
# Files created by make when not using a VPATH build
play/
PLAY/
*.o
po/en@boldquot.insert-header
po/en@boldquot.po

View File

@ -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

View File

@ -133,3 +133,6 @@
"image/x-xpixmap" ""
"xpm" ""
"/* XPM */" "" 100
# eof #

View File

@ -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"