wiki:gnupg

Version 3 (modified by herwigb, 12 years ago) (diff)

GnuPG: Add preliminary docs

GnuPG

GnuPG is the GNU project's complete and free implementation of the OpenPGP standard as defined by RFC4880. !GnuPG allows to encrypt and sign your data and communication, features a versatile key management system as well as access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command line tool with features for easy integration with other applications. A wealth of frontend applications and libraries are available.

GnuPG is Free Software (meaning that it respects your freedom). It can be freely used, modified and distributed under the terms of the GNU General Public License.

Further information can be found here

Installation

Preliminary, as provided by Tobias Huerlimann.

GnuPG has been configured to assume that a unixish file hierarchy exists, where it looks for its files. The environment variable UNIXROOT is used to determine in which directory that hierarchy is located. To install GnuPG you just have to extract the binary archive in the directory that UNIXROOT points to. More information about that file hierarchy and the env var UNIXROOT can be found at the UnixOS2 site.

GnuPG also needs the environment varibale HOME, which determines where GnuPG saves its keyrings. And at least one of the two possible PRNG (Pseudo Random Number Generators), rndos2.dll or RexxEGD, has to be installed.

The following environment variables are used by GnuPG:

  • HOME HOME points to the user's home directory. GnuPG stores the personal options and keys in the subdirectory ".gnupg". If you do not have a home dir, you may choose C: for example:

SET HOME=C:

  • UNIXROOT The env var UNIXROOT should point to the directory, in which a unixish filesystem hierarchy exists. Example: set UNIXROOT to G: and gpg.exe will be located in G:\usr\bin

SET UNIXROOT=G:

  • LANG LANG should already exist at most OS/2 installations because it is also used be OS/2 itself.

It is used to determine the language GnuPG will use. Example: if you want GnuPG to 'speak' italian, you set:

SET LANG=it

Here's a summary of the directories that are used by GnuPG:

  • %HOME%/.gnupg/ If this directory does not exist, it will be created the first time GnuPG starts. Then GnuPG tries to create the personal configuration file "gpg.conf" by copying %UNIXROOT%/usr/share/gnupg/options.skel. %HOME%/.gnupg/ is also used to story the created and imported keys.
  • %UNIXROOT%/usr/lib/gnupg/ In this directory GnuPG looks for the random number generator "rndos2.dll" and plug-ins (i.e.: the IDEA plug-in).
  • %UNIXROOT%/usr/share/gnupg/ In this directory GnuPG looks for the file "options.skel", which is used as a template for %HOME%/.gnupg/gpg.conf.
  • %UNIXROOT%/usr/share/locale/ GnuPG expects the locale files (for NLS) in that directory. The files are in der LC_MESSGAES/<language> subdirectory. <language> is determined by the LANG env var.

In case you really do not like the idea of UNIXROOT and you rather like the OS/2 way: Create a directory for GnuPG, for example C:\Progs\GnuPG and copy the following files in that directory:

  • usr/bin/gpg.exe
  • usr/bin/gpgv.exe
  • usr/bin/gpgsplit.exe
  • usr/lib/gnupg/rndos2.dll
  • usr/share/book/gpg.inf
  • usr/share/gnupg/FAQ
  • Optional: plug-in DLLs

Not using a unixish file hierarchy imposes some minor limitations. For example, NLS requires such a hierarchy. In any case you should set the HOME variable.

Building Instructions

Preliminary, as provided by Tobias Huerlimann.

Compiling GnuPG shouldn't be a problem anymore because of the OS/2 specific handwritten makefiles (Makefile.os2). Software requirements

To compile GnuPG for OS/2 you need the following software:

  • Innotek GCC.
  • EMX GCC should also work (older releases were compiled with it), but you will have to adapt some things.
  • GNU Make The makefiles are not in nmake syntax
  • A unixish shell, for example: Bash
  • A LibINTL library that knows UNIXROOT (e.g. I used the gettext package from Innotek)
  • libbzip2, for example from Hobbes

Additional software is needed to create the man pages in INF format or the NLS files.

  • IPFC from the OS/2 Developer's Toolkit For the creation of the INF file
  • msgfmt.exe from the GNU gettext package For the creation of the NLS packages

