* build-aux/speedo.mk: Update from 2.2. Add target w32-msi-release.
* build-aux/speedo/w32/inst.nsi: Fix location of doc files.
* build-aux/speedo/w32/wixlib.wxs: Add gpg-card and fix a wrong name.
* Makefile.am (release): Support a WITH_MSI variable.
(wixlibfile): Improve copying to archive.
(release): Use AMTAR instead of TAR.
--
Signed-off-by: Werner Koch <wk@gnupg.org>
* doc/examples/vsnfd.prf: Rename to VS-NfD.prf.
* doc/examples/Automatic.prf: New.
* doc/Makefile.am (examples): Adjust.
* build-aux/speedo/w32/inst.nsi: Install gpg-check-pattern.exe and 3
example files.
* build-aux/speedo/w32/wixlib.wxs: Add new files.
--
Note that we renamed the existing example profile so that kleopatra
shows a nicer name. In fact the gpg4win installer just copies of
theses file but it is better to maintain them here.
gpg-check-pattern.exe can no be installed because we meanwhile have a
regex lib which works also on Windows.
Signed-off-by: Werner Koch <wk@gnupg.org>
* tools/Makefile.am (gpgconf-w32): New target. Builds gpgconf with
subsystem windows.
* build-aux/speedo/w32/wixlib.wxs: Package it.
--
This allows us to create scripts that call gpgconf without opening
a console. Using subsystem windows is better then to just close
the console after start as it avoids the console flashing up.
(cherry picked from commit c366e04958481382c3f7b50f169120053186069b)
* Makefile.am (EXTRA_DIST): Add wixlib.wxs
* build-aux/speedo.mk (w32-wixlib): New target.
(w32-release): Build wixlib if WIXPREFIX is set.
(help): Add documentation.
* build-aux/speedo/w32/wixlib.wxs
--
This build a wixlib of the Windows binaries of GnuPG.
A wixlib is a module that can be linked into another
wix project to create an installer including this
module. Gpg4win uses the wixlib from GnuPG for
it's MSI Package.
To build the wixlib you need wine with wine-mono installed
and the wixtoolset.
When calling speedo set the variable WIXPREFIX to
the location containing the extracted toolset.
e.g.:
make -f build-aux/speedo.mk w32-wixlib WIXPREFIX=~/wix
* build-aux/speedo.mk (AUTHENTICODE_SIGNHOST): New.
(AUTHENTICODE_TOOL): New.
(AUTHENTICODE_FILES): New.
(installer): Sign listed files.
(AUTHENTICODE_SIGNHOST): New macro.
(sign-installer): Use that macro instead of direct use of osslsigncode.
--
This also adds code to support signing via a Token. Because there is
no specification of that token, I was not able to write a free driver
for it. Thus we resort to use a running Windows-10 instance with an
enabled ssh server to do the code signing.
Signed-off-by: Werner Koch <wk@gnupg.org>
(cherry picked from commit e6901c2bc802996c24335bcb35012ccb74b4ced0)
* build-aux/speedo.mk (speedo_pkg_gpgme_configure): Remove
--disable-w32-qt option.
--
This option is obsolete since GPGME 1.7 (in 2016)
Signed-off-by: Werner Koch <wk@gnupg.org>
--
This can be used to build GnuPG with static versions of the core
gnupg libraries. For example:
make -f build-aux/speedo.mk STATIC=1 SELFCHECK=0 \
INSTALL_PREFIX=/somewhere/gnupg22 native
The SELFCHECK=0 is only needed to build from a non-released version.
You don't need it with a released tarball.
Signed-off-by: Werner Koch <wk@gnupg.org>
* configure.ac (GNUPG_SWDB_TAG): New ac_define. Set it to "gnupg22".
* tools/gpgconf.c (query_swdb): Use it.
* build-aux/speedo.mk: Change tag "gnupg21" to "gnupg22".
* Makefile.am (distcheck-hook): Ditto.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/speedo/w32/g4wihelp.c (path_remove): Free path_new on
early return.
--
It's a weird condition in a once run function in a throwaway
process but -- yeah. It's a memleak and static analysis can
see it.
GnuPG-Bug-Id: T3197
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
* build-aux/speedo.mk (dist-source): Expand exclude-vc to
exclude-vcs.
--
Tar 1.29 also has exclude-vcs-ignores so this became
ambiguous.
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
* build-aux/speedo/w32/inst.nsi (AddToPath): Move account
check here.
(PrintNonAdminWarning): Remove is_user_install variable.
--
The PrintNonAdminWarning is not called in silent mode so the
variable was never set.
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
* build-aux/speedo/w32/g4wihelp.c (ENV_HK_USER, ENV_REG_USER):
New defines.
(path_add): Handle is_user_install variable. Don't abort
if Path reg key does not exist. Fix crash if Path reg key
does not contain a semicolon.
(path_remove): Handle is_user_install variable. Fix crash
if Path reg key does not exist.
* build-aux/speedo/w32/inst.nsi: Remove obsolete HAVE_STARTMENU
this was double guarded with WITH_GUI. Add Multiuser plugin and
defines for this. Use SHCTX instead of HKLM / HKCU.
(PrintNonAdminWarning): Only Warn and don't abort.
--
The default is still to install as Adminstrator system wide
but the user now has the option to explicitly install GnuPG without
Administrator rights. A warning will be shown in that case but
a user may continue.
A per user install is by default under %LOCALAPPDATA%\GnuPG
Related Task: T2971
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
* build-aux/speed/w32/inst.nsi: stop installing skeleton files.
* doc/gpg.texi: stop documenting skeleton files.
* g10/Makefile.am: stop installing skeleton files.
* g10/openfile.c (copy_options_file): Remove.
(try_make_homedir): do not call copy_options_file.
--
The defaults for gpg and dirmngr are good. Both programs should work
fine for the simple case without any config file. The skeleton config
files were being copied at first use (when the defaults are fine).
But when the user needs to fiddle with them (after they've become
sophisticated users), they're likely out of date because gpg has been
upgraded since then. So they're used for documentation, but they're
stale documentation, which is probably worse than a clean empty file.
GnuPG-bug-id: 3086
Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
* build-aux/speedo.mk (w32-sign-installer): New.
(AUTHENTICODE_KEY): New.
(installer-from-source): Use cp instead of mv. Factor code out to ...
(MKSWDB_commands): new macro.
(sign-installer): New.
--
Obviously this is more convenient then doing this all by hand.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/speedo/w32/inst.nsi: Use ExecToLog instead of
ExecWait.
--
nsExec is a standard nsis call to spawn a process and
wait for it to finish. ExecToLog redirects stdout and stderr
of the process call and adds it to the log window instead
of opening a temporary console window.
Signed-off-by: Andre Heinecke <aheinecke@intevation.de>
* build-aux/gitlog-to-changelog (parse_amend_file): Generalize keyword
removal.
--
This simplified rule does now match most special keywords like
Signed-off-by:
GnuPG-bug-id:
Fixes-commit:
However it does not match the sometimes used
Fixes:
which should be avoided anyway.
This patch helps in cases where the "--" delimiter line was not used
and only keywords were given.
Signed-off-by: Werner Koch <wk@gnupg.org>
* tests/gpgscm/COPYING: Rename to ...
* tests/gpgscm/LICENSE.TinySCHEME: this.
* AUTHORS: Add a note about TinySCHEME.
* build-aux/speedo/w32/pkg-copyright.txt: Add TinySCHEME notice.
--
I renamed the file with the license terms to avoid confusion with the
standard name for the GPL.
Signed-off-by: Werner Koch <wk@gnupg.org>
--
As long as a current swdb.lst is available and all directories below
~/b carry the appropriate tarballs this target can be used to build a
w32-installer w/0 any network access.
* configure.ac (BUILD_HOSTNAME): Set to "<anon>" bey default.
* build-aux/speedo.mk (speedo_pkg_gnupg_configure): Add
--enable-build-timestamp.
--
Debian-bug-id: 826309
Signed-off-by: Werner Koch <wk@gnupg.org>
* configure.ac: Do nor require libiconv for W32.
* common/utf8conv.c [W32]: Do not incluce iconv.h. Request
libgpg-error iconv macros.
(jnlib_iconv): Use ICONV_CONST macro.
* build-aux/speedo/w32/inst.nsi [!WITH_GUI]: Do not install libiconv.
* build-aux/speedo.mk (speedo_spkgs) [!WITH_GUI]: Likewise.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/speedo.mk: Change sqlite to use our mirror and the
swdb.lst file.
* build-aux/speedo/w32/inst.nsi: gpg is now build and installed as
gpg.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/getswdb.sh: Add option --find-sha256sum.
* build-aux/speedo.mk (libgpg_error_sha2): New var. Also for all
other packages.
(SHA2SUM): New.
(SETVARS, SETVARS_W64): Prefer sha256sum over sha1sum.
(installer-from-source): Create swdb fragment.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/git-hooks/commit-msg: Stop processing more lines when the
scissor line is encountered.
--
This allows the command `git commit -v` to work even if the code is
longer than 72 characters. Note that comments are already ignored by the
previous line.
Signed-off-by: Peter Wu <peter@lekensteyn.nl>
* build-aux/speedo.mk: Always build pinentry for w32.
(speedo_pkg_pinentry_configure): Adjust to modern pinentry.
* build-aux/speedo/w32/inst.nsi: Install native pinentry under the
name pinentry-basic.exe.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/speedo.mk (WITH_GUI): New macro. The Windows installer is
now build by default without any GUI stuff.
* build-aux/speedo/w32/inst.nsi: Change standard installation
directory.
(AddToPath, un.RemoveFromPath): New.
(gnupginst): Add bin directory to the PATH.
Signed-off-by: Werner Koch <wk@gnupg.org>
* build-aux/speedo/w32/README.txt: Include GnuPG Readme.
* build-aux/speedo/w32/gnupg-logo-150x57.bmp: New.
* build-aux/speedo/w32/gnupg-logo-164x314.bmp: New.
* build-aux/speedo/w32/inst.nsi: Add logos.
* build-aux/speedo.mk ($(bdir)/NEWS.tmp): Extract news items.
--
The welcome page logo is basically a placeholder until someone has
created a pretty one.
* build-aux/getswdb.sh: Add option --skip-verify.
* build-aux/speedo.mk: Add config var CUSTOM_SWDB. Tage adns version
from swdb and build for Windows with adns.
* build-aux/speedo.mk (TARGETOS): Init with empty string.
(speedo_pkg_gnupg_configure): Use --enable-gpg2-is-gpg only for w32.
(INST_VERSION, INST_PROD_VERSION): Create only for w32.
--
With this it is now possible build and install gnupg 2.1 properly
below /usr/local:
make -f TOPSRC/build-aux/speed.ml native INSTALL_PREFIX=/usr/local
Of course you need installation priviliges for the /usr/local tree.
* build-aux/getswdb.sh: Add option --find-sha1sum.
* build-aux/speedo.mk (check-tools): New phony target. Not yet used.
(SHA1SUM): New var. Use it instead of sha1sum.
* build-aux/getswdb.sh: New.
* build-aux/speedo.mk: Get release version numbers from swdb.lst.
--
This should make maintaining GnuPG installations easier. Running
make -f /foo/gnupg/build-aux/speedo.mk TARGETOS=native WHAT=release
downloads all GnuPG related packages and builds them. The gnupg
directory may be a GIT checkout but in that case please run
./autogen.sh on it first. Note that currently swdb.lst is always
downloaded from gnupg.org and thus monitoring the network or the gnupg
machine reveal information on who is currently building GnuPG. If
there is an easy way to detect that TOR is enabled this can be changed
to directly download from the GnuPG hidden service.
* 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.
* build-aux/speedo/: New.
* build-aux/speedo/w32/: New.
--
The new installer uses some code from Gpg4win but is much smaller and
easier to maintain. To build an installer, unpack GnuPG and then run
make -f build-aux/speedo.mk TARBALLS=~/mytarballs installer
~/mytarballs is a directory with tarballs of external libraries. See
speedo.mk for a list of them.
WARNING: The installed W32 version does not correctly work right now.