GnuPG Made Easy. NOTE: Maintainers are not tracking this mirror. Do not make pull requests here, nor comment any commits, submit them usual way to bug tracker (https://www.gnupg.org/documentation/bts.html) or to the mailing list (https://www.gnupg.org/documentation/mailing-lists.html).
Go to file
Ingo Klöcker f87e23c512
build,python: Separate Python bindings from gpgme
* configure.ac: Remove "python" from available_languages and from
default_languages.
Remove checks for SWIG and available Python versions.
Remove substitution of PYTHONS.
Remove generation of files in lang/python.
* lang/Makefile.am (DIST_SUBDIRS): Remove python.
* lang/python/.gitignore, lang/python/AUTHORS, lang/python/COPYING,
lang/python/COPYING.LESSER, lang/python/ChangeLog, lang/python/INSTALL,
lang/python/NEWS, lang/python/autogen.rc, lang/python/autogen.sh,
lang/python/configure.ac: New.
* lang/python/Makefile.am (EXTRA_DIST): Add autogen.sh, autogen.rc.
copystamp: Remove symbolic linking of gpgme's internal data.h header
and of gpgme's config.h file.
CLEANFILES: Remove cleaning of config.h and data.h.
(RELEASE_ARCHIVE_SUFFIX, ACLOCAL_AMFLAGS, dist-hook, distcheck-hook,
.PHONY, gen_start_date, gen-ChangeLog, RELEASE_NAME, release,
sign-release): New (copied from top-level Makefile.am).
* lang/python/build-aux/compile, lang/python/build-aux/config.guess,
lang/python/build-aux/config.sub, lang/python/build-aux/depcomp,
lang/python/build-aux/install-sh,
lang/python/build-aux/libtool-patch.sed,
lang/python/build-aux/ltmain.sh, lang/python/build-aux/missing: New.
* m4/ax_pkg_swig.m4: Move to...
* lang/python/m4/ax_pkg_swig.m4: ...here.
* m4/ax_python_devel.m4: Move to...
* lang/python/m4/ax_python_devel.m4: ...here.
* m4/python.m4: Move to...
* lang/python/m4/python.m4: ...here.
* lang/python/m4/gpg-error.m4, lang/python/m4/gpgme.m4,
lang/python/m4/libassuan.m4, lang/python/m4/libtool.m4,
lang/python/m4/ltoptions.m4, lang/python/m4/ltsugar.m4,
lang/python/m4/ltversion.m4, lang/python/m4/lt~obsolete.m4: New.
* lang/python/setup.py.in: Remove code for in-tree builds. Initialize
libs from @GPGME_LIBS@ instead of @GPGME_CONFIG_LIBS@. Initialize
include_dirs and define_macros from @GPGME_CFLAGS@ instead of
@GPGME_CONFIG_CFLAGS@. Look for gpgme.h in @prefix@/include and in
include_dirs and '/usr/include'.
* lang/python/tests/13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F,
lang/python/tests/13CD0F3BDF24BE53FE192D62F18737256FF6E4FD,
lang/python/tests/76F7E2B35832976B50A27A282D9B87E44577EB66,
lang/python/tests/7A030357C0F253A5BBCD282FFC4E521B37558F5C,
lang/python/tests/A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD: New.
* lang/python/tests/Makefile.am (test_srcdir): Remove.
(TESTS_ENVIRONMENT): Remove adding .libs directory with gpgme library
to LD_LIBRARYPATH.
(private_keys): Use local copies instead of files from gpgme's
tests.
(EXTRA_DIST): Add new files.
(clean-local): Call local copy of start-stop-agent script.
(gpg-sample.stamp): Use local copies of private keys.
(pubring-stamp): Use local copies of pubdemo.asc and secdemo.asc.
(gpg-agent.conf): Use local copy of pinentry helper.
* lang/python/tests/cipher-1.asc, lang/python/tests/cipher-2.asc,
lang/python/tests/cipher-3.asc, lang/python/tests/cipher-no-sig.asc,
lang/python/tests/pinentry, lang/python/tests/pubdemo.asc,
lang/python/tests/pubkey-1.asc, lang/python/tests/secdemo.asc,
lang/python/tests/seckey-1.asc, lang/python/tests/start-stop-agent:
New.
* lang/python/tests/support.py (make_filename): Adapt to changed
path of test files.
--

This makes building and distributing the Python bindings independent of
the sources of gpgme. Many of the new files are copied from gpgme to
make the Python bindings a self-contained package. A later commit
re-adds the possibility to build the Python bindings as nested package
together with gpgme.

GnuPG-bug-id: 7110
2024-06-11 14:57:28 +02:00
build-aux doc: Fix typos in documentation and source code comments 2023-10-13 09:18:12 +02:00
conf Release 1.12.0 2018-10-08 11:17:01 +02:00
doc doc: Extend description for GPGME_CREATE_ADSK 2024-06-05 13:50:17 +02:00
lang build,python: Separate Python bindings from gpgme 2024-06-11 14:57:28 +02:00
m4 build,python: Separate Python bindings from gpgme 2024-06-11 14:57:28 +02:00
src core,w32: Pass file names with forward slashes to gpg and gpgtar 2024-06-04 16:52:24 +02:00
tests tests: Add new files to distribution 2024-05-24 13:46:55 +02:00
.gitignore build: Let configure create the VERSION file. 2018-10-10 13:39:42 +09:00
acinclude.m4 Spelling fixes for comments and doc 2017-12-08 05:59:11 +01:00
AUTHORS core: Update copyright notices 2023-02-10 11:12:52 +01:00
autogen.rc build: Suggest out-of-source build 2023-08-21 21:32:40 +02:00
autogen.sh build: Allow autoheader to be skipped 2024-06-10 17:22:01 +02:00
ChangeLog Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
ChangeLog-2011 Generate the ChangeLog from commit logs. 2011-12-02 11:36:37 +01:00
configure.ac build,python: Separate Python bindings from gpgme 2024-06-11 14:57:28 +02:00
COPYING Added files usually installed bu automake. We want to keep them in the CVS 2004-01-12 13:49:11 +00:00
COPYING.LESSER 2004-12-07 Marcus Brinkmann <marcus@g10code.de> 2004-12-07 21:13:39 +00:00
gpgme.spec.in doc: convert more links to equivalent https:// URLs 2018-10-18 00:28:51 -04:00
gpgme.txt doc: convert more links to equivalent https:// URLs 2018-10-18 00:28:51 -04:00
INSTALL Update automake scripts. 2008-07-04 15:46:01 +00:00
LICENSES doc: Add MIT license notice. 2021-03-11 13:49:31 +01:00
Makefile.am build: New configure option --with-libtool-modification. 2023-08-17 14:03:09 +09:00
missing Update automake scripts. 2008-07-04 15:46:01 +00:00
NEWS cpp: Add information about revocation keys to Key 2024-05-21 16:38:59 +02:00
README Release 1.23.0 2023-10-25 11:05:29 +02:00
README.GIT Release 1.3.2. 2012-05-02 11:18:24 +02:00
THANKS move some file encodings to UTF-8 2016-09-23 16:08:33 +02:00
TODO spelling: fix misspellings 2018-11-08 12:34:27 +07:00

                       GPGME - GnuPG Made Easy
                     ---------------------------

Copyright 2001-2023 g10 Code GmbH

This file is free software; as a special exception the author gives
unlimited permission to copy and/or distribute it, with or without
modifications, as long as this notice is preserved.

This file is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Introduction
--------------

GnuPG Made Easy (GPGME) is a C language library that allows to add
support for cryptography to a program.  It is designed to make access
to public key crypto engines like GnuPG or GpgSM easier for
applications.  GPGME provides a high-level crypto API for encryption,
decryption, signing, signature verification and key management.

GPGME comes with language bindings for Common Lisp, C++, QT, Python2,
and Python 3.

GPGME uses GnuPG as its backend to support OpenPGP and the
Cryptographic Message Syntax (CMS).

See the files COPYING, COPYING.LESSER, and each file for copyright and
warranty information.  The file AUTHORS has a list of authors and
useful web and mail addresses.


Installation
--------------

See the file INSTALL for generic installation instructions.

Check that you have unmodified sources.  See below on how to do this.
Don't skip it - this is an important step!

To build GPGME, you need to install libgpg-error (>= 1.36) and
Libassuan (>= 2.4.2).

For support of the OpenPGP and the CMS protocols, you should use at
least GnuPG version 2.2.41 or 2.4.3, available at:
https://gnupg.org/ftp/gcrypt/gnupg/.

For building the Git version of GPGME please see the file README.GIT
for more information.


How to Verify the Source
--------------------------

In order to check that the version of GPGME which you are going to
install is an original and unmodified one, you can do it in one of the
following ways:

a) If you have a trusted Version of GnuPG installed, you can simply check
   the supplied signature:

	$ gpg --verify gpgme-x.y.z.tar.gz.sig gpgme-x.y.z.tar.gz

   This checks that the detached signature gpgme-x.y.z.tar.gz.sig is
   indeed a a signature of gpgme-x.y.z.tar.gz.  The key used to create
   this signature is at least one of:

     rsa2048 2011-01-12 [expires: 2019-12-31]
     Key fingerprint = D869 2123 C406 5DEA 5E0F  3AB5 249B 39D2 4F25 E3B6
     Werner Koch (dist sig)

     rsa2048 2014-10-29 [expires: 2019-12-31]
     Key fingerprint = 46CC 7308 65BB 5C78 EBAB  ADCF 0437 6F3E E085 6959
     David Shaw (GnuPG Release Signing Key) <dshaw 'at' jabberwocky.com>

     rsa2048 2014-10-29 [expires: 2020-10-30]
     Key fingerprint = 031E C253 6E58 0D8E A286  A9F2 2071 B08A 33BD 3F06
     NIIBE Yutaka (GnuPG Release Key) <gniibe 'at' fsij.org>

     rsa3072 2017-03-17 [expires: 2027-03-15]
     Key fingerprint = 5B80 C575 4298 F0CB 55D8  ED6A BCEF 7E29 4B09 2E28
     Andre Heinecke (Release Signing Key)

   The keys are available at <https://gnupg.org/signature_key.html>
   and in released GnuPG tarballs in the file g10/distsigkey.gpg .
   You have to make sure that these are really the desired keys and
   not faked one.  You should do this by comparing the fingerprints
   with the fingerprints published elsewhere.

b) If you don't have any of the above programs, you have to verify
   the SHA1 checksum:

	$ sha1sum gpgme-x.y.z.tar.gz

   This should yield an output _similar_ to this:

   fd9351b26b3189c1d577f0970f9dcadc3412def1  gpgme-x.y.z.tar.gz

   Now check that this checksum is _exactly_ the same as the one
   published via the announcement list and probably via Usenet.


Documentation
---------------

For information how to use the library you can read the info manual,
which is also a reference book, in the doc/ directory.  The programs
in the tests/ directory may also prove useful.

Please subscribe to the gnupg-devel@gnupg.org mailing list if you want
to do serious work.

For hacking on GPGME, please have a look at doc/HACKING.