If you also want to install GnuPG via the makefiles, the following tools should be in PATH:

  • cp
  • cmp
  • mkdir
  • test

Build process

  1. Makefile.os2 assumes that the shell is called sh.exe. If that is not the case, please change Makefile.os2.config accordingly.
  2. If you want to change the install destination (default: %UNIXROOT%/usr), please edit:
    • Makefile.os2.config
    • os2/os2init.c
  3. If you do not have IPFC or msgfmt.exe and therefore cannot create the INF documentation or the NLS packages, delete the directories "doc" and "po" from the variable "SUBDIRS" in Makefile.os2.
  4. Now "make -f Makefile.os2" should be enough to compile GnuPG.
  5. Optional: "make -f Makefile.os2 check" runs a small testsuite. You have to install rndos2.dll or RexxEGD before that.
  6. Optional: "make -f Makefile.os2 install-files" installs GnuPG in the %UNIXROOT% hierarchy.


History

  • 28.12.2011 version 1.4.8 testbuild
  • 28.12.2011 version 1.4.7 added to netlabs
  • 27.12.2011 version 1.4.6 with Tobias Huerlimanns OS/2 patches and docs added to netlabs svn
  • 11.03.2007: GnuPG 1.4.7 now available for OS/2
  • 20.12.2006: Uploaded a new version of GnuPG 1.4.6 for OS/2 that includes a patch from Peter Weilbacher that makes it possible to install GnuPG into one single directory.
  • 12.12.2006: GnuPG 1.4.6 now available for OS/2 – upgrading is strongly recommended (1.4.6 contains an important security fix)!
  • 11.09.2006: GnuPG 1.4.5 now available for OS/2
  • 19.04.2006: GnuPG 1.4.3 now available for OS/2
  • 14.04.2005: GnuPG 1.4.2 now available for OS/2
  • 22.01.2005: The current issue of OS/2 e-Zine features a guide for setting up GnuPG and EnigMail?, written by John Bijnens.
  • 02.01.2005: GnuPG 1.4.0 now available for OS/2
  • 22.10.2004: Finally: Enigmail has been successfully ported! Have a look at this site. Note that the port still has some small glitches, so maybe wait until the patches have gone into the official Mozilla/Thunderbird? tree. Anyway, a huge "Thank you!" goes to Davide Bresolin for the port!
  • 27.07.2004: GnuPG 1.2.5 now available for OS/2: please note that this release needs the Innotek GCC Runtime instead of EMX!
  • 26.12.2003: GnuPG 1.2.4 now available for OS/2. Also new: rndos2 0.91
  • 27.11.2003: There is a flaw in GnuPG that can compromise private keys when ElGamal? keys are used for signing! Please note that ElGamal? signing keys can only be created in GnuPG by using hidden options and ignoring a warning message. They can not be created in a standard way, so the probability that you are affected is really small. However, better take a look at the details yourself!
  • 17.09.2003: GnuPG 1.2.3 now available for OS/2
  • 09.08.2003: A GnuPG WarpIN Package is now available!

Binary Download

Prerequisites

GCC 4 Core LibrariesWPIGCC 4 runtime libraries

GNUPG

GnuPG 1.4.8 testbuildZIP1.4.8 testbuild

Reporting Bugs

Reporting bugs and requesting new features is done through the ticket system. You can view existing tickets, add comments to them and create new tickets using the corresponding buttons at the top of every page. If you want to submit a new bug or request a feature, please use the Search function first to make sure there is no ticket for this task already created.

Anonymous access to the ticket system has been restricted due to multiple attacks of stupid spammers we've been suffering from lately. In order to create a new ticket or comment the existing one, you need to login with your Netlabs login id. If you do not have a login id, you can request one at http://www.netlabs.org/en/site/member/member.xml. We are sorry for inconvenience, but at the present time this is the only way to avoid extremely annoying spam.

Credits

  • Tobias Huerlimann
  • Herwig Bauernfeind
  • Silvan Scherrer
  • all the ppl working on GNUPG
  • netlabs.org (hosting & support)