[Gpg4win-commits] r218 - trunk/doc/website

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Mon Mar 13 22:33:52 CET 2006


Author: jan
Date: 2006-03-13 22:33:52 +0100 (Mon, 13 Mar 2006)
New Revision: 218

Modified:
   trunk/doc/website/build-installer-de.htm4
   trunk/doc/website/build-installer.htm4
Log:
Finalized description for building installers.


Modified: trunk/doc/website/build-installer-de.htm4
===================================================================
--- trunk/doc/website/build-installer-de.htm4	2006-03-13 14:39:52 UTC (rev 217)
+++ trunk/doc/website/build-installer-de.htm4	2006-03-13 21:33:52 UTC (rev 218)
@@ -16,9 +16,9 @@
 Dafür ist die nachfolgende Anleitung getestet.
 Prinzipiell sind auch andere Systeme, ggf. mit
 ein bischen Anpassungsarbeit, möglich.<br>
-Desweiteren mindestens 50 MByte Platz auf der
+Desweiteren mindestens 200 MByte Platz auf der
 Festplatte und eine halbwegs schnelle Internetanbindung
-da ca. 20 MByte heruntergeladen werden müssen.
+da ca. 40 MByte heruntergeladen werden müssen.
 </p>
 
 <p>
@@ -69,7 +69,7 @@
 
 <h2>Ein einzelnes Modul für gpg4win aktualisieren</h2>
 
-Hierfür sollte man schon einmal ein Installationspaket wie oben beschreiben
+Hierfür sollte man schon einmal ein Installationspaket wie oben beschrieben
 hergestellt haben.  Im Folgenden nehmen wir an, sie möchten das Modul
 <em>gnupg</em> aktualisieren.
 
@@ -94,17 +94,48 @@
      <em>$ make</em>
 </ol>
 
-Achtung: Sie dürfen das Skiript <em>download.sh</em> nicht mehr
+<p>
+Achtung: Sie dürfen das Skript <em>download.sh</em> jetzt nicht mehr
 aufrufen, da es die aktuelle Standardversion des Moduls wieder
-installieren würde.  Entwickler mit Schreibzugriff auf den FTP-Server
-können eine neue Standardversion eines Moduls installieren, indem sie
-die Datei <em>packages.current</em> anpassen, signieren und auf den
-FTP Sever hochladen.
+installieren würde. Für eine dauerhafte Aktivierung der neuen Modul-Version
+des offiziellen gpg4win Installationspaketes sind folgende Schritte zu erledigen.
+</p>
 
+<p>
+Voraussetzung dabei ist, dass man Schreibrechten auf
+das SVN Verzeichnis  besitzt (also ein Benutzerkonto auf
+wald.intevation.de mit Entwickler-Status für gpg4win).
+</p>
 
+<ol>
+<li> Anpassen der Datei<br>
+     <em>packages.current</em><br>
+     für die neue Modulversion (lesen Sie für die Syntax den Kopf
+     dieser Datei) und laden Sie sie in das Subversion repository hoch:<br>
+     <em>$ svn commit packages.current</em>
+
+<li> Erstellen Sie eine Signatur für diese Datei:<br>
+     <em>$ gpg -sb packages.current</em>
+
+<li> Falls Sie bisher noch nie eine Aktualisierung der Paketliste
+     autorisiert haben, müssen Sie zunächst Ihren PGP-Schlüssel
+     an den Schlüsselbund<br>
+     <em>packages.keys</em><br>
+     anhängen:<br>
+     <em>$ gpg --export --armor YOUR-KEY-ID > gpg_pub_key.asc</em><br>
+     <em>$ gpg --no-default-keyring --keyring ./packages.keys --import gpg_pub_key.asc</em><br>
+     Eine Liste der bisher eingetragenen Schlüssel erhalten Sie so:<br>
+     <em>$ gpg packages.keys</em><br>
+
+<li> Laden Sie die beiden Dateien
+     auf die Website von gpg4win hoch:<br>
+     <em>$ make update</em><br>
+</ol>
+
+
 <h2>Ein neues Modul in gpg4win einbauen</h2>
 
-Hierfür sollte man schon einmal ein Installationspaket wie oben beschreiben
+Hierfür sollte man schon einmal ein Installationspaket wie oben beschrieben
 hergestellt haben und dabei die Version aus SVN benutzt haben.
 
 <ol>
