Add Paperkey tool.
authorWerner Koch <wk@gnupg.org>
Fri, 23 Jan 2009 11:16:32 +0000 (11:16 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 23 Jan 2009 11:16:32 +0000 (11:16 +0000)
ChangeLog
configure.ac
doc/pkg-copyright.txt
include/config.nsi.in
packages/packages.current
src/Makefile.am
src/inst-paperkey.nsi [new file with mode: 0644]
src/inst-sections.nsi
src/uninst-paperkey.nsi [new file with mode: 0644]

index a3a7a76..5a12ba9 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-01-23  Werner Koch  <wk@g10code.com>
+
+       * src/inst-paperkey.nsi, src/uninst-paperkey.nsi: New.
+       * src/inst-sections.nsi: Install Paperkey.
+       * include/config.nsi.in: Add Paperkey.
+       * src/Makefile.am (EXTRA_DIST): Add paperkey.
+       (gpg4win_pkg_paperkey_configure): New.
+       (gpg4win_pkg_paperkey_post_install): New.
+       * configure.ac: Add Paperkey.
+
 2009-01-22  Werner Koch  <wk@g10code.com>
 
        * packages/packages.current: Update Libgcrypt.
@@ -3167,7 +3177,7 @@ s2008-04-23  Werner Koch  <wk@g10code.com>
        * packages/download.sh: Fix downloading of Gtk source packages.
 
 
- Copyright 2005, 2006, 2007, 2008 g10 Code GmbH
+ Copyright 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
 
  This file is free software; as a special exception the author gives
  unlimited permission to copy and/or distribute it, with or without
index 69bd058..31d48a6 100644 (file)
@@ -214,6 +214,7 @@ GPG4WIN_SPKG([pthreads-w32])
 GPG4WIN_SPKG([gpgol], [gpgme libassuan])
 GPG4WIN_SPKG([gpgex], [libassuan])
 GPG4WIN_SPKG([scute], [libgpg-error libassuan])
+GPG4WIN_SPKG([paperkey])
 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
 GPG4WIN_SPKG([winpt], [gpgme gnupg2])
 GPG4WIN_SPKG([libgsasl])
index be32116..8503038 100644 (file)
@@ -243,6 +243,7 @@ WinPT is
   You should have received a copy of the GNU General Public License
   along with WinPT; if not, write to the Free Software Foundation, 
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+
  
 BZIP2 is 
 
@@ -285,6 +286,7 @@ BZIP2 is
   jseward@bzip.org
   bzip2/libbzip2 version 1.0.4 of 20 December 2006
 
+
 ADNS
 
   adns is Copyright 2008 g10 Code GmbH, Copyright 1997-2000,2003,2006
@@ -305,3 +307,30 @@ ADNS
   along with adns, or one should be available above; if not, write to
   the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
   MA 02111-1307, USA, or email adns-maint@chiark.greenend.org.uk.
+
+
+Paperkey
+
+  Copyright (C) 2007, 2008, 2009 David Shaw <dshaw@jabberwocky.com>
+  
+  This program 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.
+  
+  This program 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.
+  The included man page is
+  
+  Copyright (C) 2007 Peter Palfrader <peter@palfrader.org>
+  Examples have been taken from David Shaw's README. The license is
+  the same as for Paperkey.
index e7b0c06..3c7da4d 100644 (file)
 !define gpg4win_pkg_scute @gpg4win_pkg_scute@
 !define gpg4win_pkg_scute_version @gpg4win_pkg_scute_version@
 
+@HAVE_PKG_PAPERKEY@
+!define gpg4win_pkg_paperkey @gpg4win_pkg_paperkey@
+!define gpg4win_pkg_paperkey_version @gpg4win_pkg_paperkey_version@
+
 # Internal packages.
 @HAVE_PKG_COMPENDIUM_DE@
 
index d4b85a7..90ead3d 100644 (file)
@@ -339,6 +339,13 @@ chk  7fe96c4149fc46b02a824370fe63ae3c7df7fd8c
 
 
 #
+#  GnuPG utilities
+#
+server http://www.jabberwocky.com/software/paperkey
+chk  ddb5fa5612df365ae0ba324ba307d3aa2e549981  
+file paperkey-1.0.tar.gz
+
+#
 # adns
 #
 server ftp://ftp.g10code.com/g10code/adns
index 0bc7da9..7270cd1 100644 (file)
@@ -48,6 +48,7 @@ EXTRA_DIST = pkg-config gpg4win.nsi gpg4win-src.nsi config.site \
         inst-gpgee.nsi            uninst-gpgee.nsi           \
         inst-gpgme.nsi            uninst-gpgme.nsi           \
         inst-scute.nsi            uninst-scute.nsi           \
+        inst-paperkey.nsi         uninst-paperkey.nsi        \
         inst-gpgol.nsi            uninst-gpgol.nsi           \
         inst-gpgex.nsi            uninst-gpgex.nsi           \
         inst-gtk+.nsi             uninst-gtk+.nsi            \
@@ -90,7 +91,7 @@ gpg4win_spkgs = glib libgpg-error gpgme gpgol gpgex \
                gpa winpt libgsasl libtasn1 opencdk gnutls curl libxml2 \
                 libetpan claws-mail notification_plugin gtkhtml2_viewer \
                vcalendar rssyl gnupg2 pinentry libassuan libksba libgcrypt \
-               adns dirmngr w32pth scute tnef_parse attachwarner
+               adns dirmngr w32pth scute paperkey tnef_parse attachwarner
 
 # Extra options to configure for individual packages.
 # We can use $(idir) here for the installation prefix.
@@ -115,6 +116,16 @@ define gpg4win_pkg_gnupg2_post_install
  done)
 endef
 
