f87e23c512
* 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
127 lines
3.8 KiB
Makefile
127 lines
3.8 KiB
Makefile
# Makefile.am for the tests of the Python bindings.
|
|
# Copyright (C) 2016 g10 Code GmbH
|
|
#
|
|
# This file is part of GPGME.
|
|
#
|
|
# GPGME is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 2 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# GPGME is distributed in the hope that it will be useful, but WITHOUT
|
|
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
|
|
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General
|
|
# Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this program; if not, see <https://www.gnu.org/licenses/>.
|
|
|
|
GPG = gpg
|
|
GPG_AGENT = gpg-agent
|
|
|
|
GNUPGHOME=$(abs_builddir)
|
|
TESTS_ENVIRONMENT = GNUPGHOME=$(GNUPGHOME) \
|
|
LC_ALL=C GPG_AGENT_INFO= \
|
|
top_srcdir=$(top_srcdir) \
|
|
srcdir=$(srcdir)
|
|
|
|
py_tests ?= t-wrapper.py \
|
|
t-callbacks.py \
|
|
t-data.py \
|
|
t-encrypt.py \
|
|
t-encrypt-sym.py \
|
|
t-encrypt-sign.py \
|
|
t-sign.py \
|
|
t-signers.py \
|
|
t-decrypt.py \
|
|
t-verify.py \
|
|
t-decrypt-verify.py \
|
|
t-sig-notation.py \
|
|
t-export.py \
|
|
t-import.py \
|
|
t-edit.py \
|
|
t-keylist.py \
|
|
t-keylist-from-data.py \
|
|
t-wait.py \
|
|
t-encrypt-large.py \
|
|
t-file-name.py \
|
|
t-idiomatic.py \
|
|
t-protocol-assuan.py \
|
|
t-quick-key-creation.py \
|
|
t-quick-subkey-creation.py \
|
|
t-quick-key-manipulation.py \
|
|
t-quick-key-signing.py
|
|
|
|
XTESTS = initial.py $(py_tests) final.py
|
|
|
|
private_keys = \
|
|
13CD0F3BDF24BE53FE192D62F18737256FF6E4FD \
|
|
76F7E2B35832976B50A27A282D9B87E44577EB66 \
|
|
A0747D5F9425E6664F4FFBEED20FBCA79FDED2BD \
|
|
13CBE3758AFE42B5E5E2AE4CED27AFA455E3F87F \
|
|
7A030357C0F253A5BBCD282FFC4E521B37558F5C
|
|
|
|
EXTRA_DIST = support.py $(XTESTS) encrypt-only.asc sign-only.asc \
|
|
pubdemo.asc secdemo.asc cipher-1.asc cipher-2.asc \
|
|
cipher-3.asc cipher-no-sig.asc \
|
|
pubkey-1.asc seckey-1.asc $(private_keys) \
|
|
start-stop-agent pinentry \
|
|
run-tests.py
|
|
|
|
# XXX: Currently, one cannot override automake's 'check' target. As a
|
|
# workaround, we avoid defining 'TESTS', thus automake will not emit
|
|
# the 'check' target. For extra robustness, we merely define a
|
|
# dependency on 'xcheck', so this hack should also work even if
|
|
# automake would emit the 'check' target, as adding dependencies to
|
|
# targets is okay.
|
|
check: xcheck
|
|
|
|
.PHONY: xcheck
|
|
|
|
xcheck: all
|
|
$(TESTS_ENVIRONMENT) $(PYTHON) $(srcdir)/run-tests.py \
|
|
--interpreters="$(PYTHONS)" --srcdir=$(srcdir) $(TESTFLAGS) \
|
|
$(XTESTS)
|
|
|
|
CLEANFILES = secring.gpg pubring.gpg pubring.kbx trustdb.gpg dirmngr.conf \
|
|
gpg-agent.conf pubring.kbx~ gpg.conf pubring.gpg~ \
|
|
random_seed .gpg-v21-migrated tofu.db \
|
|
pubring-stamp gpg-sample.stamp
|
|
|
|
clean-local:
|
|
-$(TESTS_ENVIRONMENT) $(srcdir)/start-stop-agent --stop
|
|
-rm -fR -- private-keys-v1.d openpgp-revocs.d S.gpg-agent sshcontrol
|
|
|
|
|
|
BUILT_SOURCES = gpg.conf gpg-agent.conf pubring-stamp \
|
|
gpg-sample.stamp
|
|
|
|
gpg-sample.stamp: $(srcdir)/$(private_keys)
|
|
-$(TESTS_ENVIRONMENT) gpgconf --kill all
|
|
$(MKDIR_P) ./private-keys-v1.d
|
|
for k in $(private_keys); do \
|
|
cp $(srcdir)/$$k private-keys-v1.d/$$k.key; \
|
|
done
|
|
echo x > ./gpg-sample.stamp
|
|
|
|
pubring-stamp: $(srcdir)/pubdemo.asc gpg-sample.stamp
|
|
$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
|
|
--import $(srcdir)/pubdemo.asc
|
|
-$(TESTS_ENVIRONMENT) $(GPG) --batch --no-permission-warning \
|
|
--import $(srcdir)/secdemo.asc
|
|
-$(TESTS_ENVIRONMENT) gpgconf --kill all
|
|
echo x > ./pubring-stamp
|
|
|
|
gpg.conf:
|
|
# This is required for t-sig-notations.
|
|
echo no-force-v3-sigs > ./gpg.conf
|
|
echo default-key A0FF4590BB6122EDEF6E3C542D727CC768697734 >> ./gpg.conf
|
|
|
|
gpg-agent.conf:
|
|
# This is required for gpg2, which does not support command fd.
|
|
echo pinentry-program $(abs_srcdir)/pinentry >$@
|
|
echo disable-scdaemon >> $@
|
|
|
|
|
|
# end-of-file
|