[Gpg4win-commits] r36 - in trunk: . include m4 packages src

werner at wald.intevation.org werner at wald.intevation.org
Wed Oct 26 15:28:50 CEST 2005


Author: werner
Date: 2005-10-26 15:28:49 +0200 (Wed, 26 Oct 2005)
New Revision: 36

Modified:
   trunk/ChangeLog
   trunk/README
   trunk/TODO
   trunk/configure.ac
   trunk/include/config.nsi.in
   trunk/m4/gpg4win.m4
   trunk/packages/download.sh
   trunk/src/Makefile.am
   trunk/src/gpg4win.nsi
   trunk/src/inst-sections.nsi
   trunk/src/installer-finish.nsi
   trunk/src/installer.nsi
Log:
Added WinPT and GPGee

Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/ChangeLog	2005-10-26 13:28:49 UTC (rev 36)
@@ -1,3 +1,27 @@
+2005-10-26  Werner Koch  <wk at g10code.com>
+
+	* README: Add basic instructions on how to add new packages.
+
+	* configure.ac: Add detection of GPGee and WinPT.
+	* m4/gpg4win.m4 (GPG4WIN_BPKG_BINSRC): New.
+
+	* include/config.nsi.in: Add defines for WinPT and GGee.
+	* src/inst-winpt.nsi: New.
+	* src/inst-gpgee.nsi: New.
+	* src/uninst-winpt.nsi: New.
+	* src/uninst-gpgee.nsi: New.
+	* src/Makefile.am (gpg4win_bpkgs): Add WinPT and GPGee.
+	* src/inst-sections.nsi: Ditto.
+	* src/installer-finish.nsi: Ditto.
+	* packages/download.sh (server_winpt): Add WinPT.
+	(server_gpgee): Add temporary location for gpgee.
+	(server_g10code): Add temporary location for gpg-error, gpgme,
+	gpa and gpgol.
+
+2005-10-25  Werner Koch  <wk at g10code.com>
+
+	* src/installer.nsi: Don't put the version into the "Name" variable.
+
 2005-10-24  Marcus Brinkmann  <marcus at g10code.de>
 
 	* COPYING: New file.

Modified: trunk/README
===================================================================
--- trunk/README	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/README	2005-10-26 13:28:49 UTC (rev 36)
@@ -1,6 +1,7 @@
 This is gpg4win - the GUI Installer Builder for W32.
 
 Instructions:
+=============
 
 1. Download the source and binary packages that are required to build
    the installer:
@@ -24,6 +25,34 @@
 src/gpg4win-src-X.Y.Z.exe
 
 
+Adding new packages to the installer:
+=====================================
+
+This requires editing a couple of files; we might eventually automate
+some of tehse tasks.  Here is a short run up:
+
+1. Add constants for the package FOO into include/config.nsi.in .
+
+2. Create 2 new installer scripts, named src/inst-foo.nsi and
+   uninst-foo.nsi .
+
+3. Add foo to one the variables gpg4win_bpgks (if foo should not be
+   build be the gpg4win) or gpg4win_spkgs (if foo should be build by
+   gpg4win) in src/Makefile.am
+
+4. Add FOO to inst-sections.nsi and installer-finish.nsi.  The latter
+   is required for menu shortcuts.
+
+5. Add detection of packages to configure.ac.  Check out the available
+   mcros in m4/gpg4win.m4.  Depending on the way an upstream package
+   is packaged, you might need to write a new macro.
+
+6. Add download information to packages/download.sh.
+
+Then run the usual "aclocal -I m4 && automake && autoconf" or whatever
+to create the actual configure file and run configure as described above.
+
+
 Copyright 2005 g10 Code GmbH
 
 This file is free software; as a special exception the author gives

Modified: trunk/TODO
===================================================================
--- trunk/TODO	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/TODO	2005-10-26 13:28:49 UTC (rev 36)
@@ -1,3 +1,9 @@
+                                                          -*- outline -*-
+
+* Missing stuff
+** No sources yet for WinPT due to current changes in its build system
+** WinPT signature file should better be named .sig
+
 * Component related issues:
 ** Check out which locale files to install and where. !!!
 ** Check which iconv to use !!

Modified: trunk/configure.ac
===================================================================
--- trunk/configure.ac	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/configure.ac	2005-10-26 13:28:49 UTC (rev 36)
@@ -69,12 +69,17 @@
 GPG4WIN_BPKG_GTK_DEV([gtk+], [atk pango glib libiconv gettext pkgconfig])
 GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig])
 GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig])
