{"id":28597835,"url":"https://github.com/osquery/third-party-libgpg-error","last_synced_at":"2025-07-26T16:08:22.270Z","repository":{"id":83208959,"uuid":"299566849","full_name":"osquery/third-party-libgpg-error","owner":"osquery","description":"Mirror of https://dev.gnupg.org/source/libgpg-error.git","archived":false,"fork":false,"pushed_at":"2020-09-29T09:24:05.000Z","size":2359,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-11T11:25:24.433Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/osquery.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-09-29T09:23:44.000Z","updated_at":"2020-09-29T09:47:57.000Z","dependencies_parsed_at":"2023-06-28T22:45:17.596Z","dependency_job_id":null,"html_url":"https://github.com/osquery/third-party-libgpg-error","commit_stats":null,"previous_names":[],"tags_count":55,"template":false,"template_full_name":null,"purl":"pkg:github/osquery/third-party-libgpg-error","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osquery%2Fthird-party-libgpg-error","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osquery%2Fthird-party-libgpg-error/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osquery%2Fthird-party-libgpg-error/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osquery%2Fthird-party-libgpg-error/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/osquery","download_url":"https://codeload.github.com/osquery/third-party-libgpg-error/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/osquery%2Fthird-party-libgpg-error/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267191036,"owners_count":24050318,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-11T11:19:19.973Z","updated_at":"2025-07-26T16:08:22.256Z","avatar_url":"https://github.com/osquery.png","language":"C","readme":"What is Libgpg-error\n====================\n\nLibgpg-error is a library that defines common error values for all\nGnuPG components.  Among these are GPG, GPGSM, GPGME, GPG-Agent,\nlibgcrypt, Libksba, DirMngr, Pinentry, SmartCard Daemon and more.\nMeanwhile Libgcrypt also sports functions commonly used by all GnuPG\ncomponents and which are believed to be generally useful.  The main\ncomponents are\n\n - Structured error codes and utility functions.\n\n - Replacement functions for stdio stream (estream) to provide a\n   reliable set of printf features on all platforms.  For convenience\n   macros are provided to make migration from stdio to estream easier\n   (ie. the prefix \"es_\")\n\n - Generic Mutex implementation for all platforms using an ABI\n   independent of the underlying implementation.\n\n - A lean gettext and iconv implementation for Windows.\n\n - Log functions\n\n - Option parser\n\n - Base-64 encoder and decoder.\n\nMore components will be added over time.  Most functions are prefixed\nwith \"gpgrt\" (GnuPG Run Time) instead of \"gpg_err\" to indicate the\nlong term plan to rename this library to gpgrt.\n\nLibgpg-error is free software; you can redistribute it and/or modify\nit under the terms of the GNU Lesser General Public License as\npublished by the Free Software Foundation; either version 2.1 of the\nLicense, or (at your option) any later version.  See the file\nCOPYING.LIB for copyright and warranty information.  See the file\nAUTHORS for a list of authors and important mail addresses.\n\nHowever, some files (for example src/mkerrnos.awk) used in the build\nprocess of the library and the manual are covered by a different\nlicense.  Please see the header of these files and the file COPYING\nfor copyright and warranty information on these files.  A special\nexception in the copyright license of these files makes sure that the\noutput in the build process, which is used in libgpg-error, is not\naffected by the GPL.\n\n\nInstallation\n============\n\nPlease read the file INSTALL!\n\nHere is a quick summary:\n\n1) Check that you have unmodified sources.  You can find instructions\n   how to verify the sources below.  Don't skip this - it is an\n   important step!\n\n2) Unpack the archive.  With GNU tar you can do it this way:\n   \"tar xjvf libgpg-error-x.y.tar.bz2\"\n\n3) \"cd libgpg-error-x.y\"\n\n4) \"./configure\"\n\n5) \"make\"\n\n6) \"make install\"\n\n\nHow to Verify the Source\n========================\n\nIn order to check that the version of libgpg-error which you are going\nto install is an original and unmodified copy of the original, you can\ndo it in one of the following ways:\n\na) If you already have a trusted version of GnuPG installed, you can\n   simply check the supplied signature:\n\n   $ gpg --verify libgpg-error-x.y.tar.bz2.sig libgpg-error-x.y.tar.bz2\n\n   This checks that the detached signature libgpg-error-x.y.tar.bz2.sig\n   is indeed a signature of libgpg-error-x.y.tar.bz2.  Make sure that\n   the signature has been created by a trusted keys.\n\n   Please note that you have to use an old version of GnuPG to do all\n   this stuff.  *Never* use the version which was built using the\n   library you are trying to verify!\n\nb) If you don't have any a trusted version of GnuPG, you can attempt\n   to verify the SHA1 checksum, using a trusted version of the sha1sum\n   program:\n\n   $ sha1sum libgpg-error-x.y.tar.bz2\n\n   This should yield an output _similar_ to this:\n\n   610064e5b77700f5771c8fde2691c4365e1ca100  libgpg-error-x.y.tar.bz2\n\n   Now check that this checksum is _exactly_ the same as the one\n   published via the announcement list and probably via Usenet.\n\n\nHints\n=====\n\nTo build for Windows you you may use the convenience command:\n\n   ./autogen.sh --build-w32\n\nwhich runs configure with suitable options.  There is also basic\nsupport for building a 64 bit Windows version:\n\n   ./autogen.sh --build-w64\n\n\nCross-Compiling\n===============\n\nLibgpg-error needs to figure out some platform specific properties.\nThese are used to build the platform specific gpg-error.h file.  The\ndetection is done during build time but can't be done when\ncross-compiling.  Thus if you run into an error during building you\nneed to figure out these values.  You may use these commands:\n\n  build=\"$(build-aux/config.guess)\"\n  ./configure --prefix=TARGETDIR --host=TARGET --build=$build\n  cd src\n  make gen-posix-lock-obj\n  scp gen-posix-lock-obj TARGET:\n  ssh TARGET ./gen-posix-lock-obj \u003etmp.h\n  mv tmp.h \"syscfg/$(awk 'NR==1 {print $2}' tmp.h)\"\n\nIf you are using a VPATH build adjust accordingly.  If this all works\nfor you (make sure to run the test programs on the target platform),\nplease send the generated file to the gnupg-devel mailing list so that\nwe can include it in the next release.  Note that in addition to the\naliasing done by config.sub the src/mkheader build tool does some\nextra aliasing to avoid having too much identical syscfg files.\n\n\n\nKnown Problems\n==============\n\nOn Windows, WSA Error Codes can be provided as system error codes and\nwill be transparently converted to the corresponding gpg error codes.\nThere are two problems with this support:\n\n* Not all error codes corresponding to WSA Error codes have a detailed\n  description when printed with gpg_strerror.  Some will default to\n  \"Unknown error\" for pretty printing.  For example, WSAEHOSTDOWN will\n  be translated to GPG_ERR_EHOSTDOWN, but there is no corresponding\n  EHOSTDOWN in Windows and thus gpg_strerror will default to \"Unknown\n  error\" as printed by the system's strerror function for the argument\n  WSAEHOSTDOWN.  (This could be fixed by adding our own error strings\n  replacing or extending the system error strings, including their\n  translations).\n\n* The translation to a gpg error code and back to a system error code\n  in some cases does not preserve information.  For example, the error\n  code WSAEACCES translates to GPG_ERR_EACCES, which translates back\n  to EACCES.\n\nAny WSA Error code has either the first problem or the second (but not\nboth), depending on if there is a corresponding Windows error code.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosquery%2Fthird-party-libgpg-error","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fosquery%2Fthird-party-libgpg-error","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fosquery%2Fthird-party-libgpg-error/lists"}