Include GnuPG 2.1 master
authorAndre Heinecke <aheinecke@intevation.de>
Wed, 26 Aug 2015 14:44:26 +0000 (16:44 +0200)
committerAndre Heinecke <aheinecke@intevation.de>
Wed, 26 Aug 2015 14:44:26 +0000 (16:44 +0200)
GnuPG is now included from the official binary package.

* configure.ac: mark gnupg-w32 as binsrc package. No longer
  configure gnupgs version.
* m4/gpg4win.m4: Allow packages to be .exe files.
* packages/packages.current (gnupg2): Removed.
  (gnupg-w32): New.
  (gpgme): Update to 1.6.0
* po/potfiles.in: Change gnupg2 to gnupg-w32
* po: Automated update.
* src/Makefile.am (EXTRA_DIST): Change gnupg2 to gnupg-w32
  (gpg4win_bpkgs): Add gnupg-w32
* src/config.nsi.in: Change gnupg2 to gnupg-w32
* src/gpg4win.mk.in (DEFLATE_macro): Add ".exe" handling.
* src/inst-gnupg2.nsi, src/uninst-gnupg2.nsi: Removed.
* src/inst-sections.nsi: Update sections accordingly.
* src/installer.nsi (PrintCloseOtherApps): Remove checks for gpg stuff.
* src/inst-gnupg-w32.nsi, src/uninst-gnupg-w32.nsi: New.

--
The idea behind this change is that there is only one "core"
gnupg package and that we rely on that package.

gnupg-w32 is treated like a binary package and executed during
installation to install gnupg.

This is work in progress.

21 files changed:
configure.ac
m4/gpg4win.m4
packages/packages.current
po/POTFILES.in
po/ar.po
po/cz.po
po/de.po
po/es.po
po/fr.po
po/it.po
po/pt.po
po/ru.po
src/Makefile.am
src/config.nsi.in
src/gpg4win.mk.in
src/inst-gnupg-w32.nsi [new file with mode: 0644]
src/inst-gnupg2.nsi [deleted file]
src/inst-sections.nsi
src/installer.nsi
src/uninst-gnupg-w32.nsi [new file with mode: 0644]
src/uninst-gnupg2.nsi [deleted file]

index c30d27d..e101106 100644 (file)
@@ -360,10 +360,8 @@ GPG4WIN_SPKG([libksba], [libgpg-error])
 GPG4WIN_SPKG([libassuan], [libgpg-error w32pth])
 GPG4WIN_SPKG([dirmngr], [libgpg-error libgcrypt libassuan libksba w32pth])
 GPG4WIN_SPKG([pinentry], [libiconv gtk+])
-GPG4WIN_SPKG([gpgme], [libgpg-error gnupg2 glib])
+GPG4WIN_SPKG([gpgme], [libgpg-error glib])
 GPG4WIN_SPKG([curl], [zlib gnutls])
-GPG4WIN_SPKG([gnupg2], [libiconv libgcrypt libksba libassuan libgpg-error dnl
-                        w32pth zlib bzip2 adns pinentry])
 GPG4WIN_SPKG([gpgol], [gpgme libassuan])
 GPG4WIN_SPKG([gpgex], [libassuan])
 GPG4WIN_SPKG([scute], [libgpg-error libassuan])
@@ -384,11 +382,14 @@ GPG4WIN_SPKGEX([gpgex], [libassuan])
 
 GPG4WIN_IPKG([compendium])
 
+# The GnuPG Package.
+GPG4WIN_BPKG_BINSRC([gnupg-w32])
+
 # Qt related stuff.
 GPG4WIN_BPKG_GNUWIN32([dbus])
 GPG4WIN_BPKG_BINSRC([oxygen-icons])
 GPG4WIN_BPKG_GNUWIN32([qt], [dbus])
-GPG4WIN_BPKG_BINSRC([kleopatra], [gpgme gnupg2 qt oxygen-icons])
+GPG4WIN_BPKG_BINSRC([kleopatra], [gpgme qt oxygen-icons])
 
 GPG4WIN_FINALIZE
 
