130766ffc5
* configure.ac: Remove definition and substitution of LIBQGPGME_LT_CURRENT, LIBQGPGME_LT_AGE, LIBQGPGME_LT_REVISION. Remove "qt qt5 qt6" from available_languages. Remove "qt" from default_languages. Remove options --enable-reduce-relocations and --enable-no-direct-extern-access. Remove checks for pkg-config, Qt 5, Qt 6 and C++ 17. Remove adding visibility flag to GPGME_QT5_CFLAGS and GPGME_QT6_CFLAGS. Remove definition of conditionals WANT_QT5 and WANT_QT6. Remove checks for doxygen and dot. Remove generation of files in lang/qt. * lang/Makefile.am (DIST_SUBDIRS): Remove qt. * lang/qt/.gitignore, lang/qt/AUTHORS, lang/qt/COPYING, lang/qt/ChangeLog, lang/qt/INSTALL, lang/qt/NEWS, lang/qt/autogen.rc, lang/qt/autogen.sh, lang/qt/configure.ac: New. * lang/qt/Makefile.am (EXTRA_DIST): Add autogen.sh, autogen.rc, VERSION. (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/qt/build-aux/compile, lang/qt/build-aux/config.guess, lang/qt/build-aux/config.sub, lang/qt/build-aux/depcomp, lang/qt/build-aux/install-sh, lang/qt/build-aux/libtool-patch.sed, lang/qt/build-aux/ltmain.sh, lang/qt/build-aux/missing: New. * lang/qt/doc/Doxyfile.in (INPUT): Update path. * m4/ax_check_compile_flag.m4: Move to... * lang/qt/m4/ax_check_compile_flag.m4: ...here * m4/pkg.m4: Move to... * lang/qt/m4/pkg.m4: ...here * m4/qt5.m4: Move to... * lang/qt/m4/qt5.m4: ...here * m4/qt6.m4: Move to... * lang/qt/m4/qt6.m4: ...here * lang/qt/m4/ax_cxx_compile_stdcxx.m4, lang/qt/m4/ax_gcc_func_attribute.m4, lang/qt/m4/gpg-error.m4, lang/qt/m4/gpgme.m4, lang/qt/m4/gpgmepp.m4, lang/qt/m4/libtool.m4, lang/qt/m4/ltoptions.m4, lang/qt/m4/ltsugar.m4, lang/qt/m4/ltversion.m4, lang/qt/m4/lt~obsolete.m4: New. * lang/qt/src/Makefile.am (AM_CPPFLAGS): Replace include paths of gpgmepp and gpgme relative to top_builddir with @GPGMEPP_CFLAGS@ and @GPGME_CFLAGS@. (libqgpgme_la_LIBADD, libqgpgmeqt6_la_LIBADD): Replace relative paths of libgpgmepp.la and libgpgme.la with @GPGMEPP_LIBS@ and @GPGME_LIBS@. * lang/qt/tests/Makefile.am (EXTRA_DIST): Add new files. (LDADD): Replace relative paths of libgpgmepp.la and libgpgme.la with @GPGMEPP_LIBS@ and @GPGME_LIBS@. (AM_CPPFLAGS): Replace include paths of gpgmepp and gpgme relative to top_builddir with @GPGMEPP_CFLAGS@ and @GPGME_CFLAGS@. (pubring-stamp): Use local copies of pubdemo.asc and secdemo.asc. * lang/qt/tests/pubdemo.asc, lang/qt/tests/secdemo.asc, lang/qt/tests/start-stop-agent: New. -- This makes building and distributing QGpgME independent of the sources of gpgme. Many of the new files are copied from gpgme to make QGpgME a self-contained package. A later commit re-adds the possibility to build QGpgME as nested package together with gpgme. GnuPG-bug-id: 7110
70 lines
2.2 KiB
Bash
Executable File
70 lines
2.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# Copyright (C) 2013 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.
|
|
|
|
if [ -z "$(command -v gpg-connect-agent)" ]; then
|
|
echo "gpg-agent not installed and thus not started" >&2
|
|
exit 0;
|
|
fi
|
|
|
|
GPG_AGENT_INFO=
|
|
export GPG_AGENT_INFO
|
|
GPG_AGENT=$(which gpg-agent)
|
|
|
|
token=$(echo "gpgme-$(pwd)" | tr ' ' '_')
|
|
|
|
if [ "$1" = "--stop" ]; then
|
|
if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \
|
|
!= "D set" ]; then
|
|
echo "gpg-agent not running" >&2
|
|
exit 0
|
|
fi
|
|
echo "stopping gpg-agent " >&2
|
|
gpg-connect-agent KILLAGENT /bye >/dev/null 2>&1
|
|
exit 0
|
|
fi
|
|
|
|
# Update 'agent-program' in the configuration files to make sure we
|
|
# will always start exactly this agent again if we ever need to.
|
|
for F in gpg.conf gpgsm.conf
|
|
do
|
|
if test -f "$GNUPGHOME/$F"
|
|
then
|
|
cat "$GNUPGHOME/$F" > "$GNUPGHOME/$F~"
|
|
sed -e "s#^agent-program.*#agent-program ${GPG_AGENT}|--debug-quick-random#" \
|
|
>"$GNUPGHOME/$F" <"$GNUPGHOME/$F~"
|
|
rm -f "$GNUPGHOME/$F~"
|
|
fi
|
|
done
|
|
|
|
if [ "$(gpg-connect-agent --no-autostart getval\ $token /bye 2>/dev/null | head -1)" \
|
|
= "D set" ]; then
|
|
echo "gpg-agent already running" >&2
|
|
exit 0
|
|
fi
|
|
|
|
echo "starting gpg-agent.." >&2
|
|
|
|
# GnuPG prior to 2.1.12 needs --allow-loopback-pinentry for the
|
|
# loopback entry to work. Old versions do not understand this though,
|
|
# so we need to be careful.
|
|
if "$GPG_AGENT" --gpgconf-test --allow-loopback-pinentry &&
|
|
test -f "$GNUPGHOME/gpg-agent.conf" &&
|
|
! grep -q allow-loopback-pinentry "$GNUPGHOME/gpg-agent.conf"; then
|
|
echo allow-loopback-pinentry >> "$GNUPGHOME/gpg-agent.conf"
|
|
fi
|
|
|
|
gpg-connect-agent --agent-program="${GPG_AGENT}|--debug-quick-random" putval\ $token\ set /bye
|
|
if [ $? -ne 0 -o "$(gpg-connect-agent getval\ $token /bye 2>/dev/null | head -1)" \
|
|
!= "D set" ]; then
|
|
echo "error starting gpg-agent" >&2
|
|
exit 1
|
|
fi
|
|
exit 0
|