diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /comm/third_party/libgpg-error/README | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'comm/third_party/libgpg-error/README')
-rw-r--r-- | comm/third_party/libgpg-error/README | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/comm/third_party/libgpg-error/README b/comm/third_party/libgpg-error/README new file mode 100644 index 0000000000..e0b9f16445 --- /dev/null +++ b/comm/third_party/libgpg-error/README @@ -0,0 +1,168 @@ +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_") + + - Generic Mutex implementation for all platforms using an ABI + independent of the underlying implementation. + + - A lean gettext and iconv implementation for Windows. + + - Log functions + + - Option parser + + - Base-64 encoder and decoder. + +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 +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 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! + +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 libgpg-error-x.y.tar.bz2 + + This checks that the detached signature libgpg-error-x.y.tar.bz2.sig + 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 + 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. There is also basic +support for building a 64 bit Windows version: + + ./autogen.sh --build-w64 + + +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 +detection is done during build time but can't be done when +cross-compiling. Thus if you run into an error during building you +need to figure out these values. You may use these commands: + + build="$(build-aux/config.guess)" + ./configure --prefix=TARGETDIR --host=TARGET --build=$build + cd src + make gen-posix-lock-obj + scp gen-posix-lock-obj TARGET: + ssh TARGET ./gen-posix-lock-obj >tmp.h + mv tmp.h "syscfg/$(awk 'NR==1 {print $2}' tmp.h)" + +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. 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. +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. |