summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
authorPiotr Sawicki <p.sawicki2@partner.samsung.com>2017-11-02 10:38:45 +0100
committerPiotr Sawicki <p.sawicki2@partner.samsung.com>2017-11-02 10:38:45 +0100
commit44429cce0568beb59b87fafcf649f00bd4bac5a4 (patch)
tree7f02841215c1b5978906aa3c1e12b2325d16ca27 /README
parent7968b8fcb66be45c6316bd04ae25425740cbacac (diff)
downloadlibgpg-error-44429cce0568beb59b87fafcf649f00bd4bac5a4.tar.gz
libgpg-error-44429cce0568beb59b87fafcf649f00bd4bac5a4.tar.bz2
libgpg-error-44429cce0568beb59b87fafcf649f00bd4bac5a4.zip
Imported Upstream version 1.27upstream/1.27
Diffstat (limited to 'README')
-rw-r--r--README68
1 files changed, 45 insertions, 23 deletions
diff --git a/README b/README
index 3d4640c..fd6e1a8 100644
--- a/README
+++ b/README
@@ -1,11 +1,30 @@
-libgpg-error
-============
+What is Libgpg-error
+====================
+
+Libgpg-error 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.
+Meanwhile Libgcrypt also sports functions commonly used by all GnuPG
+components and which are believed to be generally useful. The main
+components are
+
+ - Structured error codes and utility functions.
+
+ - Replacement functions for stdio stream (estream) to provide a
+ reliable set of printf features on all platforms. For convenience
+ macros are provided to make migration from stdio to estream easier
+ (ie. the prefix "es_")
-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.
+ - Generic Mutex implementation for all platforms using an ABI
+ independent of the underlying implementation.
-libgpg-error is free software; you can redistribute it and/or modify
+ - A lean gettext and iconv implementation for Windows.
+
+More components will be added over time. Most functions are prefixed
+with "gpgrt" (GnuPG Run Time) instead of "gpg_err" to indicate the
+long term plan to rename this library to gpgrt.
+
+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
@@ -13,16 +32,16 @@ COPYING.LIB for copyright and warranty information. See the file
AUTHORS for a list of authors and important mail addresses.
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.
+process of the library and the manual 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!
@@ -45,7 +64,7 @@ Here is a quick summary:
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
@@ -54,10 +73,11 @@ 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
+ $ gpg --verify libgpg-error-x.y.tar.bz2.sig libgpg-error-x.y.tar.bz2
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.
+ is indeed a signature of libgpg-error-x.y.tar.bz2. Make sure that
+ the signature has been created by a trusted keys.
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
@@ -78,7 +98,7 @@ b) If you don't have any a trusted version of GnuPG, you can attempt
Hints
------
+=====
To build for Windows you you may use the convenience command:
@@ -96,7 +116,7 @@ version:
Cross-Compiling
----------------
+===============
Libgpg-error needs to figure out some platform specific properties.
These are used to build the platform specific gpg-error.h file. The
@@ -115,12 +135,14 @@ need to figure out these values. You may use these commands:
If you are using a VPATH build adjust accordingly. If this all works
for you (make sure to run the test programs on the target platform),
please send the generated file to the gnupg-devel mailing list so that
-we can include it in the next release.
+we can include it in the next release. Note that in addition to the
+aliasing done by config.sub the src/mkheader build tool does some
+extra aliasing to avoid having too much identical syscfg files.
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.
@@ -137,9 +159,9 @@ There are two problems with this support:
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.
+ 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.