+#fixme: Theseare intermediate package.
+GPG4WIN_BPKG_BINSRC([gpgee], [gnupg])
+GPG4WIN_BPKG_BINSRC([winpt], [gpgme gnupg])
 
+
 GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
 GPG4WIN_SPKG([gpgme], [libgpg-error gnupg])
 GPG4WIN_SPKG([gnupg])
 GPG4WIN_SPKG([gpgol], [gpgme])
 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
+#GPG4WIN_SPKG([winpt], [gpgme gnupg])
 
 GPG4WIN_FINALIZE
 

Modified: trunk/include/config.nsi.in
===================================================================
--- trunk/include/config.nsi.in	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/include/config.nsi.in	2005-10-26 13:28:49 UTC (rev 36)
@@ -67,6 +67,16 @@
 !define gpg4win_pkg_gpa @gpg4win_pkg_gpa@
 !define gpg4win_pkg_gpa_version @gpg4win_pkg_gpa_version@
 
+ at HAVE_PKG_WINPT@
+!define gpg4win_pkg_winpt @gpg4win_pkg_winpt@
+!define gpg4win_pkg_winpt_version @gpg4win_pkg_winpt_version@
+!define gpg4win_pkg_winpt_src @gpg4win_pkg_winpt_src@
+
+ at HAVE_PKG_GPGEE@
+!define gpg4win_pkg_gpgee @gpg4win_pkg_gpgee@
+!define gpg4win_pkg_gpgee_version @gpg4win_pkg_gpgee_version@
+!define gpg4win_pkg_gpgee_src @gpg4win_pkg_gpgee_src@
+
 @HAVE_PKG_ZLIB@
 !define gpg4win_pkg_zlib @gpg4win_pkg_zlib@
 !define gpg4win_pkg_zlib_version @gpg4win_pkg_zlib_version@

Modified: trunk/m4/gpg4win.m4
===================================================================
--- trunk/m4/gpg4win.m4	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/m4/gpg4win.m4	2005-10-26 13:28:49 UTC (rev 36)
@@ -474,3 +474,58 @@
           [$3],
           [$4])
 ])
+
+
+# GPG4WIN_BPKG_BINSRC([PKG],[DEPENDS],[IF-FOUND],[IF-NOT-FOUND])
+# Set up package PKG which is expected to ge delivered as two ZIP files
+# with a "-src" and a "-bin" suffix.
+AC_DEFUN([GPG4WIN_BPKG_BINSRC],
+[
+  AC_REQUIRE([GPG4WIN_INIT])
+  _gpg4win_pkg=maybe
+  AC_ARG_ENABLE([pkg-$1],
+    AS_HELP_STRING([--enable-pkg-$1[=DIR]],
+                   [include package $1]),
+    _gpg4win_pkg=$enableval)
+  _gpg4win_bpkg=no
+  _gpg4win_version=
+  AS_IF([test x$_gpg4win_pkg != xno],
+        [GPG4WIN_FIND($1-bin, [$1-\(.*\)-bin],,
+         $_gpg4win_pkg,
+         _gpg4win_bpkg=$gpg4win_val
+	 _gpg4win_version=$gpg4win_version)])
+
+  # At this point, _gpg4win_bpkg is no, or the actual package binary file.
+
+  # gpg4win_pkg_PKGNAME=FILENAME_OF_BINARY
+  gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]=$_gpg4win_bpkg
+  AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__]))
+
+  # gpg4win_pkg_PKGNAME_version=VERSION
+  gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version=$_gpg4win_version
+  AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_version)
+
+  AS_IF([test $_gpg4win_bpkg != no],
+    GPG4WIN_FIND($1-src, [$1-\(.*\)-src],,
+                 $_gpg4win_pkg, _gpg4win_bpkg=$gpg4win_val,
+       AC_MSG_ERROR(can not find sources for package $1))
+    # gpg4win_pkg_PKGNAME_src=FILENAME_OF_SOURCE
+    gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src=$_gpg4win_bpkg
+    AC_SUBST(gpg4win_pkg_[]m4_translit([$1],[-+],[__])[]_src)
+
+    # FIXME: Add a version consistency check here.  Both packages
+    # must match!
+
+    GPG4WIN_DEFINE(HAVE_PKG_[]m4_translit([$1],[a-z+-],[A-Z__]))
+
+    _gpg4win_pkgs="$_gpg4win_pkgs $1"
+    # Record dependencies.  Also enter every package as node.
+    _gpg4win_deps="$_gpg4win_deps $1 $1"
+    AS_IF([test ! -z "$2"],
+          for _gpg4win_i in $2; do
+	    _gpg4win_deps="$_gpg4win_deps $_gpg4win_i $1"
+          done)
+          [$3],
+          [$4])
+])
+