@@ -417,10 +418,6 @@ fi
 
 # Finalize.
 
-AC_CONFIG_COMMANDS([gpg4win-conf],[[
-chmod +x patches/gnupg2/01-version.patch
-]])
-
 AC_CONFIG_FILES(Makefile)
 AC_CONFIG_FILES(packages/Makefile src/Makefile po/Makefile.in)
 AC_CONFIG_FILES(po/build-cc)
@@ -429,7 +426,6 @@ AC_CONFIG_FILES(doc/Makefile)
 AC_CONFIG_FILES(doc/logo/Makefile)
 AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex)
 AC_CONFIG_FILES(src/dictionaries/Makefile)
-AC_CONFIG_FILES(patches/gnupg2/01-version.patch)
 AC_OUTPUT
 
 # Throw a warning if optional tools are missing
index 91b2efe..7aa451b 100644 (file)
@@ -141,6 +141,9 @@ AC_DEFUN([GPG4WIN_FIND],
     AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != tar],
           [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.zip`
            _gpg4win_suffix=.zip])
+    AS_IF([test -z "$_gpg4win_file" -a $_gpg4win_format != tar -a $_gpg4win_format != zip],
+          [_gpg4win_file=`echo ${_gpg4win_dir}/${_gpg4win_glob}.exe`
+           _gpg4win_suffix=.exe])
     shopt -u nullglob])
 
   AS_IF([test -z "$_gpg4win_file"],
index e64cd96..e9528ae 100644 (file)
@@ -329,11 +329,15 @@ chk  86fe0436f3c8c394d32e142ee410a9f9560173fb
 file libassuan/libassuan-2.2.1.tar.bz2
 chk  c21b86482f6a3624c2b46b91e20f8415f244233a
 
-# last changed: 2015-06-05
+# last changed: 2015-08-20
 # by: ah
-name gnupg2-2.0.28.tar.bz2
-file gnupg/gnupg-2.0.28.tar.bz2
-chk  9a1050f72b6c9afe2b4a0a3f2e9dca2abba8e4ef
+name gnupg-w32-2.1.7-20150811-bin.exe
+file binary/gnupg-w32-2.1.7_20150811.exe
+chk  dfea3fa2499f64cac223c9329c9f017bc3da11a5
+
+name gnupg-w32-2.1.7-20150811-src.tar.xz
+file binary/gnupg-w32-2.1.7_20150811.tar.xz
+chk  20439f65b8d94ec79523c45ad72418670ca9d5eb
 
 # checked: 2014-07-16 ah
 file dirmngr/dirmngr-1.1.1.tar.bz2
@@ -348,10 +352,10 @@ chk  0c47f0ddea4631bcba01ebbeca8bffe0bf43e440
 file scute/scute-1.4.0.tar.bz2
 chk  e28141d2b03612c09512651795976c58ed3f8035
 
-# last changed: 2015-06-23
+# last changed: 2015-08-26
 # by: ah
-file gpgme/gpgme-1.5.5.tar.bz2
-chk  88476d72cb099e179de4040760502886f7a54926
+file gpgme/gpgme-1.6.0.tar.bz2
+chk  21510323495f6220f8f67610c3c27a23d761d43d
 
 # last changed: 2015-03-09
 # by: ah
index b291bfd..14d980d 100644 (file)
@@ -3,7 +3,7 @@ src/g4wihelp.nsi
 src/gpg4win.nsi
 src/gpg4win-src.nsi
 src/installer.nsi
-src/inst-gnupg2.nsi
+src/inst-gnupg-w32.nsi
 src/inst-gpa.nsi
 src/inst-gpg4win.nsi
 src/inst-gpgex.nsi
index 0931996..920ad92 100644 (file)
--- a/po/ar.po
+++ b/po/ar.po
@@ -284,8 +284,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
 #, fuzzy
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "ÍÇÑÓ ÎÕæÕíÉ Ìäæ"
 
index 0424956..759c181 100644 (file)
--- a/po/cz.po
+++ b/po/cz.po
@@ -291,7 +291,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
+#, fuzzy
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard"
 
index fc3245c..ced3bcc 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -354,7 +354,12 @@ msgstr ""
 "\n"
 "Claws Mail aus Gpg4win jetzt deinstallieren?"
 
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
+#, fuzzy
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr ""
 "Der GNU Privacy Guard (GnuPG) ist der Kernbestandteil dieser Software.  "
index f6694f0..f8afa06 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -291,8 +291,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
 #, fuzzy
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard (GnuPG)"
 
index 82253ca..57e60f2 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -295,7 +295,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
+#, fuzzy
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard"
 
index 6d02018..8803e76 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -297,7 +297,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
+#, fuzzy
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard"
 
index 21704a2..69386eb 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -296,7 +296,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
+#, fuzzy
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard"
 
index 09c5392..96a48ef 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -292,8 +292,12 @@ msgid ""
 "Uninstall Claws Mail from Gpg4win now?"
 msgstr ""
 
+msgctxt "T_Installing_GnuPG"
+msgid "Installing GnuPG"
+msgstr ""
+
 #, fuzzy
-msgctxt "DESC_SEC_gnupg2"
+msgctxt "DESC_SEC_gnupg_w32"
 msgid "GNU Privacy Guard"
 msgstr "GNU Privacy Guard"
 
index ccd3269..555bcca 100644 (file)
@@ -39,7 +39,7 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi \
         inst-gettext.nsi          uninst-gettext.nsi         \
         inst-libffi.nsi                   uninst-libffi.nsi          \
         inst-glib.nsi             uninst-glib.nsi            \
-        inst-gnupg2.nsi                   uninst-gnupg2.nsi          \
+        inst-gnupg-w32.nsi        uninst-gnupg-w32.nsi       \
         inst-gpa.nsi              uninst-gpa.nsi             \
         inst-gpgme.nsi            uninst-gpgme.nsi           \
         inst-scute.nsi            uninst-scute.nsi           \
@@ -322,7 +322,7 @@ gpg4win_pkg_zlib_make_args_inst = -fwin32/Makefile.gcc install \
 
 # Supported binary packages.
 gpg4win_bpkgs = pkgconfig pango expat freetype fontconfig \
-                cairo atk qt dbus oxygen-icons kleopatra bsfilter
+                cairo atk qt dbus oxygen-icons kleopatra bsfilter gnupg-w32
 
 # libiconv needs some special magic to generate a usable import
 # library.
index 9a24f38..e58e05b 100644 (file)
@@ -84,9 +84,9 @@
 !define gpg4win_pkg_adns @gpg4win_pkg_adns@
 !define gpg4win_pkg_adns_version @gpg4win_pkg_adns_version@
 
-@HAVE_PKG_GNUPG2@
-!define gpg4win_pkg_gnupg2 @gpg4win_pkg_gnupg2@
-!define gpg4win_pkg_gnupg2_version @gpg4win_pkg_gnupg2_version@
+@HAVE_PKG_GNUPG_W32@
+!define gpg4win_pkg_gnupg_w32 @gpg4win_pkg_gnupg_w32@
+!define gpg4win_pkg_gnupg_w32_version @gpg4win_pkg_gnupg_w32_version@
 
 @HAVE_PKG_PINENTRY@
 !define gpg4win_pkg_pinentry @gpg4win_pkg_pinentry@
index ca6aac9..0631478 100644 (file)
@@ -118,6 +118,8 @@ define DEFLATE_macro
            $(TAR) xjf "$(1)" ;;        \
          *.tar.xz )                    \
            $(TAR) xJf "$(1)" ;;        \
+         *.exe )                               \
+           cp "$(1)" .       ;;        \
          *.zip)                        \
            $(UNZIP) -o "$(1)" ;;               \
        esac
diff --git a/src/inst-gnupg-w32.nsi b/src/inst-gnupg-w32.nsi
new file mode 100644 (file)
index 0000000..dd16db3
--- /dev/null
@@ -0,0 +1,48 @@
+# inst-gnupg2.nsi - Installer snippet for gnupg-w32. -*- coding: latin-1; -*-
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of Gpg4win.
+#
+# Gpg4win 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 2 of the License, or
+# (at your option) any later version.
+#
+# Gpg4win 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA.
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gnupg-w32-${gpg4win_pkg_gnupg_w32_version}
+!define source ${bpdir}/gnupg-w32-${gpg4win_pkg_gnupg_w32_version}
+
+${MementoSection} "GnuPG" SEC_gnupg_w32
+  SectionIn RO
+
+!ifdef SOURCES
+  SetOutPath "$INSTDIR"
+  File "${gpg4win_pkg_gnupg_w32}"
+!else
+
+SetOutPath "$TEMP"
+  DetailPrint  "$(T_Installing_GnuPG) ${gpg4win_pkg_gnupg_w32_version}"
+  File "${prefix}/gnupg-w32-${gpg4win_pkg_gnupg_w32_version}-bin.exe"
+  ExecWait '"$TEMP\gnupg-w32-${gpg4win_pkg_gnupg_w32_version}-bin.exe" /S /D="$INSTDIR\..\GnuPG"'
+
+  Delete "$TEMP\gnupg-w32-${gpg4win_pkg_gnupg_w32_version}-bin.exe"
+!endif
+${MementoSectionEnd}
+
+LangString T_Installing_GnuPG ${LANG_ENGLISH} \
+   "Installing GnuPG"
+
+LangString DESC_SEC_gnupg_w32 ${LANG_ENGLISH} \
+   "GNU Privacy Guard"
diff --git a/src/inst-gnupg2.nsi b/src/inst-gnupg2.nsi
deleted file mode 100644 (file)
index 0f4c879..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-# inst-gnupg2.nsi - Installer snippet for gnupg2.     -*- coding: latin-1; -*-
-# Copyright (C) 2007, 2008 g10 Code GmbH
-#
-# This file is part of Gpg4win.
-#
-# Gpg4win 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 2 of the License, or
-# (at your option) any later version.
-#
-# Gpg4win 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA.
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/gnupg2-${gpg4win_pkg_gnupg2_version}
-!define source ${bpdir}/gnupg2-${gpg4win_pkg_gnupg2_version}
-
-
-${MementoSection} "GnuPG" SEC_gnupg2
-  SectionIn RO
-
-  SetOutPath "$INSTDIR"
-!ifdef SOURCES
-  File "${gpg4win_pkg_gnupg2}"
-!else
-  File "${prefix}/bin/gpg2.exe"
-  File "${prefix}/bin/gpgv2.exe"
-  File "${prefix}/bin/gpgsm.exe"
-
-  # Fixme: gpgsplit is missing.  I doubt that it makes sense to rename
-  # it like we did with gpg.  It might be better to install this tool
-  # into a subdirectory.
-
-  # If we are reinstalling, try to kill a possible running agent
-  ifFileExists "$INSTDIR\gpg-connect-agent.exe"  0 no_gpg_connect_agent
-    ExecWait '"$INSTDIR\gpg-connect-agent.exe" killagent /bye'
-  no_gpg_connect_agent:
-
-  ClearErrors
-  SetOverwrite try
-  File "${prefix}/bin/gpg-agent.exe"
-  SetOverwrite lastused
-  ifErrors 0 +3
-      File /oname=gpg-agent.exe.tmp "${prefix}/bin/gpg-agent.exe"
-      Rename /REBOOTOK gpg-agent.exe.tmp gpg-agent.exe
-
-  File "${prefix}/libexec/scdaemon.exe"
-  File "${prefix}/bin/gpgconf.exe"
-  File "${prefix}/bin/gpg-connect-agent.exe"
-
-  File /nonfatal "${prefix}/bin/gpgtar.exe"
-
-
-  # As a special exception, these programs are not kept in
-  # libexec/gnupg, where they belong.  Please see the comment in
-  # gnupg/g10/keyserver.c::keyserver_spawn() for an explanation.
-  File "${prefix}/libexec/gpg2keys_finger.exe"
-  File "${prefix}/libexec/gpg2keys_hkp.exe"
-  File "${prefix}/libexec/gpg2keys_curl.exe"
-  File "${prefix}/libexec/gpg2keys_ldap.exe"
-  File /nonfatal "${prefix}/libexec/gpg2keys_kdns.exe"
-  File "${prefix}/libexec/gpg-protect-tool.exe"
-  File "${prefix}/libexec/gpg-preset-passphrase.exe"
-
-  # Install the wrappers into the PATH included directory.  These are
-  # our poor hacker's symlinks.  We always install wrappers
-  # gpg[v]->gpg[v]2.  If old applications are not able to work with
-  # gpg2, they may still install a gpg1 version and use the installed
-  # version directly without the wrapper.
-  SetOutPath "$INSTDIR\pub"
-  File /oname=gpg.exe       "${BUILD_DIR}/gpgwrap-2.exe"
-  File /oname=gpgv.exe      "${BUILD_DIR}/gpgwrap-2.exe"
-  File /oname=gpg2.exe      "${BUILD_DIR}/gpgwrap.exe"
-  File /oname=gpgsm.exe     "${BUILD_DIR}/gpgwrap.exe"
-  File /oname=gpg-connect-agent.exe  "${BUILD_DIR}/gpgwrap.exe"
-  File /oname=gpgconf.exe   "${BUILD_DIR}/gpgwrap.exe"
-  # fixme: gpgsplit is missing; see above
-
-  SetOutPath "$INSTDIR\share\gnupg"
-  File "${prefix}/share/gnupg/qualified.txt"
-  # Due to problems with kleoptra we currently do not install the
-  # common certificates anymore.
-  #File "${prefix}/share/gnupg/com-certs.pem"
-  File "${prefix}/share/gnupg/gpg-conf.skel"
-  # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/options.skel"
-  # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/FAQ"
-  # [fixme: Missing in gnupg2] File "${prefix}/share/gnupg/faq.html"
-  File "${prefix}/share/man/man1/gpg2.man"
-  File "${prefix}/share/man/man1/gpgv2.man"
-  File "${prefix}/share/man/man1/gpgsm.man"
-  File "${prefix}/share/man/man1/gpg-agent.man"
-  File "${prefix}/share/man/man1/scdaemon.man"
-  File "${prefix}/share/man/man1/gpg-connect-agent.man"
-  File "${prefix}/share/man/man1/gpgconf.man"
-
-  # Install the language files for gpg.  Note that the PO files are
-  # required to be UTF-8 encoded and that the post-install macro in
-  # Makefile.am needs to build them.  The language used depends on the
-  # current locale of the session and may be overriden using LC_ALL,
-  # LC_MESSAGES or LANG.
-
-  # 1. Remove posible left over files from old versions.
-  Delete "$INSTDIR\gnupg2.nls\*.mo"
-  RMDir  "$INSTDIR\gnupg2.nls"
-
-  # 2. Install the help files
-  File /nonfatal "${prefix}/share/gnupg/help.*.txt"
-
-  # 3. Install the mo files.
-  SetOutPath "$INSTDIR\share\locale\be\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/be/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\ca\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/ca/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\cs\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/cs/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\da\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/da/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\de\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/de/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\el\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/el/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\eo\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/eo/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\es\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/es/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\et\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/et/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\fi\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/fi/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\fr\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/fr/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\gl\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/gl/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\hu\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/hu/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\id\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/id/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\it\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/it/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\ja\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/ja/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\nb\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/nb/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\pl\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/pl/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\pt_BR\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/pt_BR/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\pt\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/pt/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\ro\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/ro/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\ru\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/ru/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\sk\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/sk/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\sv\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/sv/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\tr\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/tr/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\zh_CN\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/zh_CN/LC_MESSAGES/gnupg2.mo
-  SetOutPath "$INSTDIR\share\locale\zh_TW\LC_MESSAGES"
-  File /nonfatal ${prefix}/share/locale/zh_TW/LC_MESSAGES/gnupg2.mo
-
-
-  # Always install the new template into COMMON_APPDATA folder.
-  SetShellVarContext all
-  SetOutPath "$APPDATA\GNU\etc\gnupg"
-  File /oname=gpgconf-conf.skel "${source}/doc/examples/gpgconf.conf"
-  File /oname=trustlist.txt.example "${source}/doc/examples/trustlist.txt"
-  # create empty trustlist.txt if not exists
-  IfFileExists "$APPDATA\GNU\etc\gnupg\trustlist.txt" TrustlistExists TrustlistNotExists
-  TrustlistNotExists:
-    FileOpen $9 trustlist.txt w ;Open new file
-    FileClose $9 ;Closes file
-  TrustlistExists:
-  SetShellVarContext current
-
-
-  # If requested, install the configuration files.
-  ReadRegStr $0 HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" AppData
-  StrCmp $0 "" no_config_gpg_conf_files
-  CreateDirectory "$0\gnupg"
-
-  g4wihelp::config_fetch "gpg.conf"
-  StrCmp $R0 "" no_config_gpg2_conf
-    CopyFiles $R0 "$0\gnupg\gpg.conf"
-  no_config_gpg2_conf:
-
-  g4wihelp::config_fetch "gpg-agent.conf"
-  StrCmp $R0 "" no_config_gpg_agent_conf
-    CopyFiles $R0 "$0\gnupg\gpg-agent.conf"
-  no_config_gpg_agent_conf:
-
-  g4wihelp::config_fetch "scdaemon.conf"
-  StrCmp $R0 "" no_config_scdaemon_conf
-    CopyFiles $R0 "$0\gnupg\scdaemon.conf"
-  no_config_scdaemon_conf:
-
-  g4wihelp::config_fetch "trustlist.txt"
-  StrCmp $R0 "" no_config_trustlist_txt
-    CopyFiles $R0 "$0\gnupg\trustlist.txt"
-  no_config_trustlist_txt:
-
-  no_config_gpg_conf_files:
-
-!endif
-${MementoSectionEnd}
-
-LangString DESC_SEC_gnupg2 ${LANG_ENGLISH} \
-   "GNU Privacy Guard"
index d5906e0..b43414b 100644 (file)
 !ifdef HAVE_PKG_PINENTRY
 !include "inst-pinentry.nsi"
 !endif
-!ifdef HAVE_PKG_GNUPG2
-!include "inst-gnupg2.nsi"
+!ifdef HAVE_PKG_GNUPG_W32
+!include "inst-gnupg-w32.nsi"
 !endif
 !ifdef HAVE_PKG_GPGME
 !include "inst-gpgme.nsi"
 !ifdef HAVE_PKG_GPGME
 !include "uninst-gpgme.nsi"
 !endif
-!ifdef HAVE_PKG_GNUPG2
-!include "uninst-gnupg2.nsi"
+!ifdef HAVE_PKG_GNUPG_W32
+!include "uninst-gnupg-w32.nsi"
 !endif
 !ifdef HAVE_PKG_PINENTRY
 !include "uninst-pinentry.nsi"
@@ -566,7 +566,8 @@ Function CalcDepends
   # these packages in the RO section and enabling them by default, but
   # it doesn't harm to add it explicitely here as well.
 
-  !insertmacro SelectSection ${SEC_gnupg2}
+  # TODO: Handle newer / other gnupg versions
+  !insertmacro SelectSection ${SEC_gnupg_w32}
 
   # Then enable all dependencies, mostly in reverse build list order!
 
@@ -629,26 +630,11 @@ Function CalcDepends
   skip_kleopatra:
 !endif
 
-!ifdef HAVE_PKG_GNUPG2
-  !insertmacro SectionFlagIsSet ${SEC_gnupg2} ${SF_SELECTED} have_gnupg2 skip_gnupg2
-  have_gnupg2:
-  !insertmacro SelectSection ${SEC_libiconv}
-  !insertmacro SelectSection ${SEC_libgcrypt}
-  !insertmacro SelectSection ${SEC_libksba}
-  !insertmacro SelectSection ${SEC_libassuan}
-  !insertmacro SelectSection ${SEC_libgpg_error}
-  !insertmacro SelectSection ${SEC_w32pth}
-  !insertmacro SelectSection ${SEC_zlib}
-  !insertmacro SelectSection ${SEC_adns}
+!ifdef HAVE_PKG_GNUPG_W32
+  !insertmacro SectionFlagIsSet ${SEC_gnupg_w32} ${SF_SELECTED} have_gnupg_w32 skip_gnupg_w32
+  have_gnupg_w32:
   !insertmacro SelectSection ${SEC_pinentry}
-  !insertmacro SelectSection ${SEC_curl}
-  !insertmacro SelectSection ${SEC_dirmngr}
-  # Because we need pinentry, we also need to install GTK+
-  !insertmacro SelectSection ${SEC_zlib}
-  !insertmacro SelectSection ${SEC_gtk_}
-  !insertmacro SelectSection ${SEC_libpng}
-  !insertmacro SelectSection ${SEC_glib}
-  skip_gnupg2:
+  skip_gnupg_w32:
 !endif
 
 !ifdef HAVE_PKG_GPA
@@ -723,7 +709,12 @@ Function CalcDepends
                ${SF_SELECTED} have_pinentry skip_pinentry
   have_pinentry:
   !insertmacro SelectSection ${SEC_libiconv}
+!ifdef HAVE_PKG_QT
+  !insertmacro SelectSection ${SEC_qt}
+!endif
+!ifdef HAVE_PKG_GTK_
   !insertmacro SelectSection ${SEC_gtk_}
+!endif
    skip_pinentry:
 !endif
 
@@ -939,8 +930,8 @@ FunctionEnd
 # This must be in a central place.  Urgs.
 
 !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
-!ifdef HAVE_PKG_GNUPG2
-  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg2} $(DESC_SEC_gnupg2)
+!ifdef HAVE_PKG_GNUPG_W32
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg_w32} $(DESC_SEC_gnupg_w32)
 !endif
 !ifdef HAVE_PKG_GPGOL
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgol} $(DESC_SEC_gpgol)
index b7ff0dd..1c2fed2 100644 (file)
@@ -450,19 +450,12 @@ FunctionEnd
 # Check whether this is a reinstall and popup a message box to explain
 # that it is better to close other apps before continuing
 Function PrintCloseOtherApps
-    IfFileExists $INSTDIR\gnupg.exe print_warning
-    IfFileExists $INSTDIR\winpt.exe print_warning
+    # TODO Look for running processes instead.
     IfFileExists $INSTDIR\gpa.exe   print_warning
     IfFileExists $INSTDIR\gpgol.dll print_warning
-    IfFileExists $INSTDIR\dirmngr.exe print_warning
     Return
    print_warning:
     MessageBox MB_OK|MB_ICONEXCLAMATION "$(T_CloseOtherApps)"
-    IfFileExists $INSTDIR\winpt.exe 0 +3
-      MessageBox MB_OK "$(T_ShuttingDownWinPT)"
-      ExecWait '"$INSTDIR\winpt.exe" --stop'
-    IfFileExists $INSTDIR\dirmngr.exe 0 +3
-      g4wihelp::service_stop "DirMngr"
    leave:
 FunctionEnd
 
diff --git a/src/uninst-gnupg-w32.nsi b/src/uninst-gnupg-w32.nsi
new file mode 100644 (file)
index 0000000..c9adef2
--- /dev/null
@@ -0,0 +1,34 @@
+# inst-gnupg2.nsi - Uninstaller snippet for gnupg-w32. -*- coding: latin-1; -*-
+# Copyright (C) 2015 Intevation GmbH
+#
+# This file is part of Gpg4win.
+#
+# Gpg4win 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 2 of the License, or
+# (at your option) any later version.
+#
+# Gpg4win 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, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+# MA 02110-1301, USA.
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/gnupg-w32-${gpg4win_pkg_gnupg_w32_version}
+
+
+# Uninstaller section.
+Section "un.gnupg_w32"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_gnupg_w32}"
+  Call un.SourceDelete
+!else
+  # TODO: Read gnupg uninstaller from registry.
+!endif
+SectionEnd
diff --git a/src/uninst-gnupg2.nsi b/src/uninst-gnupg2.nsi
deleted file mode 100644 (file)
index 0242192..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-# uninst-gnupg2.nsi - Uninstaller snippet for gnupg2. -*- coding: latin-1; -*-
-# Copyright (C) 2007 g10 Code GmbH
-#
-# This file is part of Gpg4win.
-#
-# Gpg4win 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 2 of the License, or
-# (at your option) any later version.
-#
-# Gpg4win 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, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
-# MA 02110-1301, USA.
-
-
-!ifdef prefix
-!undef prefix
-!endif
-!define prefix ${ipdir}/gnupg2-${gpg4win_pkg_gnupg2_version}
-
-
-# Uninstaller section.
-Section "-un.gnupg"
-!ifdef SOURCES
-  Push "${gpg4win_pkg_gnupg2}"
-  Call un.SourceDelete
-!else
-  # Try to stop a running agent.  This is only for the admin but in
-  # some cases that is actually useful.
-  ifFileExists "$INSTDIR\gpg-connect-agent.exe" 0 no_u_gpg_connect_agent
-    ifFileExists "$INSTDIR\libgpg-error-0.dll" 0 no_u_gpg_connect_agent
-      ifFileExists "$INSTDIR\libw32pth-0.dll" 0 no_u_gpg_connect_agent
-        ExecWait '"$INSTDIR\gpg-connect-agent.exe" killagent /bye'
-  no_u_gpg_connect_agent:
-
-  Delete "$INSTDIR\gpg2.exe"
-  Delete "$INSTDIR\gpgv2.exe"
-  Delete "$INSTDIR\gpgsm.exe"
-  Delete /REBOOTOK "$INSTDIR\gpg-agent.exe"
-  Delete /REBOOTOK "$INSTDIR\scdaemon.exe"
-  Delete "$INSTDIR\gpgconf.exe"
-  Delete "$INSTDIR\gpg-connect-agent.exe"
-  Delete "$INSTDIR\gpgsplit.exe"
-  Delete "$INSTDIR\gpgtar.exe"
-
-  Delete "$INSTDIR\pub\gpg.exe"
-  Delete "$INSTDIR\pub\gpg2.exe"
-  Delete "$INSTDIR\pub\gpgv.exe"
-  Delete "$INSTDIR\pub\gpgsm.exe"
-  Delete "$INSTDIR\pub\gpg-connect-agent.exe"
-  Delete "$INSTDIR\pub\gpgconf.exe"
-
-  Delete "$INSTDIR\gpg2keys_finger.exe"
-  Delete "$INSTDIR\gpg2keys_hkp.exe"
-  Delete "$INSTDIR\gpg2keys_curl.exe"
-  Delete "$INSTDIR\gpg2keys_ldap.exe"
-  Delete "$INSTDIR\gpg2keys_kdns.exe"
-  Delete "$INSTDIR\gpg-protect-tool.exe"
-  Delete "$INSTDIR\gpg-preset-passphrase.exe"
-
-  Delete "$INSTDIR\share\gnupg\qualified.txt"
-  Delete "$INSTDIR\share\gnupg\com-certs.pem"
-  Delete "$INSTDIR\share\gnupg\gpg-conf.skel"
-  Delete "$INSTDIR\share\gnupg\help.*.txt"
-  Delete "$INSTDIR\share\gnupg\*.man"
-  RMDir "$INSTDIR\share\gnupg"
-
-
-  Delete "$INSTDIR\share\locale\be\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\ca\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\cs\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\da\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\de\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\el\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\eo\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\es\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\et\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\fi\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\fr\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\gl\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\hu\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\id\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\it\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\ja\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\nb\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\pl\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\pt_BR\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\pt\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\ro\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\ru\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\sk\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\sv\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\tr\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\zh_CN\LC_MESSAGES\gnupg2.mo"
-  Delete "$INSTDIR\share\locale\zh_TW\LC_MESSAGES\gnupg2.mo"
-
-
-!endif
-SectionEnd