From bcd5feec0e916b864d004a47f36a41e2eba3b10e Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 12 Oct 2021 14:30:13 +0200 Subject: tests: New way to make use of gpgconf.ctl in tests. * Makefile.am (all-local): New to setup symlinks. (distclean-local): New. * tests/Makefile.am: Remove the gpgconf related targets. Just keep gpgconf.ctl.in in EXTRA_DIST * tests/cms/Makefile.am (GNUPG_BUILD_ROOT): * tests/gpgme/Makefile.am (GPGSCM_PATH): * tests/openpgp/Makefile.am (GNUPG_BUILD_ROOT): * tests/pkits/Makefile.am (GNUPG_BUILD_ROOT): * tests/tpm2dtests/defs.scm (tools): Revert to the former values. * tests/openpgp/defs.scm (tools): Ditto. -- This Fixes-commit: 399ebf6d873d4178c1d527aa4df34bf16a76360e Fixes-commit: 84fcd8e6eb7e0786399e1f6461c3f60b0db2d070 because we ran into problems with the idea of first doing a test-install for the checks. "make distcheck" turned out to be too problematic. Symlinks are a better way of doing this. Also fixes GnuPG-bug-id: 5634 --- Makefile.am | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'Makefile.am') diff --git a/Makefile.am b/Makefile.am index 369316e9a..0a0c7d4de 100644 --- a/Makefile.am +++ b/Makefile.am @@ -120,6 +120,42 @@ SUBDIRS = m4 common regexp kbx \ dist_doc_DATA = README +# Create test directory etc/gnupg so that we have an +# empty sysconfdir and bin where we put out gpgconf.ctl. +# we also put symlinks to the actual binaries there. +# Unfortunately there is no all-hook, but symlinks have the +# nice property that they can be created even for not yet +# created files. +all-local: + @-$(MKDIR_P) bin etc/gnupg libexec + @cat $(srcdir)/tests/gpgconf.ctl.in > bin/gpgconf.ctl + (set -e; cd bin; \ + for i in gpg gpgv; \ + do ln -sf ../g10/$$i .; done; \ + for i in gpgsm; \ + do ln -sf ../sm/$$i .; done; \ + for i in gpg-agent; \ + do ln -sf ../agent/$$i .; done; \ + for i in dirmngr; \ + do ln -sf ../dirmngr/$$i .; done; \ + for i in gpgconf gpg-connect-agent gpgtar gpg-card; \ + do ln -sf ../tools/$$i .; done; \ + cd ../libexec ; \ + for i in keyboxd; \ + do ln -sf ../kbx/$$i .; done; \ + for i in scdaemon; \ + do ln -sf ../scd/$$i .; done; \ + for i in gpg-preset-passphrase; \ + do ln -sf ../agent/$$i .; done; \ + echo "created links to binaries" ) + + +# Clean up our test directories but take care that this is never +# called from / or /usr/local +distclean-local: + @if pwd | grep gnupg 2>/dev/null; then rm -rf etc bin libexec; fi + + dist-hook: gen-ChangeLog distcheck-hook: -- cgit v1.2.3