Modified: trunk/packages/download.sh
===================================================================
--- trunk/packages/download.sh	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/packages/download.sh	2005-10-26 13:28:49 UTC (rev 36)
@@ -73,7 +73,23 @@
 ${WGET} -c ${server_gimp}/pkgconfig-0.15.zip
 ${WGET} -c ${server_gimp}/pkgconfig-0.15.0.tar.gz
 
+# WinPT
 
+#server_winpt="http://wald.intevation.org/frs/download.php"
+server_winpt="ftp://ftp.g10code.com/g10code/scratch"
+
+${WGET} -c ${server_winpt}/winpt-0.10.2_beta-bin.zip
+${WGET} -c ${server_winpt}/winpt-0.10.2_beta-src.zip
+
+# GPGee
+# Note: This is a temporary location
+
+server_gpgee="ftp://ftp.g10code.com/g10code/scratch"
+
+${WGET} -c ${server_gpgee}/gpgee-1.2.2-bin.zip
+${WGET} -c ${server_gpgee}/gpgee-1.2.2-src.zip
+
+
 # GnuPG stuff.
 
 server_gnupg=http://ftp.gnupg.org/gcrypt
@@ -81,8 +97,15 @@
 ${WGET} -c ${server_gnupg}/gnupg/gnupg-1.4.2.tar.gz
 ${WGET} -c ${server_gnupg}/gnupg/gnupg-1.4.2.tar.gz.sig
 
-${WGET} -c ${server_gnupg}/gpgme/gpgme-1.1.0.tar.gz
-${WGET} -c ${server_gnupg}/gpgme/gpgme-1.1.0.tar.gz.sig
+#${WGET} -c ${server_gnupg}/gpgme/gpgme-1.1.0.tar.gz
+#${WGET} -c ${server_gnupg}/gpgme/gpgme-1.1.0.tar.gz.sig
 
 # libgpg-error, GPA and GPGol currently come from manually crafted
-# packages.
+# packages.  However, we make them available at a scratch location
+
+server_g10code="ftp://ftp.g10code.com/g10code/scratch"
+
+${WGET} -c ${server_g10code}/libgpg-error-1.2-cvs.tar.bz2
+${WGET} -c ${server_g10code}/gpgme-1.2.0-cvs.tar.bz2
+${WGET} -c ${server_g10code}/gpa-0.7.1-cvs.tar.bz2
+${WGET} -c ${server_g10code}/gpgol-0.9.4-cvs.tar.bz2

Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/src/Makefile.am	2005-10-26 13:28:49 UTC (rev 36)
@@ -46,7 +46,8 @@
   --with-gpgme-prefix=$(idir) --with-gpg-error-prefix=$(idir)
 
 # Supported binary packages.
-gpg4win_bpkgs :=  libiconv gettext pkgconfig zlib glib libpng pango atk gtk+
+gpg4win_bpkgs :=  libiconv gettext pkgconfig zlib glib libpng pango atk gtk+ \
+		  winpt gpgee
 
 # libiconv needs some special magic to generate a usable import
 # library.

Modified: trunk/src/gpg4win.nsi
===================================================================
--- trunk/src/gpg4win.nsi	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/src/gpg4win.nsi	2005-10-26 13:28:49 UTC (rev 36)
@@ -40,13 +40,13 @@
   It includes an advanced key management facility and is compliant \
   with the proposed OpenPGP Internet standard as described in RFC2440. \
   \r\n\r\n$_CLICK \
-  \r\n\r\n\r\n\r\n\r\nThis is GnuPG version ${VERSION}\r\n\
+  \r\n\r\n\r\n\r\n\r\nThis is GPG4WIN version ${VERSION}\r\n\
   file version ${PROD_VERSION}"
 !define ABOUT_GERMAN \
   "GnuPG is das Werkzeug aus dem GNU Projekt zur sicheren Kommunikation \
    sowie zum sicheren Speichern von Daten. \
    \r\n\r\n$_CLICK \
-   \r\n\r\n\r\n\r\n\r\nDies ist GnuPG Version ${VERSION}\r\n\
+   \r\n\r\n\r\n\r\n\r\nDies ist GPG4WIN Version ${VERSION}\r\n\
    Dateiversion ${PROD_VERSION}"
 
 