@@ -142,10 +173,9 @@
     oder als einfaches bereits andersweitig
     für Windows kompiliertes Binärobjekt integriert werden soll.
 
-<li>Jetzt noch die Anweisungen für das automatische Herunterladen
-    in die Datei<br>
+<li>Jetzt noch die Datei<br>
     <em>packages/packages.current</em><br>
-    eintragen. Auch hier finden sich ausreichend Beispiele.
+    wie weiter oben beschrieben aktualisieren.
 
 <li>gpg4win muss für das neue Modul erneut konfiguriert werden:<br>
      <em>$ AUTOMAKE_SUFFIX=-1.9 ./autogen.sh</em><br>

Modified: trunk/doc/website/build-installer.htm4
===================================================================
--- trunk/doc/website/build-installer.htm4	2006-03-13 14:39:52 UTC (rev 217)
+++ trunk/doc/website/build-installer.htm4	2006-03-13 21:33:52 UTC (rev 218)
@@ -8,6 +8,183 @@
 
 <h1>Build Installer Package</h1>
 
-This howto has not yet been translated to english.
+Building a new gpg4win installer package is
+mostly automized.
 
+<p>
+What you need: A Debian GNU/Linux 3.1 'sarge' system.
+For this system the follwing instructions are tested.
+In principle the procesure should also work for other
+system, perhaps some adapations are necessary.<br>
+Furthermore, you need at least 200 MByte on your harddisk
+and a acceptable fast internet connection for downloading
+about 40 MBytes.
+</p>
+
+<p>
+Typical tasks:
+<ul>
+<li> Update a single module (occasionally, ca. 1-4 hours)
+</ul>
+</p>
+
+<h2>Create a new installer package</h2>
+
+The character '#' indicates commands to be executed as administrator (root)
+and '$' for commands to be executed as regular user.
+
+<ol>
+<li> Install required packages on your Debian GNU/Linux 3.1:<br>
+     <em># apt-get install mingw32 nsis stow unzip texinfo imagemagick</em><br>
+     <em># apt-get install tetex-bin gs-common hyperlatex</em><br>
+
+<li> Get the sources anonymously (i.e. with out write-access):<br>
+     <em>$ svn checkout https://svn.wald.intevation.org/gpg4win/trunk/</em><br>
+     or download the source code package gpg4win-n.n.n.tar.gz, unpack it and
+     change to the directory gpg4win-n.n.n. We recommend to work
+     with the SVN version if you want to do more that just update a single
+     module for yourself.
+
+<li> Download all necessary gpg4win modules from Internet:<br>
+     <em>$ cd packages</em><br>
+     <em>$ sh download.sh</em><br>
+     (takes some time, especially the first time)<br>
+     <em>$ cd ..</em><br>
+
+<li> If you work with the SVN version:<br>
+     <em>$ AUTOMAKE_SUFFIX=-1.9 ./autogen.sh</em><br>
+     <em>$ ./configure --enable-maintainer-mode --host=i586-mingw32msvc</em><br>
+     else:<br>
+     <em>$ ./configure --host=i586-mingw32msvc</em><br>
+
+<li> Now build the gpg4win installer package:<br>
+     <em>$ make</em>
+</ol>
+
+<p>
+That's all. The new installer package is here:<br>
+<em>src/gpg4win-n.n.n.exe</em><br>
+The corresponding source code packages (with the sources of all modules, very big!) is here:<br>
+<em>src/gpg4win-src-n.n.n.exe</em><br>
+</p>
+
+<h2>Update a single module for gpg4win</h2>
+
+Fort this task you should have build at least once a new installer package as
+described above. Consider now we want to update the module
+<em>gnupg</em>.
+
+<ol>
+<li> First, remove the old version:<br>
+     <em>$ cd packages</em><br>
+     <em>$ rm gnupg-*</em><br>
+<li> Then download the desired new release, e.g:<br>
+     <em>$ wget ftp://ftp.gnupg.org/gnupg/gnupg-1.4.3.tar.bz2</em><br>
+     <em>$ wget ftp://ftp.gnupg.org/gnupg/gnupg-1.4.3.tar.bz2.sig</em><br>
+     <em>$ gpg --verify gnupg-1.4.3.tar.bz2.sig</em><br>
+     Only continue if that latter command shows a valid signature.
+     You will find further hints on this at the
+     href="http://www.gnupg.org/download/integrity_check.html">GnuPG
+     Website</a>.  If the module does not provide any signature you
+     should ensure authenticity of the file with another reasonable method.
+<li> Build a new installer:<br>
+     <em>$ cd ..</em><br>
+     <em>$ make clean</em><br>
+     <em>$ ./configure --host=i586-mingw32msvc</em><br>
+     <em>$ make</em>
+</ol>
+
+<p>
+Attention: From now on your should not execute the script <em>download.sh</em>
+anymore because it would revert to the previous (i.e. official) version of the module.
+For a permanent activation of the new module version for the official gpg4win
+installer package, the following steps are necessary.
+</p>
+
+<p>
+Precondition is that you have write access to the
+SVN directory (i.e. a user account at wald.intevation.de
+with developer status for gpg4win).
+</p>
+
+<ol>
+<li> Adapt file<br>
+     <em>packages.current</em><br>
+     accordingly for the new module version (read the head of this file about
+     the syntax) and upload to Subversion repository:<br>
+     <em>$ svn commit packages.current</em>
+
+<li> Create a signature for this file:<br>
+     <em>$ gpg -sb packages.current</em>
+
+<li> If haven't so far ever authorized an updated package list,
+     you need to add your PGP key to the keyring
+     an den Schlüsselbund<br>
+     <em>packages.keys</em><br>
+     using this command:<br>
+     <em>$ gpg --export --armor YOUR-KEY-ID > gpg_pub_key.asc</em><br>
+     <em>$ gpg --no-default-keyring --keyring ./packages.keys --import gpg_pub_key.asc</em><br>
+     A lost of the current keys is shown with this command:<br>
+     <em>$ gpg packages.keys</em><br>
+
+<li> Upload the two files to the gpg4win website:<br>
+     <em>$ make update</em><br>
+</ol>
+
+
+<h2>Integrate a new module into gpg4win</h2>
+
+Hierfür sollte man schon einmal ein Installationspaket wie oben beschrieben
+For this task you should have at least once created a installer package
+according to the description above using the SVN version.
+
+<ol>
+<li>For your new module 'MYMOD' first create constants in the file
+    include/config.nsi.in by adding the following lines:<br>
+    <em>@HAVE_PKG_MYMOD@</em><br>
+    <em>!define gpg4win_pkg_mymod @gpg4win_pkg_mymod@</em><br>
+    <em>!define gpg4win_pkg_mymod_version @gpg4win_pkg_mymod_version@</em><br>
+    You will find various examples in this file, e.g. see 'HAVE_PKG_WINPT'.
+
+<li>Write the NSIS installation script<br>
+    <em>src/inst-mymod.nsi</em><br>
+    In the same directory you will find many examples to learn from.
+
+<li>Write the NSIS de-installation script<br>
+    <em>src/uninst-mymod.nsi</em><br>
+    In the same directory you will find many examples to learn from.
+
+<li>Extend the NSIS main script<br>
+    <em>src/inst-sections.nsi</em><br>
+    with MYMOD. Do this analogous to existing entries
+    and read the explanations in the comments.
+
+<li>Now add rules for integration into the build process into the file<br>
+    <em>configure.ac</em><br>
+    For this you can use macros from the file<br>
+    <em>m4/gpg4win.m4</em><br>
+    Due to the already integrated modules there are plenty
+    of examples given. A main distinction is between cross-compiled
+    modules and those that have been compiled for Windows elsewhere
+    and integrated as compiled binaries.
+
+<li>Now update the package list<br>
+    <em>packages/packages.current</em><br>
+    as described above.
+
+<li>gpg4win has to be configured anew for the new module:<br>
+     <em>$ AUTOMAKE_SUFFIX=-1.9 ./autogen.sh</em><br>
+     <em>$ ./configure --enable-maintainer-mode --host=i586-mingw32msvc</em><br>
+
+<li>The last step is to build the new package:<br>
+     <em>$ make</em>
+</ol>
+
+<p>
+The new installer package is here:<br>
+<em>src/gpg4win-n.n.n.exe</em><br>
+The corresponding source code packages (with the sources of all modules, very big!) is here:<br>
+<em>src/gpg4win-src-n.n.n.exe</em><br>
+</p>
+
 PAGE_BOXES



More information about the Gpg4win-commits mailing list