+# Paperkey comes with a man pages which we have to convert.
+define gpg4win_pkg_paperkey_post_install
+(for i in paperkey ; \
+  do man -Tlatin1 -l $$$${pkgidir}/share/man/man1/$$$${i}.1 | \
+    sed `printf "s/_\b//g;s/\b.//g"` | \
+    sed -e 's/$$$$/\r/' > $$$${pkgidir}/share/man/man1/$$$${i}.man ; \
+ done)
+endef
+
+
 
 # Build the reference manual.
 define gpg4win_pkg_gpgol_post_install
@@ -260,6 +271,8 @@ gpg4win_pkg_attachwarner_configure = \
 gpg4win_pkg_scute_configure = --silent \
   --with-gpgme-prefix=$(idir) --with-libassuan-prefix=$(idir)
 
+gpg4win_pkg_paperkey_configure = --silent
+
 # Supported make-only source packages.
 gpg4win_mpkgs = pthreads-w32 bzip2
 
diff --git a/src/inst-paperkey.nsi b/src/inst-paperkey.nsi
new file mode 100644 (file)
index 0000000..27636a9
--- /dev/null
@@ -0,0 +1,48 @@
+# inst-paperkey.nsi - Installer snippet for paperkey -*- coding: latin-1; -*-
+# Copyright (C) 2009 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, see <http://www.gnu.org/licenses/>.
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/paperkey-${gpg4win_pkg_paperkey_version}
+
+
+!ifdef DEBUG
+Section "Paperkey" SEC_paperkey
+!else
+Section "-Paperkey" SEC_paperkey
+!endif
+  SetOutPath "$INSTDIR"
+!ifdef SOURCES
+  File "${gpg4win_pkg_paperkey}"
+!else
+
+  File "${prefix}/bin/paperkey.exe"
+
+  # Instead of creating a new subdirectory we put the man page into
+  # the gnupg directory.
+  SetOutPath "$INSTDIR\share\gnupg"
+  File "${prefix}/share/man/man1/paperkey.man"
+
+!endif
+SectionEnd
+
+
+LangString DESC_SEC_paperkey ${LANG_ENGLISH} \
+   "A tool to backup keys on paper"
index 4310a33..b0303c3 100644 (file)
@@ -1,5 +1,5 @@
 # inst-sections.nsi - Installer for GPG4Win sections.  -*- coding: latin-1; -*-
