| libgpg-error |
| ============ |
| |
| This is a library that defines common error values for all GnuPG |
| components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, |
| Libksba, DirMngr, Pinentry, SmartCard Daemon and more. |
| |
| libgpg-error is free software; you can redistribute it and/or modify |
| it under the terms of the GNU Lesser General Public License as |
| published by the Free Software Foundation; either version 2.1 of the |
| License, or (at your option) any later version. See the file |
| COPYING.LIB for copyright and warranty information. |
| |
| However, some files (for example src/mkerrnos.awk) used in the build |
| process of the library are covered by a different license. Please see |
| the header of these files and the file COPYING for copyright and |
| warranty information on these files. A special exception in the |
| copyright license of these files makes sure that the output in the |
| build process, which is used in libgpg-error, is not affected by the |
| GPL. |
| |
| |
| Installation |
| ------------ |
| |
| Please read the file INSTALL! |
| |
| Here is a quick summary: |
| |
| 1) Check that you have unmodified sources. You can find instructions |
| how to verify the sources below. Don't skip this - it is an |
| important step! |
| |
| 2) Unpack the archive. With GNU tar you can do it this way: |
| "tar xjvf libgpg-error-x.y.tar.bz2" |
| |
| 3) "cd libgpg-error-x.y" |
| |
| 4) "./configure" |
| |
| 5) "make" |
| |
| 6) "make install" |
| |
| |
| How to Verify the Source |
| ------------------------ |
| |
| In order to check that the version of libgpg-error which you are going |
| to install is an original and unmodified copy of the original, you can |
| do it in one of the following ways: |
| |
| a) If you already have a trusted version of GnuPG installed, you can |
| simply check the supplied signature: |
| |
| $ gpg --verify libgpg-error-x.y.tar.bz2.sig |
| |
| This checks that the detached signature libgpg-error-x.y.tar.bz2.sig |
| is indeed a a signature of libgpg-error-x.y.tar.bz2. |
| |
| Please note that you have to use an old version of GnuPG to do all |
| this stuff. *Never* use the version which was built using the |
| library you are trying to verify! |
| |
| b) If you don't have any a trusted version of GnuPG, you can attempt |
| to verify the SHA1 checksum, using a trusted version of the sha1sum |
| program: |
| |
| $ sha1sum libgpg-error-x.y.tar.bz2 |
| |
| This should yield an output _similar_ to this: |
| |
| 610064e5b77700f5771c8fde2691c4365e1ca100 libgpg-error-x.y.tar.bz2 |
| |
| Now check that this checksum is _exactly_ the same as the one |
| published via the announcement list and probably via Usenet. |
| |
| |
| Hints |
| ----- |
| |
| To build for Windows you you may use the convenience command: |
| |
| ./autogen.sh --build-w32 |
| |
| which runs configure with suitable options. For WindowsCE the command |
| is: |
| |
| ./autogen.sh --build-w32ce |
| |
| |
| Known Problems |
| -------------- |
| |
| On Windows, WSA Error Codes can be provided as system error codes and |
| will be transparently converted to the corresponding gpg error codes. |
| There are two problems with this support: |
| |
| * Not all error codes corresponding to WSA Error codes have a detailed |
| description when printed with gpg_strerror. Some will default to |
| "Unknown error" for pretty printing. For example, WSAEHOSTDOWN will |
| be translated to GPG_ERR_EHOSTDOWN, but there is no corresponding |
| EHOSTDOWN in Windows and thus gpg_strerror will default to "Unknown |
| error" as printed by the system's strerror function for the argument |
| WSAEHOSTDOWN. (This could be fixed by adding our own error strings |
| replacing or extending the system error strings, including their |
| translations). |
| |
| * The translation to a gpg error code and back to a system error code |
| in some cases does not preserve information. For example, the error code |
| WSAEACCES translates to GPG_ERR_EACCES, which translates back to |
| EACCES. |
| |
| Any WSA Error code has either the first problem or the second (but not |
| both), depending on if there is a corresponding Windows error code. |