Modified: trunk/src/inst-sections.nsi
===================================================================
--- trunk/src/inst-sections.nsi	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/src/inst-sections.nsi	2005-10-26 13:28:49 UTC (rev 36)
@@ -61,9 +61,21 @@
 !ifdef HAVE_PKG_GPA
 !include "inst-gpa.nsi"
 !endif
+!ifdef HAVE_PKG_WINPT
+!include "inst-winpt.nsi"
+!endif
+!ifdef HAVE_PKG_GPGEE
+!include "inst-gpgee.nsi"
+!endif
 
 # We have to invoke the uninstallers in reverse order!
 
+!ifdef HAVE_PKG_GPGEE
+!include "uninst-gpgee.nsi"
+!endif
+!ifdef HAVE_PKG_WINPT
+!include "uninst-winpt.nsi"
+!endif
 !ifdef HAVE_PKG_GPA
 !include "uninst-gpa.nsi"
 !endif
@@ -153,6 +165,22 @@
 
   # Then enable all dependencies in reverse build list order!
 
+!ifdef HAVE_PKG_GPGEE
+  !insertmacro SectionFlagIsSet ${SEC_gpgee} ${SF_SELECTED} have_gpgee skip_gpgee
+  have_gpgee:
+  !insertmacro SelectSection ${SEC_gpgme}
+  !insertmacro SelectSection ${SEC_gnupg}
+  skip_gpgee:
+!endif
+
+!ifdef HAVE_PKG_WINPT
+  !insertmacro SectionFlagIsSet ${SEC_winpt} ${SF_SELECTED} have_winpt skip_winpt
+  have_winpt:
+  !insertmacro SelectSection ${SEC_gpgme}
+  !insertmacro SelectSection ${SEC_gnupg}
+  skip_winpt:
+!endif
+
 !ifdef HAVE_PKG_GPA
   !insertmacro SectionFlagIsSet ${SEC_gpa} ${SF_SELECTED} have_gpa skip_gpa
   have_gpa:
@@ -263,6 +291,12 @@
 !ifdef HAVE_PKG_GPA
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpa} $(DESC_SEC_gpa)
 !endif
+!ifdef HAVE_PKG_WINPT
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_winpt} $(DESC_SEC_winpt)
+!endif
+!ifdef HAVE_PKG_GPGEE
+  !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gpgee} $(DESC_SEC_gpgee)
+!endif
 !ifdef HAVE_PKG_GNUPG
   !insertmacro MUI_DESCRIPTION_TEXT ${SEC_gnupg} $(DESC_SEC_gnupg)
 !endif
@@ -275,6 +309,10 @@
 !ifdef HAVE_STARTMENU
 !insertmacro MUI_STARTMENU_WRITE_BEGIN Application
     CreateDirectory "$SMPROGRAMS\$STARTMENU_FOLDER"
+!ifdef HAVE_PKG_WINPT
+    CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\WINPT.lnk" \
+	"$INSTDIR\winpt.exe"
+!endif
 !ifdef HAVE_PKG_GPA
     CreateShortCut "$SMPROGRAMS\$STARTMENU_FOLDER\GPA.lnk" \
 	"$INSTDIR\gpa.exe"

Modified: trunk/src/installer-finish.nsi
===================================================================
--- trunk/src/installer-finish.nsi	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/src/installer-finish.nsi	2005-10-26 13:28:49 UTC (rev 36)
@@ -40,6 +40,9 @@
 Section Uninstall
 !ifdef HAVE_STARTMENU
 !insertmacro MUI_STARTMENU_GETFOLDER ${STARTMENU_FOLDER} $R0
+!ifdef HAVE_PKG_WINPT
+  Delete "$SMPROGRAMS\$R0\WINPT.lnk"
+!endif
 !ifdef HAVE_PKG_GPA
   Delete "$SMPROGRAMS\$R0\GPA.lnk"
 !endif

Modified: trunk/src/installer.nsi
===================================================================
--- trunk/src/installer.nsi	2005-10-24 16:40:25 UTC (rev 35)
+++ trunk/src/installer.nsi	2005-10-26 13:28:49 UTC (rev 36)
@@ -34,8 +34,9 @@
 !include "MUI.nsh"
 
 
-# Set the package name.
-Name "${PRETTY_PACKAGE} ${VERSION}"
+# Set the package name.  Note that this name should not be sufficed
+#  with the version because this would get displayed in the start menu.
+Name "${PRETTY_PACKAGE}"
 
 
 # Set the output filename.



More information about the Gpg4win-commits mailing list