-# Copyright (C) 2005, 2006, 2007, 2008 g10 Code GmbH
+# Copyright (C) 2005, 2006, 2007, 2008, 2009 g10 Code GmbH
 # 
 # This file is part of GPG4Win.
 # 
@@ -14,9 +14,7 @@
 # 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.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
 
 
 # Sections
 !ifdef HAVE_PKG_SCUTE
 !include "inst-scute.nsi"
 !endif
+!ifdef HAVE_PKG_PAPERKEY
+!include "inst-paperkey.nsi"
+!endif
 !ifdef HAVE_PKG_CLAWS_MAIL
 !include "inst-claws-mail.nsi"
 !endif
 !ifdef HAVE_PKG_ATTACHWARNER
 !include "uninst-attachwarner.nsi"
 !endif
+!ifdef HAVE_PKG_PAPERKEY
+!include "uninst-paperkey.nsi"
+!endif
 !ifdef HAVE_PKG_SCUTE
 !include "uninst-scute.nsi"
 !endif
@@ -448,6 +452,17 @@ calc_defaults_gpgex_done:
 calc_defaults_scute_done:
 !endif
 
+!ifdef HAVE_PKG_PAPERKEY
+  g4wihelp::config_fetch_bool "inst_paperkey"
+  StrCmp $R0 "1" 0 calc_defaults_paperkey_not_one
+   !insertmacro SelectSection ${SEC_paperkey}
+   Goto calc_defaults_paperkey_done
+  calc_defaults_paperkey_not_one:
+  StrCmp $R0 "0" 0 calc_defaults_paperkey_done
+   !insertmacro UnselectSection ${SEC_paperkey}
+calc_defaults_paperkey_done:
+!endif
+
 !ifdef HAVE_PKG_GPA
   g4wihelp::config_fetch_bool "inst_gpa"
   StrCmp $R0 "1" 0 calc_defaults_gpa_not_one
@@ -683,6 +698,14 @@ Function CalcDepends
   skip_scute:
 !endif
 
+!ifdef HAVE_PKG_PAPERKEY
+  !insertmacro SectionFlagIsSet ${SEC_paperkey} \
+               ${SF_SELECTED} have_paperkey skip_paperkey
+  have_paperkey:
+  # All dependencies are linked in statically.
+  skip_paperkey:
+!endif
+
 !ifdef HAVE_PKG_GPGEX
   !insertmacro SectionFlagIsSet ${SEC_gpgex} \
                ${SF_SELECTED} have_gpgex skip_gpgex
@@ -1100,6 +1123,9 @@ FunctionEnd
 !ifdef HAVE_PKG_SCUTE
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_scute} $(DESC_SEC_scute)
 !endif
+!ifdef HAVE_PKG_PAPERKEY
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_paperkey} $(DESC_SEC_paperkey)
+!endif
 !ifdef HAVE_PKG_GPA
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpa} $(DESC_SEC_gpa)
 !endif
diff --git a/src/uninst-paperkey.nsi b/src/uninst-paperkey.nsi
new file mode 100644 (file)
index 0000000..ce54698
--- /dev/null
@@ -0,0 +1,35 @@
+# uninst-paperkey.nsi - Snippet for paperkey.        -*- coding: latin-1; -*-
+# Copyright (C) 2009 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, see <http://www.gnu.org/licenses/>.
+
+
+!ifdef prefix
+!undef prefix
+!endif
+!define prefix ${ipdir}/paperkey-${gpg4win_pkg_paperkey_version}
+
+; Uninstaller section.
+Section "-un.paperkey"
+!ifdef SOURCES
+  Push "${gpg4win_pkg_paperkey}"
+  Call un.SourceDelete
+!else
+  Delete "$INSTDIR\paperkey.exe"
+  Delete "$INSTDIR\share\gnupg\paperkey.man"
+  RMDir "$INSTDIR\share\gnupg"
+!endif
+SectionEnd