diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/VERSION b/debian/pinentry-tqt/pinentry-tqt-1.1.0/VERSION deleted file mode 100644 index 9084fa2f..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/VERSION +++ /dev/null @@ -1 +0,0 @@ -1.1.0 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/acinclude.m4 b/debian/pinentry-tqt/pinentry-tqt-1.1.0/acinclude.m4 deleted file mode 100644 index 7dfad70a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/acinclude.m4 +++ /dev/null @@ -1,117 +0,0 @@ -dnl Autoconf macros used by PINENTRY -dnl -dnl Copyright (C) 2002 g10 Code GmbH -dnl -dnl -dnl GNUPG_CHECK_TYPEDEF(TYPE, HAVE_NAME) -dnl Check whether a typedef exists and create a #define $2 if it exists -dnl -AC_DEFUN([GNUPG_CHECK_TYPEDEF], - [ AC_MSG_CHECKING(for $1 typedef) - AC_CACHE_VAL(gnupg_cv_typedef_$1, - [AC_TRY_COMPILE([#define _GNU_SOURCE 1 - #include - #include ], [ - #undef $1 - int a = sizeof($1); - ], gnupg_cv_typedef_$1=yes, gnupg_cv_typedef_$1=no )]) - AC_MSG_RESULT($gnupg_cv_typedef_$1) - if test "$gnupg_cv_typedef_$1" = yes; then - AC_DEFINE($2,1,[Defined if a `]$1[' is typedef'd]) - fi - ]) - - -###################################################################### -# Check whether mlock is broken (hpux 10.20 raises a SIGBUS if mlock -# is not called from uid 0 (not tested whether uid 0 works) -# For DECs Tru64 we have also to check whether mlock is in librt -# mlock is there a macro using memlk() -###################################################################### -dnl GNUPG_CHECK_MLOCK -dnl -define([GNUPG_CHECK_MLOCK], - [ AC_CHECK_FUNCS(mlock) - if test "$ac_cv_func_mlock" = "no"; then - AC_CHECK_HEADERS(sys/mman.h) - if test "$ac_cv_header_sys_mman_h" = "yes"; then - # Add librt to LIBS: - AC_CHECK_LIB(rt, memlk) - AC_CACHE_CHECK([whether mlock is in sys/mman.h], - gnupg_cv_mlock_is_in_sys_mman, - [AC_TRY_LINK([ - #include - #ifdef HAVE_SYS_MMAN_H - #include - #endif - ], [ - int i; - - /* glibc defines this for functions which it implements - * to always fail with ENOSYS. Some functions are actually - * named something starting with __ and the normal name - * is an alias. */ - #if defined (__stub_mlock) || defined (__stub___mlock) - choke me - #else - mlock(&i, 4); - #endif - ; return 0; - ], - gnupg_cv_mlock_is_in_sys_mman=yes, - gnupg_cv_mlock_is_in_sys_mman=no)]) - if test "$gnupg_cv_mlock_is_in_sys_mman" = "yes"; then - AC_DEFINE(HAVE_MLOCK,1, - [Defined if the system supports an mlock() call]) - fi - fi - fi - if test "$ac_cv_func_mlock" = "yes"; then - AC_MSG_CHECKING(whether mlock is broken) - AC_CACHE_VAL(gnupg_cv_have_broken_mlock, - AC_TRY_RUN([ - #include - #include - #include - #include - #include - #include - - int main() - { - char *pool; - int err; - long int pgsize = getpagesize(); - - pool = malloc( 4096 + pgsize ); - if( !pool ) - return 2; - pool += (pgsize - ((long int)pool % pgsize)); - - err = mlock( pool, 4096 ); - if( !err || errno == EPERM ) - return 0; /* okay */ - - return 1; /* hmmm */ - } - - ], - gnupg_cv_have_broken_mlock="no", - gnupg_cv_have_broken_mlock="yes", - gnupg_cv_have_broken_mlock="assume-no" - ) - ) - if test "$gnupg_cv_have_broken_mlock" = "yes"; then - AC_DEFINE(HAVE_BROKEN_MLOCK,1, - [Defined if the mlock() call does not work]) - AC_MSG_RESULT(yes) - AC_CHECK_FUNCS(plock) - else - if test "$gnupg_cv_have_broken_mlock" = "no"; then - AC_MSG_RESULT(no) - else - AC_MSG_RESULT(assuming no) - fi - fi - fi - ]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.guess b/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.guess deleted file mode 100755 index c4bd827a..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.guess +++ /dev/null @@ -1,1456 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-05-15' - -# This file 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 3 of the License, or -# (at your option) any later version. -# -# This program 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 -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess -# -# Please send patches to . - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ - /sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || \ - echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - earmv*) - arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'` - endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'` - machine=${arch}${endian}-unknown - ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently (or will in the future) and ABI. - case "${UNAME_MACHINE_ARCH}" in - earm*) - os=netbsdelf - ;; - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # Determine ABI tags. - case "${UNAME_MACHINE_ARCH}" in - earm*) - expr='s/^earmv[0-9]/-eabi/;s/eb$//' - abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"` - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}${abi}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:LibertyBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:Sortix:*:*) - echo ${UNAME_MACHINE}-unknown-sortix - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE=alpha ;; - "EV4.5 (21064)") - UNAME_MACHINE=alpha ;; - "LCA4 (21066/21068)") - UNAME_MACHINE=alpha ;; - "EV5 (21164)") - UNAME_MACHINE=alphaev5 ;; - "EV5.6 (21164A)") - UNAME_MACHINE=alphaev56 ;; - "EV5.6 (21164PC)") - UNAME_MACHINE=alphapca56 ;; - "EV5.7 (21164PC)") - UNAME_MACHINE=alphapca57 ;; - "EV6 (21264)") - UNAME_MACHINE=alphaev6 ;; - "EV6.7 (21264A)") - UNAME_MACHINE=alphaev67 ;; - "EV6.8CB (21264C)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8AL (21264B)") - UNAME_MACHINE=alphaev68 ;; - "EV6.8CX (21264D)") - UNAME_MACHINE=alphaev68 ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE=alphaev69 ;; - "EV7 (21364)") - UNAME_MACHINE=alphaev7 ;; - "EV7.9 (21364A)") - UNAME_MACHINE=alphaev79 ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH=i386 - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH=x86_64 - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/lslpp ] ; then - IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | - awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 - 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH=hppa2.0n ;; - 64) HP_ARCH=hppa2.0w ;; - '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = hppa2.0w ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH=hppa2.0w - else - HP_ARCH=hppa64 - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC=gnulibc1 ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - e2k:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - k1om:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configure will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - SX-ACE:SUPER-UX:*:*) - echo sxace-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != no_compiler_found ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = x86; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = 386; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'` - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; - amd64:Isilon\ OneFS:*:*) - echo x86_64-unknown-onefs - exit ;; -esac - -cat >&2 </dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.sub b/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.sub deleted file mode 100755 index 9feb73bf..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.sub +++ /dev/null @@ -1,1823 +0,0 @@ -#! /bin/sh -# Configuration validation subroutine script. -# Copyright 1992-2016 Free Software Foundation, Inc. - -timestamp='2016-06-20' - -# This file 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 3 of the License, or -# (at your option) any later version. -# -# This program 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 -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches to . -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2016 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | ba \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | e2k | epiphany \ - | fido | fr30 | frv | ft32 \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa32r6 | mipsisa32r6el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64r6 | mipsisa64r6el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | riscv32 | riscv64 \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | visium \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - leon|leon[3-9]) - basic_machine=sparc-$basic_machine - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | ba-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | e2k-* | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa32r6-* | mipsisa32r6el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64r6-* | mipsisa64r6el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | riscv32-* | riscv64-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | visium-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - asmjs) - basic_machine=asmjs-unknown - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - e500v[12]) - basic_machine=powerpc-unknown - os=$os"spe" - ;; - e500v[12]-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - os=$os"spe" - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - leon-*|leon[3-9]-*) - basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'` - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - moxiebox) - basic_machine=moxie-unknown - os=-moxiebox - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* | -cloudabi* | -sortix* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \ - | -onefs* | -tirtos* | -phoenix*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -ios) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/0001-avoid-self-describing-as-a-beta.patch b/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/0001-avoid-self-describing-as-a-beta.patch deleted file mode 100644 index 09cee783..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/0001-avoid-self-describing-as-a-beta.patch +++ /dev/null @@ -1,49 +0,0 @@ -From: Daniel Kahn Gillmor -Date: Wed, 13 May 2015 16:09:21 -0400 -Subject: avoid self-describing as a beta - -Using autoreconf against the source as distributed in tarball form -invariably results in a package that thinks it's a "beta" package, -which produces the "THIS IS A DEVELOPMENT VERSION" warning string. - -since we use dh_autoreconf, i need this patch to avoid producing -builds that announce themselves as DEVELOPMENT VERSIONs. - -See discussion at: - - http://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029065.html ---- - autogen.sh | 4 ++-- - configure.ac | 4 +--- - 2 files changed, 3 insertions(+), 5 deletions(-) - -diff --git a/autogen.sh b/autogen.sh -index 37edfc6..2dff9cd 100755 ---- a/autogen.sh -+++ b/autogen.sh -@@ -228,8 +228,8 @@ if [ "$myhost" = "find-version" ]; then - rvd=$((0x$(echo ${rev} | head -c 4))) - else - ingit=no -- beta=yes -- tmp="-unknown" -+ beta=no -+ tmp="" - rev="0000000" - rvd="0" - fi -diff --git a/configure.ac b/configure.ac -index c1b66d6..05a902a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -36,9 +36,7 @@ m4_define([mym4_revision], m4_esyscmd([git branch -v 2>/dev/null \ - | awk '/^\* / {printf "%s",$3}'])) - m4_define([mym4_revision_dec], - m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) --m4_define([mym4_betastring], -- m4_esyscmd_s([git describe --match 'pinentry-[0-9].[0-9].*[0-9]' \ -- --long| awk -F- '$3!=0{print"-beta"$3}'])) -+m4_define([mym4_betastring],[]) - m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) - m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/series b/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/series deleted file mode 100644 index 5afae467..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -0001-avoid-self-describing-as-a-beta.patch diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/tests/control b/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/tests/control deleted file mode 100644 index 83ef7dc8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/tests/control +++ /dev/null @@ -1,2 +0,0 @@ -Tests: simple-tty -Depends: python3, pinentry-tty diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/stamp-vti b/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/stamp-vti deleted file mode 100644 index 8ed26ce8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/stamp-vti +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 3 December 2017 -@set UPDATED-MONTH December 2017 -@set EDITION 1.1.0 -@set VERSION 1.1.0 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/version.texi b/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/version.texi deleted file mode 100644 index 8ed26ce8..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/version.texi +++ /dev/null @@ -1,4 +0,0 @@ -@set UPDATED 3 December 2017 -@set UPDATED-MONTH December 2017 -@set EDITION 1.1.0 -@set VERSION 1.1.0 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/gpg-error.m4 b/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/gpg-error.m4 deleted file mode 100644 index 1661204c..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/gpg-error.m4 +++ /dev/null @@ -1,121 +0,0 @@ -# gpg-error.m4 - autoconf macro to detect libgpg-error. -# Copyright (C) 2002, 2003, 2004, 2011, 2014 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. -# -# Last-changed: 2014-10-02 - - -dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, -dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) -dnl -dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, -dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are -dnl used for programs requireing real multi thread support. -dnl -dnl If a prefix option is not used, the config script is first -dnl searched in $SYSROOT/bin and then along $PATH. If the used -dnl config script does not match the host specification the script -dnl is added to the gpg_config_script_warn variable. -dnl -AC_DEFUN([AM_PATH_GPG_ERROR], -[ AC_REQUIRE([AC_CANONICAL_HOST]) - gpg_error_config_prefix="" - dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, - dnl since that is consistent with how our three siblings use the directory/ - dnl package name in --with-$dir_name-prefix=PFX. - AC_ARG_WITH(libgpg-error-prefix, - AC_HELP_STRING([--with-libgpg-error-prefix=PFX], - [prefix where GPG Error is installed (optional)]), - [gpg_error_config_prefix="$withval"]) - - dnl Accept --with-gpg-error-prefix and make it work the same as - dnl --with-libgpg-error-prefix above, for backwards compatibility, - dnl but do not document this old, inconsistently-named option. - AC_ARG_WITH(gpg-error-prefix,, - [gpg_error_config_prefix="$withval"]) - - if test x"${GPG_ERROR_CONFIG}" = x ; then - if test x"${gpg_error_config_prefix}" != x ; then - GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/gpg-error-config" ; then - GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" - fi - ;; - '') - ;; - *) - AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) - ;; - esac - fi - fi - - AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) - min_gpg_error_version=ifelse([$1], ,0.0,$1) - AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) - ok=no - if test "$GPG_ERROR_CONFIG" != "no" \ - && test -f "$GPG_ERROR_CONFIG" ; then - req_major=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` - req_minor=`echo $min_gpg_error_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` - gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version` - major=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` - minor=`echo $gpg_error_config_version | \ - sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` - if test "$major" -gt "$req_major"; then - ok=yes - else - if test "$major" -eq "$req_major"; then - if test "$minor" -ge "$req_minor"; then - ok=yes - fi - fi - fi - fi - if test $ok = yes; then - GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags` - GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs` - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null` - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null` - AC_MSG_RESULT([yes ($gpg_error_config_version)]) - ifelse([$2], , :, [$2]) - gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none` - if test x"$gpg_error_config_host" != xnone ; then - if test x"$gpg_error_config_host" != x"$host" ; then - AC_MSG_WARN([[ -*** -*** The config script $GPG_ERROR_CONFIG was -*** built for $gpg_error_config_host and thus may not match the -*** used host $host. -*** You may want to use the configure option --with-gpg-error-prefix -*** to specify a matching config script or use \$SYSROOT. -***]]) - gpg_config_script_warn="$gpg_config_script_warn libgpg-error" - fi - fi - else - GPG_ERROR_CFLAGS="" - GPG_ERROR_LIBS="" - GPG_ERROR_MT_CFLAGS="" - GPG_ERROR_MT_LIBS="" - AC_MSG_RESULT(no) - ifelse([$3], , :, [$3]) - fi - AC_SUBST(GPG_ERROR_CFLAGS) - AC_SUBST(GPG_ERROR_LIBS) - AC_SUBST(GPG_ERROR_MT_CFLAGS) - AC_SUBST(GPG_ERROR_MT_LIBS) -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/iconv.m4 b/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/iconv.m4 deleted file mode 100644 index c5f35798..00000000 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/iconv.m4 +++ /dev/null @@ -1,103 +0,0 @@ -# iconv.m4 serial AM4 (gettext-0.11.3) -dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. -dnl This file is free software, distributed under the terms of the GNU -dnl General Public License. As a special exception to the GNU General -dnl Public License, this file may be distributed as part of a program -dnl that contains a configuration script generated by Autoconf, under -dnl the same distribution terms as the rest of that program. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_func_iconv=yes) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - am_cv_lib_iconv=yes - am_cv_func_iconv=yes) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST(LIBICONV) - AC_SUBST(LTLIBICONV) -]) - -AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL(am_cv_proto_iconv, [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([$]{ac_t:- - }[$]am_cv_proto_iconv) - AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, - [Define as const if the declaration of iconv() needs const.]) - fi -]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/AUTHORS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS similarity index 92% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/AUTHORS rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS index 2482e1fe..36bf40bc 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/AUTHORS +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/AUTHORS @@ -15,14 +15,14 @@ List of Copyright holders ========================= Copyright (C) 1999 Robert Bihlmeyer -Copyright (C) 2001-2004, 2007-2008, 2010, 2015-2017 g10 Code GmbH +Copyright (C) 2001-2004, 2007-2008, 2010, 2015-2017, 2021 g10 Code GmbH Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) Copyright (C) 2004 by Albrecht Dreß -Copyright 2007 Ingo Klöcker +Copyright (C) 2007 Ingo Klöcker Copyright (C) 2014 Serge Voilokov Copyright (C) 2015 Daiki Ueno Copyright (C) 2015 Daniel Kahn Gillmor -Copyright 2016 Intevation GmbH +Copyright (C) 2016 Intevation GmbH Copyright (C) 2016 Anatoly madRat L. Berenblit diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/COPYING b/debian/pinentry-tqt/pinentry-tqt-1.2.1/COPYING similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/COPYING rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/COPYING diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/ChangeLog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog similarity index 61% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/ChangeLog rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog index de4fbc53..4f1a0172 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/ChangeLog +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog @@ -1,3 +1,1132 @@ +2022-08-24 Werner Koch + + Release 1.2.1. + + commit 338961541fa9416937092d6e7720246b3cd7465a + + +2022-08-12 Andre Heinecke + + qt: Use Dialogs foregroundwindow code in confirm. + + commit 835b690cbd857eb699f24745ee13371b4d379683 + * qt/pinentryconfirm.cpp (PinentryConfirm): Minimize and raise on + start. + (showEvent): Do not call raiseWindow. + +2022-08-05 Ingo Klöcker + + qt4: Add recipe for container for testing build for Qt4. + + commit 0cb17ea14e533655e17c9daff1058a211ff9087e + * docker: New. + + qt4: Make it compile with Qt 4.8.7 and without C++11. + + commit 825819b754f50b79e238efc8c9613653315872bb + * qt4/main.cpp (qt_cmd_handler): Replace nullptr with NULL. + * qt4/pinentrydialog.cpp (PinEntryDialog::generatePin): Replace auto with + type name. + * qt4/pinlineedit.cpp (PinLineEdit::keyPressEvent): Replace + Qt::Key::Key_Backspace with Qt::Key_Backspace. + + qt,qt4: Separate build of pinentry with Qt5 and Qt4. + + commit 08a7391fc024530fa619fabbd16f900ad42108e6 + * Makefile.am (pinentry_qt4): New. + (SUBDIRS): Add pinentry_qt4. + * configure.ac: Add arg pinentry-qt4. Check for Qt4 libraries. + Substitute variables PINENTRY_QT4_CFLAGS, PINENTRY_QT4_LIBS, + PINENTRY_QT4_LDFLAGS, MOC4. + (BUILD_PINENTRY_QT4): New conditional. + (PINENTRY_QT4): New define. + * m4/qt.m4: Remove check for Qt4 libraries. + * m4/qt4.m4: New. + * qt4/Makefile.am: Check for BUILD_PINENTRY_QT4 instead of + BUILD_PINENTRY_QT. + (bin_PROGRAMS): Change pinentry-qt to pinentry-qt4. + (AM_CXXFLAGS): Change PINENTRY_QT_CFLAGS to PINENTRY_QT4_CFLAGS. + (pinentry_qt_LDADD): Renamed to pinentry_qt4_LDADD. + (pinentry_qt4_LDADD): Change PINENTRY_QT_LIBS to PINENTRY_QT4_LIBS. + (pinentry_qt_LDFLAGS): Renamed to pinentry_qt4_LDFLAGS. + (pinentry_qt4_LDFLAGS): Change PINENTRY_QT_LDFLAGS to + PINENTRY_QT4_LDFLAGS. + (pinentry_qt_SOURCES): Renamed to pinentry_qt4_SOURCES. + (nodist_pinentry_qt_SOURCES): Renamed to nodist_pinentry_qt4_SOURCES. + (.h.moc): Change MOC to MOC4. + + qt4: Add old copy of source code of pinentry-qt for building with Qt4. + + commit 70388f18958c5df7a45911e0fade23d19acb38e8 + * qt4: New. + +2022-07-21 NIIBE Yutaka + + Fix for modern Autoconf. + + commit 34709975debde7afc0927f30c8541c40af0cc481 + * m4/curses.m4: Use AS_HELP_STRING. Use AC_LINK_IFELSE. + * m4/qt.m4: Use AS_HELP_STRING. + + build: Update config.guess, config.sub, and config.rpath. + + commit e1cdfc733757b9cc801b628185f1404494d5000c + * build-aux/config.guess: Update from upstream. + * build-aux/config.sub: Ditto. + * build-aux/config.rpath: Update from gettext 0.21. + + build: Fix for internal secmem. + + commit 55353112cdc7a9fb84ad5d6d430e218ae81710b4 + * acinclude.m4 (GNUPG_CHECK_TYPEDEF): Remove. + (GNUPG_CHECK_MLOCK): Update from libgcrypt. + * configure.ac: Use AC_CHECK_TYPES for byte, ulong, and u64. + * secmem/secmem.c: Use HAVE_U64. + + build: Update gpg-error.m4. + + commit 4f26b1fa994c8d013fc7516e16e2f1488212e0e7 + * m4/gpg-error.m4: Update from libgpg-error. + +2022-06-01 NIIBE Yutaka + + Remove old code which makes sure NUL-termination of strings. + + commit 523a4f2d5d1c37df5ea7922f9545823afb3cb762 + * gnome3/pinentry-gnome3.c (create_prompt): Remove putting 0. + * gtk+-2/pinentry-gtk-2.c (changed_text_handler): Ditto. + * pinentry/pinentry.c (get_cmdline, pinentry_get_title): Ditto. + (my_strusage, write_status_error, cmd_getinfo): Ditto. + * w32/main.c (w32_strerror): Ditto. + + Remove USE_CAPABILITIES. + + commit 0d3be7b81eb1fea6b51144d2381eaa318a63e761 + * configure.ac: Remove --with-libcap. + * curses/Makefile.am, efl/Makefile.am: Remove LIBCAP. + * emacs/Makefile.am, fltk/Makefile.am: Ditto. + * gnome3/Makefile.am, gtk+-2/Makefile.am: Ditto. + * qt/Makefile.am, tqt/Makefile.am: Ditto. + * tty/Makefile.am: Ditto. + + secmem: Remove use of cap_set_proc. + + commit 88cad4621be36fa70596abb803252b844d1b5d42 + * secmem/secmem.c (lock_pool): Clean up. + +2022-06-01 Jakub Jelen + + pinentry: Remove dead code. + + commit 96771ae57e86756a2f079202cf069a1ce6cc4357 + * pinentry/pinentry.c (pinentry_get_title): Remove needless check for + null on static array + + pinentry: Terminate the buffer in the right place. + + commit cd753c8560cde013981466c7298e0376e27b6364 + * pinentry/pinentry.c (get_pid_name_for_uid): Terminate the buffer in + the right place. + + secmem: Do not pass negative values to strerr. + + commit c2e7cc560bdbcdaa9861ae8d37f28be5b342a64d + secmem/secmem.c (lock_pool): Pass the correct variable to strerr + +2022-05-25 NIIBE Yutaka + + Mark with ASSUAN_CONFIDENTIAL flag. + + commit c405add93a77f332273fa844bba36dade3f6422b + * pinentry/pinentry.c (cmd_getpin): Call assuan_begin_confidential + and assuan_end_confidential. + +2022-05-12 Ingo Klöcker + + qt: Update the cursor position when reformatting the text. + + commit 555cd94a2b2bb294a658a1c6ff9574f8a4ff3186 + * qt/pinlineedit.cpp (PinLineEdit::textEdited): Update cursor position + after reformatting the text. + +2022-03-24 NIIBE Yutaka + + w32,curses: Supply simple replacement for nl_langinfo. + + commit 41884436bec05997ffe21e93bcee604e53b9d120 + * pinentry/pinentry-curses.c [HAVE_W32_SYSTEM] (nl_langinfo): New. + + curses: Move pinentry_utf8_to_local/pinentry_local_to_utf8. + + commit 4612fd45f56963abf6052ef44a3575a1f98bf08a + * pinentry/pinentry-curses.c (pinentry_utf8_to_local): Now here. + (pinentry_local_to_utf8, lc_ctype_unknown_warning): Likewise. + * pinentry/pinentry.c: Moved to pinentry-curses.c. + (pinentry_get_pgmname): New. + + build,w32: Fix build on Windows. + + commit 9a8a38d28d36cf49b057fcd730de878acbd5fae3 + * Makefile.am: Add EXEEXT. + * secmem/secmem.c [HAVE_MMAP] (pool_is_mmapped): Only enabled with + HAVE_MMAP. + (init_pool): The variable PGSIZE is only used with HAVE_MMAP. + +2022-03-02 Ingo Klöcker + + build: Do not list the same files thrice in qt/Makefile.am. + + commit 5531e1c682382f42ef8f0545596a4fd3635e8484 + * qt/Makefile.am (CLEANFILES, nodist_pinentry_qt_SOURCES): Set to + $(BUILT_SOURCES). + + qt: Make text label in pinentry message box focusable. + + commit 42af54bece51f3c4c70eab0b2f67a03cc8951dff + * qt/main.cpp (qt_cmd_handler): Set text format of message box to + PlainText. Set text interaction flags of message box to + TextSelectableByMouse. + * qt/qt/pinentryconfirm.h (class PinentryConfirm): Derive from + QAccessible::ActivationObserver interface; add d'tor; override + focusNextPrevChild method of QMessageBox and accessibilityActiveChanged + method of QAccessible::ActivationObserver interface. + * qt/pinentryconfirm.cpp (messageBoxLabel): New. + (PinentryConfirm::PinentryConfirm): Register as activation observer. + (PinentryConfirm::~PinentryConfirm): New. + (PinentryConfirm::focusNextPrevChild): New. + (PinentryConfirm::accessibilityActiveChanged): New. + + qt: Extract function for selecting the text of a QLabel. + + commit b6370f87d247cfeb4d4161a248fa91661d08af37 + * qt/accessibility.h, qt/accessibility.cpp (selectLabelText): New. + * qt/pinentrydialog.cpp (TextLabel::focusInEvent): Use new function. + + qt: Modernize code. + + commit e7bcc0894e3a9e7cf5ae460af0269033c5b421cd + * qt/pinentryconfirm.h, qt/pinentryconfirm.cpp + (PinentryConfirm::PinentryConfirm): Remove timeout argument. Add flags + argument. Rename argument desc to text. + (PinentryConfirm::setTimeout, PinentryConfirm::timeout): New. + (PinentryConfirm::showEvent): Mark as override. + (class PinentryConfirm): Hold field _timer by value instead of by + pointer. Initialize _timed_out in-class. Use Q_SLOTS instead of slots. + * qt/pinentryconfirm.cpp (PinentryConfirm::PinentryConfirm): + Use QTimer::callOnTimeout() for setting the timeout handler. Do not + start the timer. + (PinentryConfirm::showEvent): Make timer a single-shot timer and start it. + * qt/main.cpp (qt_cmd_handler): Set timeout with new setter. + + qt: Fix reaction to Escape key and close button of window. + + commit 4435e9fa206f29b2fbc45e24b85c5604c4eefdbd + * qt/pinentryconfirm.cpp (PinentryConfirm::showEvent): Call the + overridden method of the direct super class. + + qt: Use better icon for signalling an error. + + commit 774e8a72cd1e10f6e81592fe8e47c13c3167cd77 + * qt/icons/data-error.svg: New. + * qt/icons/Makefile.am, qt/pinentryrc.qrc: Add new file. + * qt/pinentrydialog.h, qt/pinentrydialog.cpp (icon): Rename to + applicationIconPixmap. Change optional parameter to QIcon. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog, + PinEntryDialog::setDescription): Adjust to renaming of icon(). + (PinEntryDialog::setError): Use new icon as overlay for application icon. + * qt/main.cpp (qt_cmd_handler): Adjust to renaming of icon(). + +2022-03-02 Andre Heinecke + + qt: Add Makefile.am for icons subdir. + + commit 62efdca5e5cc354e53bbf4d39ca84031a9706086 + * qt/icons/Makefile.am: New. + +2022-03-01 Ingo Klöcker + + qt: Modernize code: Use in-class initializers for all members. + + commit 09e0111f02853c210b2106410eedf62734c1ec35 + * qt/pinentrydialog.h (class PinEntryDialog): Use in-class initializers + for all POD members. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Remove + superfluous member initializers. Flag argument 'name' as unused. Remove + superfluous initialization by assignment of _timed_out and _timer. + + qt: Modernize code: Use type-safe, new-style connects. + + commit d63355949f27787b131c34c8213666ea75a738ce + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Use new-style + connects. + + qt: Fix giving focus to repeat field after Enter in first field. + + commit 8671cc814ca0c148bdfbd67816e211aa27462ca1 + * qt/pinentrydialog.h, qt/pinentrydialog.cpp + (PinEntryDialog::keyPressEvent): New. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Remove + connection to QLineEdit::returnPressed signal. + (PinEntryDialog::focusChanged): Remove code changing the default property + of the Ok button. + + qt: Fix compiler warning. + + commit 3157e27ebbd62a08a813d4f8e2dac7051e3b1059 + * qt/pinentrydialog.h (class PinEntryDialog): Mark showEvent as override. + + qt: Allow text of all labels to be selected with the mouse. + + commit c75350edce1b0580caacbe8a30d8e52885ae6366 + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set text + interaction flags of all text labels to TextSelectableByMouse. + (PinEntryDialog::accessibilityActiveChanged): Keep ClickFocus in focus + policy of labels. + + qt: Do not set an empty tool tip. + + commit e19dc862774e30206cb55662214273d068d9dc89 + qt/pinentrydialog.cpp (PinEntryDialog::setConstraintsOptions): Check + if options.longHint is empty. + + qt: Ensure visual feedback when a text label gets focus. + + commit 09f92e7123c22fb7354ad26a67b404f3cb4028a4 + qt/pinentrydialog.cpp (class TextLabel): New. + qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set text format + of all text labels to PlainText. Change all text labels that shall be + able to receive focus from QLabel to TextLabel. + (PinEntryDialog::setFormattedPassphrase): Set text format of + mFormattedPassphraseHint to RichText. + + qt: Make text labels focusable if accessibility is active. + + commit 50ad2196d3f62a2fe078e4554b34e75b423374ee + qt/pinentrydialog.h (class PinEntryDialog): Derive from + QAccessible::ActivationObserver interface; add d'tor; override + accessibilityActiveChanged function of QAccessible::ActivationObserver + interface. + qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Register the + dialog as activation observer. + (PinEntryDialog::~PinEntryDialog): New. + (PinEntryDialog::accessibilityActiveChanged): New. + + qt: Create all widgets in tab order. + + commit dd9f765258230cad6704afb4fab6c3deb4a8de56 + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + _have_quality_bar with member initializer; rework setup of UI + +2022-02-10 Andre Heinecke + + qt: Embed icons to avoid theme searches. + + commit 7d5c123f802abce11c711d57e8796d58d6ff1a16 + * m4/qt.m4: Check for RCC tool + * qt/qrc_pinentry.cpp: Remove not used file. + * qt/document-encrypt.png: Move to icons subfolder + * qt/icons/*.svg: New. + * qt/main.cpp: Use new path for window icon. + * qt/pinentryrc.qrc: Real ressource file. + * qt/pinentrydialog.cpp: Use embedded icons. + +2022-01-19 Daniel Kahn Gillmor + + avoid typo. + + commit 8b07ddf3460acd613db66f4c1230636da6ea191b + + +2022-01-17 Andre Heinecke + + qt: Install translator and translations. + + commit 8f239a2b133cae8ca9c1876c732d4e00d06c7d26 + * qt/qti18n.cpp: New. Based on KDE framework ki18n. + +2021-12-22 NIIBE Yutaka + + build: Fix configure.ac for newer autoconf/automake. + + commit ac338b99fd63ddfa8a7b6ae07933cfda6b108162 + * configure.ac (AC_CONFIG_HEADERS): Use it, instead of obsolete + AM_CONFIG_HEADER. + (AC_HEADER_STDC): Remove. + +2021-10-15 NIIBE Yutaka + + curses: Fix the previous commit. + + commit b713f31c5b042ff9d7b10c64bbc7ab02e195fbc9 + + +2021-10-13 NIIBE Yutaka + David Stes + + curses: Specify fg/bg when an extention of Ncurses is not available. + + commit d937ccfe4445394f0ca0da24fe46429a29ae48ce + * pinentry/pinentry-curses.c (dialog_run): Support original Curses. + +2021-09-30 NIIBE Yutaka + + curses: Handle an error at curses initialization. + + commit d22c49140b86880bbea2bb55542297984792b40a + * pinentry/pinentry-curses.c (dialog_run): Detect an error of newterm. + +2021-09-14 Ingo Klöcker + + qt: Support building with Qt 5.9. + + commit c68d80e23a860a06e7b22b6c0d72aed5d049faef + * qt/pinlineedit.cpp (class PinLineEdit::Private): Add field q. + (PinLineEdit::Private::Private): New. + (PinLineEdit::Private::copyToClipboard): Remove obsolete parameter. + Use new field q instead. + (PinLineEdit::Private::selectionEnd): New. + (PinLineEdit::PinLineEdit): Pass this to Private. + (PinLineEdit::setFormattedPassphrase): Use new selectionEnd. + (PinLineEdit::copy): Call copyToClipboard without parameter. + +2021-08-25 Werner Koch + + Release 1.2.0. + + commit aaf5d44f26e39f57bb47ae09dd3d575fcc51d9f5 + + +2021-08-18 Werner Koch + + Accept percent escaped formatted-passphrase-hint option. + + commit 008fb9337a52730b5533c6c3ddc93128f8c5395b + * pinentry/pinentry.c (option_handler): Unescape + formatted_passphrase_hint. + +2021-08-18 Ingo Klöcker + + qt: Change group size for passphrase formatting to 5. + + commit 5a6d70cf7d7bdd42505400bb1838c56812a22e56 + * qt/pinlineedit.cpp (static const int FormattedPassphraseGroupSize): + Set to 5. + +2021-08-16 Ingo Klöcker + + qt: Make sure the message box is centered on top of the pinentry. + + commit d285c2cb1f61df77427967ea96c1df02adcae8df + * qt/pinentrydialog.cpp (PinEntryDialog::checkConstraints): Set + parent of message box. + +2021-08-12 Ingo Klöcker + + qt: Make pinentry compile again with QT_NO_ACCESSIBILITY. + + commit 141b5776a90675877bdf63c17946170a7b20e5c6 + * qt/accessibility.cpp, qt/accessibility.h: New. + * qt/Makefile.am (pinentry_qt_SOURCES): Add new files. + * qt/main.cpp (qt_cmd_handler): Use new Accessibility helpers. + * qt/pinentryconfirm.cpp (PinentryConfirm::PinentryConfirm): Use new + Accessibility helpers. + * qt/pinentrydialog.cpp (PinEntryDialog::setDescription, + PinEntryDialog::setError, PinEntryDialog::setOkText, + PinEntryDialog::setCancelText, PinEntryDialog::setQualityBar, + PinEntryDialog::setGenpinLabel, PinEntryDialog::setCapsLockHint, + PinEntryDialog::setConstraintsOptions): Use new Accessibility helpers. + (PinEntryDialog::textChanged, PinEntryDialog::checkCapsLock): Guard + code using accessibility features with #ifndef QT_NO_ACCESSIBILITY. + + qt: Always make passphrase visible after generating it. + + commit e0b4e552638ed0d18a166a1337d9caa32744520e + * qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Trigger + visibility action or check visibility checkbox. + + qt: Prevent possible crash when generating pin. + + commit 146fc0444b1fd30b85bac1f97607a9691164faa0 + * qt/pinentrydialog.cpp (PinEntryDialog::toggleVisibility): Check + visibility action for nullptr. + + qt: Change calculation of end of selection when enabling formatting. + + commit 1349fb7bcb5c84f3e0474ae209c5a058c12ff6e9 + * qt/pinlineedit.cpp (PinLineEdit::Private::formattedSelection): + Do not include trailing separator in selection. + + qt: Fix calculation of end of selection when disabling formatting. + + commit 1ae88d75321898901a692df95799a3c7e7b2f038 + * qt/pinlineedit.cpp (PinLineEdit::Private::unformattedSelection): + Fix calculation. + + qt: Remove checkbox for passphrase formatting. + + commit 06190adba5ac544bce77c4e5af75b44896850145 + * qt/main.cpp (qt_cmd_handler): Pass changed formatted passphrase + options to the dialog. + * qt/pinentrydialog.h (PinEntryDialog): Add field mFormatPassphrase. + Remove field mFormattedPassphraseCB. + (enum PinEntryDialog::FormattedPassphraseMode): Remove. + (struct PinEntryDialog::FormattedPassphraseOptions): Remove fields + mode, label, tooltip. Add field formatPassphrase. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + mFormatPassphrase. + (PinEntryDialog::setFormattedPassphrase): Set mFormatPassphrase. + Update widgets. + (PinEntryDialog::toggleFormattedPassphrase): Use mFormatPassphrase + instead of state of removed checkbox. + + Make passphrase formatting a simple flag. + + commit c42c6371fcf8ff2e856fa6059261617644e32a57 + * pinentry/pinentry.h (struct pinentry): Remove fields + formatted_passphrase_label, formatted_passphrase_tt. + * pinentry/pinentry.c (pinentry_reset): Remove free'ing of removed + fields. + (option_handler): Treat option "formatted-passphrase" as simple flag. + Remove options "formatted-passphrase-label", "formatted-passphrase-tt". + +2021-08-11 Ingo Klöcker + + qt: Add missing header files to sources. + + commit 990afda6a9a1633297882da4f9c255b60a1cc338 + * qt/Makefile.am (pinentry_qt_SOURCES): Add header files. + + qt: Add logging category. + + commit 3086964f103d19b035f8df95114905a82fb4eb89 + * qt/pinentry_debug.cpp, qt/pinentry_debug.h: New. + * qt/Makefile.am (pinentry_qt_SOURCES): Add new files. + * qt/main.cpp (main): Use logging category for debug messages. + + qt: Fix crash when setting repeat error. + + commit d71d890ec23e718f339dc5a3f141a3f04a38e020 + * qt/pinentrydialog.cpp (PinEntryDialog::setRepeatErrorText): Check + for nullptr. + + qt: Change type and title of "Passwords do not match" notification. + + commit b8f1d2cc4202b4a76b199c356f2957df8acc37f5 + * qt/pinentrydialog.cpp (PinEntryDialog::onAccept): Make notification + an "information". Use repeat error text as title. + + qt: Avoid HTML markup in accessible descriptions and names. + + commit 639725b68b8a57fdad610fbe570029f151b138cb + * qt/pinentrydialog.cpp (PinEntryDialog::setFormattedPassphrase, + PinEntryDialog::setConstraintsOptions): + Set accessible descriptions and accessible names without HTML markup. + + qt: Select generated password explicitly after giving focus to input. + + commit 70b14b29d53291245dd72281e2b94a43f5834328 + qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Select text in + input field. + +2021-08-10 Ingo Klöcker + + qt: Make the generate password action accessible. + + commit 42c0d3ee935de67b5a261b1bd0fa62b1b519cbd4 + * qt/pinentrydialog.h (PinEntryDialog): Remove unused field mGenerateTT. + Remove field mGenerateActionEdit. Add field mGenerateButton. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + new field. Set up new push button. + (PinEntryDialog::setGenpinLabel): Set accessible name and update + visibility of new push button. + (PinEntryDialog::setGenpinLabel): Set tooltip of new push button. + (PinEntryDialog::setGenpinLabel): Update visibility of new push button. + (PinEntryDialog::generatePin): Focus password input field. + +2021-08-09 Ingo Klöcker + + qt: Improve accessibility when entering new password. + + commit 8acf47ea46a6c2aa1fc5254b81c6cf57ad506b9c + * qt/pinentrydialog.h (PinEntryDialog): Change type of field + mRepeatError from QString to QLabel*. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + mRepeatError. Add widget for "entered passwords do not match" + error. Do not make the Ok button the default button. Connect to + returnPressed signal of (first) password input field. + (PinEntryDialog::focusChanged): Update default state of Ok button. + (PinEntryDialog::textChanged): Remove code disabling the Ok button + and setting a tooltip. + (PinEntryDialog::setRepeatErrorText): Set text of "entered passwords + do not match" widget. + (PinEntryDialog::onAccept): Show error if entered passwords do not + match. + +2021-08-06 Andre Heinecke + + qt: Mask caps lock toggle bit on windows. + + commit e5d4738a76b44c4732ddb57b7a3f3e25001ef006 + * qt/capslock_win.cpp (capsLockState): Mask toggle bit. + +2021-08-02 Ingo Klöcker + + qt: Try harder to find out whether we are running in a GUI session. + + commit 956ee260f541790e0ecf01feb9d91f8f1617aa0e + * qt/main.cpp (main): Check more environment variables on Unix systems. + + Fix typo. + + commit 0735afa87e90c160bd3092605598c204b7dc38c3 + + + qt: Improve message shown if passphrase does not satisfy constraints. + + commit fefd730651b6881aba374c548ff253517063747a + qt/pinentrydialog.cpp (PinEntryDialog::checkConstraints): Use + property-based API of QMessageBox. + + qt: Ensure that malloced strings are free'd. + + commit 6191d4f06c8b46232e7d1bb3e12e3a3736fa6582 + * qt/main.cpp (qt_cmd_handler): Use unique_malloced_ptr for malloced + strings. + * qt/pinentrydialog.cpp (PinEntryDialog::generatePin, + PinEntryDialog::checkConstraints): Use unique_malloced_ptr for malloced + strings. + * qt/util.h: New. + + qt: Cancel timeout on more user interactions. + + commit f622321df5bbaedef882c3451307ff1727c4cd2d + * qt/pinentrydialog.h, qt/pinentrydialog.cpp + (PinentryDialog::cancelTimeout): New. + * qt/pinentrydialog.cpp (PinEntryDialog::onBackspace): Cancel timeout. + (PinEntryDialog::updateQuality, PinEntryDialog::textChanged): Cancel + timeout in PinEntryDialog::textChanged instead of + PinEntryDialog::updateQuality. + (PinEntryDialog::onAccept): Cancel timeout. + +2021-07-28 Ingo Klöcker + + qt: Check passphrase constraints before accepting passphrase. + + commit b0969ef692ac729c3e3d9d8d5f34579f2116438a + * qt/main.cpp (qt_cmd_handler): Pass constraints options to the dialog. + * qt/pinentrydialog.h (PinEntryDialog): Add struct ConstraintsOptions. + Add enum PassphraseCheckResult. Add fields mEnforceConstraints, + mConstraintsHint, mConstraintsErrorTitle. + * qt/pinentrydialog.h, qt/pinentrydialog.cpp + (PinEntryDialog::setConstraintsOptions, PinEntryDialog::onAccept, + PinEntryDialog::checkConstraints): New. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + new fields. Call onAccept() on click on Ok. Add widget for constraints + hint. + (PinEntryDialog::checkCapsLock): Constify variable. + + Add support for passphrase constraints options and checkpin inquiry. + + commit 8f5d4532fbd6e3ed460386bdcda2cdac066a0556 + * pinentry/pinentry.h (struct pinentry): Add fields constraints_enforce, + constraints_hint_short, constraints_hint_long, constraints_error_title. + * pinentry/pinentry.h, pinentry/pinentry.c (pinentry_inq_checkpin): + New. + * pinentry/pinentry.c (pinentry_reset): Take care of the new fields. + (do_unescape_inplace): New. + (option_handler): New options "constraints-enforce", + "constraints-hint-short", "constraints-hint-long", + "constraints-error-title". + +2021-07-26 Ingo Klöcker + + Mention Caps Lock warning in NEWS file. + + commit 134f75516d9511d7012e7dd3567e45b00ce4cb9a + + + qt: Add support for Caps Lock hint on Wayland. + + commit 3e803ebf640e73d9fb485fbb8b69b845a80fc695 + * configure.ac: Check for KF5WaylandClient. Add "-fpic" to CFLAGS. + Define PINENTRY_QT_WAYLAND if pinentry-qt should use KF5WaylandClient. + * qt/Makefile.am (BUILT_SOURCES, CLEANFILES, nodist_pinentry_qt_SOURCES): + Add capslock.moc. + (pinentry_qt_SOURCES): Add capslock.cpp. + * qt/capslock.cpp: New. + * qt/capslock.h (class CapsLockWatcher): New. + * qt/capslock_p.h: New. + * qt/capslock_unix.cpp (watchingWayland): New static. + (capsLockState): Log hint for using CapsLockWatcher on Wayland. + (CapsLockWatcher::Private::*): New. + * qt/pinentrydialog.cpp: Include config.h. + (PinEntryDialog::PinEntryDialog): Set up CapsLockWatcher. + + qt: Differentiate unknown Caps Lock state from off state. + + commit a074c90c78a6dfed3b7d8f32434bcf9f9f2b56dc + * qt/capslock.h (enum class LockState): New. + * qt/capslock.h, qt/capslock_unix.cpp, qt/capslock_win.cpp + (capsLockIsOn, capsLockState): Rename former to latter. Change return + type to LockState. + * qt/capslock_unix.cpp (capsLockState): Remove check for qApp. + * qt/pinentrydialog.cpp (checkCapsLock): Adapt to changed function name + and return type of capsLockIsOn/capsLockState. + +2021-07-22 Ingo Klöcker + + qt: Fix showing of pinentry window on Wayland. + + commit 9dd46926f8d50cca059bbf5ea7aa003b9199a05f + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Skip the + minimize+raise trick on Wayland. + +2021-07-21 Ingo Klöcker + + qt: Show hint if Caps Lock is on. + + commit 78e4284e8d93502f301cf0c2eab384094680d444 + * configure.ac: Check for libX11. Define PINENTRY_QT_X11 if pinentry-qt + should use x11. + * m4/qt.m4: Check for Qt5X11Extras if libX11 is available. + * qt/Makefile.am (pinentry_qt_platform_SOURCES): New. + (pinentry_qt_SOURCES): Add pinentry_qt_platform_SOURCES. + * qt/capslock.h, qt/capslock_unix.cpp, qt/capslock_win.cpp: New. + * qt/main.cpp (qt_cmd_handler): Pass caps lock hint to the dialog. + * qt/pinentrydialog.cpp, qt/pinentrydialog.h + (PinEntryDialog::setCapsLockHint, PinEntryDialog::keyReleaseEvent, + PinEntryDialog::checkCapsLock): New. + * qt/pinentrydialog.h (PinEntryDialog): Use Q_SLOTS instead of slots. + Add field mCapsLockHint. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + new field. Add new widgets to GUI. Connect to applicationStateChanged() + signal. Call checkCapsLock(). + + Add support for Caps Lock hint. + + commit 672260f15bf88f7aadc88e5ed2717ed22abc510e + * pinentry/pinentry.h (struct pinentry): Add field 'default_capshint'. + * pinentry/pinentry.cpp (pinentry_reset): Take care of this field. + (option_handler): New option "default-capshint". + +2021-07-15 Ingo Klöcker + + Fix Assuan commands mentioned in comments. + + commit 621500c872585b60d2b31e2ce529c916b2f1d64c + pinentry/pinentry.h (struct pinentry): Fix comments. + + qt: Keep selection when enabling/disabling passphrase formatting. + + commit d875dba1cf87623d0d1240465cd43c660956eb2a + * qt/pinlineedit.cpp (struct Selection): New. + (PinLineEdit::Private::formattedSelection, + PinLineEdit::Private::formattedSelection): New. + (PinLineEdit::setFormattedPassphrase): Restore adjusted selection after + setting formatted/unformatted passphrase. + + qt: Enable formatted passphrase after generating passphrase. + + commit 64695a5e6f7bf59a1c161a60805dcfe5f3e5d720 + * qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Enable formatted + passphrase option. + + qt: Select passphrase after generation. + + commit 5a5a4de1a32ebfc6364aedfe00702eee9374d63e + qt/pinentrydialog.cpp (PinEntryDialog::generatePin): Select text in + input field. + + qt: Enable passphrase generation. + + commit 742462d8a4d124936650901fe57b928a6518957c + qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Set icon for + generate action to a valid icon. + + qt: Show hint if passphrase is shown and formatting is enabled. + + commit 85b180f1b0148a07d51d244deb1a1245c9008cc3 + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + new fields. + (PinEntryDialog::PinEntryDialog): Add new widgets to GUI. + (PinEntryDialog::setFormattedPassphrase): Set text of the hint. + (PinEntryDialog::toggleFormattedPassphrase): Show/hide hint and spacer + as needed. + * qt/pinentrydialog.h (PinEntryDialog): Add fields + mFormattedPassphraseHint, mFormattedPassphraseHintSpacer. + + qt: Copy passphrase without separators to clipboard. + + commit 8ad23d6f18cecf4fd0ba1f357a1845c36c9abc97 + * qt/pinlineedit.cpp, qt/pinlineedit.h (PinLineEdit::copy, + PinLineEdit::cut): New. + * qt/pinlineedit.cpp (PinLineEdit::Private::copyToClipboard): New. + (PinLineEdit::keyPressEvent): Handle more key sequences. + + qt: Support passphrase formatting. + + commit de70241567773a96195882002ce916e54a3639c1 + * qt/main.cpp (qt_cmd_handler): Pass formatted passphrase options to + the dialog. + * qt/pinentrydialog.cpp, qt/pinentrydialog.h + (PinEntryDialog::setFormattedPassphrase, + PinEntryDialog::toggleFormattedPassphrase): New. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Initialize + new field. Construct widgets in the order they appear on the screen. + Add widget for enabling passphrase formatting. + (PinEntryDialog::setPin, PinEntryDialog::generatePin): Use + PinLineEdit::setPin() instead of setText(). + (PinEntryDialog::pin, PinEntryDialog::textChanged, + PinEntryDialog::repeatedPin): Use PinLineEdit::pin() instead of text(). + (PinEntryDialog::toggleVisibility): Call toggleFormattedPassphrase(). + * qt/pinentrydialog.h (enum PinEntryDialog::FormattedPassphraseMode, + struct PinEntryDialog::FormattedPassphraseOptions): New. + * qt/pinentrydialog.h (PinEntryDialog): Change type of field mRepeat. + Add field mFormattedPassphraseCB. + * qt/pinlineedit.cpp, qt/pinlineedit.h (PinLineEdit::~PinLineEdit, + PinLineEdit::setPin, PinLineEdit::pin, + PinLineEdit::setFormattedPassphrase, PinLineEdit::textEdited, + class PinLineEdit::Private): New. + * qt/pinlineedit.cpp: Add static constants FormattedPassphraseGroupSize, + FormattedPassphraseSeparator. + (PinLineEdit::PinLineEdit): Initialize new field. Connect textEdited + signal. + * qt/pinlineedit.h (PinLineEdit::PinLineEdit): Add explicit specifier. + Make argument optional. + (PinLineEdit::keyPressEvent): Add override specifier. + (PinLineEdit): Make inherited QLineEdit::setText and QLineEdit::text + private. Add field d. + + Add support for formatted passphrase options. + + commit deb97f3eb65f64ccabffee74c037a3dca81a3f49 + * pinentry/pinentry.h (struct pinentry): Add fields + formatted_passphrase, formatted_passphrase_label, + formatted_passphrase_tt, formatted_passphrase_hint. + * pinentry/pinentry.c (pinentry_reset): Free the fields. + (option_handler): Add options "formatted-passphrase", + "formatted-passphrase-label", "formatted-passphrase-tt", + "formatted-passphrase-hint". + +2021-04-16 NIIBE Yutaka + Jakub Jelen + + tty: Fix error return paths and its resource leaks. + + commit 7f7fd8bcfd74919091cc318b27b8617a9ef2ac82 + * tty/pinentry-tty.c (tty_cmd_handler): Only call do_touch_file + on successful interaction. Fix closing file. + +2021-04-15 NIIBE Yutaka + + build: Update m4/gpg-error.m4. + + commit 6b697bd3e9f859cea338936894079241f2e15ffc + * m4/gpg-error.m4: Update from libgpg-error. + + Let autogen.sh create the VERSION file. + + commit 1c0c177fa5aee63bc2c12ba2074a337555254d99 + * autogen.sh: Update from Libgpg-error + * configure.ac: Use autogen.sh --find-version. + * Makefile.am (dist-hook): Do not create VERSION. + (EXTRA_DIST): Add VERSION. + * autogen.rc: Remove obsolete use of --with-gpg-error-prefix and + --with-libassuan-prefix, which is not needed any more. + +2021-04-14 Jakub Jelen + + core,emacs,tty,curses: Fix memory leaks, invalid accese, and mistake. + + commit a87d9e8f89f946a733c756c72bf5ec41e0a738b8 + * pinentry/pinentry-curses.c (dialog_create): Free NEW. + [HAVE_NCURSESW] (dialog_run): Free OLD_CTYPE on error. + * pinentry/pinentry.c (pinentry_inq_genpin): Free VALUE on error. + * tty/pinentry-tty.c (tty_cmd_handler): Don't access closed FDs. + * pinentry/pinentry-emacs.c (set_labels): Fix for ->default_cancel. + +2021-02-23 Damien Goutte-Gattat + + qt: Honor the --disable-rpath option. + + commit 6e8ad3150566d16a20cb3b54267191bcb0c14208 + * m4/qt.m4: Do not set rpath if --disable-rpath has been specified + at configure time. + +2021-02-19 Ingo Klöcker + + build: Make EFL libraries optional unless EFL is explicitly wanted. + + commit d09e7de3df65b22ae2e606e5c9e32dda260c8bef + * configure.ac: Build pinentry-efl if EFL libraries are found. If EFL + libraries are not found, then warn or error out depending on whether EFL + is explicitly requested or not. + +2021-02-18 Daniel Kahn Gillmor + + build: Simplfy use of pkg-config when testing for EFL. + + commit 19a18ba5fee049aac87b5114763095aaeb42430f + * configure.ac: use standard PKG_CONFIG macros when testing for EFL + libraries. + + GnuPG-Bug-Id: T5308 + +2021-02-16 Bertrand Jacquin + + efl: Convert pinentry description to markup. + + commit d6a3a048f172cf79869d1a0c0bc1e1c659e5dab7 + * efl/pinentry-efl.c (create_window): Convert all UI strings to markup + text. + +2021-02-13 Bertrand Jacquin + + efl: Ensure pinentry window is activated. + + commit 8fcbc9f40102d083db7a4acff2445e546ff5ec8b + * efl/pinentry-efl.c (create_window): Call elm_win_activate. + +2021-01-26 Andre Heinecke + + qt: Fix build against Qt4. + + commit 2859eddfb0c935d3f9eb9ccc1b42c121621123e9 + * qt/main.cpp: Ifdef out QWindow usage. + * qt/pinentrydialog.cpp: Only call the raiseWindow delayed when + using Qt5. + +2021-01-18 Damien Goutte-Gattat + + build: Fix make dist with newer Automake. + + commit b3e83681119e74a7a084310cd1ab14170cb549d5 + * qt/Makefile.am: Make sure .moc files are only built if needed. + * tqt/Makefile.am: Likewise. + +2020-12-21 NIIBE Yutaka + + gtk+-2: Avoid use of deprecated API. + + commit de1829f81f31df37912198dda4a0c31c75a79c01 + * gtk+-2/pinentry-gtk-2.c (create_window): Use + gtk_widget_set_can_default. + +2020-11-20 Andre Heinecke + + qt: Disable generate button for now. + + commit 749529cac2b050586518d8de145a55901d6158cd + * qt/pinentrydialog.cpp: Disable generate until we make it + prettier. + +2020-11-18 NIIBE Yutaka + + build: Update to newer autoconf constructs. + + commit 5c83f6314e3fe6cb78d92e353263ac519821c927 + * configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE. + Use AS_HELP_STRING instead of AC_HELP_STRING. + * m4/gpg-error.m4: Update from libgpg-error. + * m4/libassuan.m4: Update from libassuan. + +2020-11-06 Andre Heinecke + + qt: Improve focus and frontness. + + commit a421ae8c4d2a0ce182e099e634e49ccdad454627 + * qt/pinentrydialog.cpp (raiseWindow): Use QtWindowsWindowFunctions + to get a more agressive bring to frontness. + (PinEntryDialog::PinEntryDialog): Start minimized. + + qt: Fix crash when generate icon was not found. + + commit cd2e69bfcf2630d7a61c4499b49c21790a1821d1 + * qt/pinentrydialog.cpp (PinEntryDialog::setGenpinLabel) + (PinEntryDialog::setGenpinTT): Check for NULL. + + qt: Silence deprecation warning. + + commit e4f1681550b1c42c062bc0e209947f13351cf02c + * qt/pinentrydialog.cpp (PinEntryDialog::setDescription): QString::null + is deprecated. + + qt: Add genpin suppport. + + commit 340e3ef6f4fc1136bc38691745aeb651cbf263a1 + * pinentry/pinentry.c (pinentry_inq_genpin): New. Based on + inq_quality. + (cmd_setgenpin_tt, cmd_setgenpin_label): New string helpers. + (register_commands): Register stringhelper commands. + * pinentry/pinentry.h (struct pinentry): Add new variables for + label and tooltips. + * qt/main.cpp (qt_cmd_handler): Set up labels. + * qt/pinentrydialog.cpp (PinEntryDialog::PinEntryDialog): Add + generate action if label is provided. + (PinEntryDialog::setGenpinLabel): New. + (PinEntryDialog::setGenpinTT): New. + (PinEntryDialog::textChanged): Hide generate action if text + is entered. + (PinEntryDialog::generatePin): Inquire generate. + (PinEntryDialog::toggleVisibility): Allow calls from other + senders. + +2020-05-08 Andre Heinecke + + curses: Fix build with ncurses 6.2. + + commit ae584040d14a4d7d6eed8be77844126130ef0118 + * pinentry/pinentry-curses.c (curses_cmd_handler): Use + renamed variable. + * pinentry/pinentry.c (pinentry_reset, pinentry_parse_opts) + (option_handler, cmd_getinfo) Use renamed variable. + * pinentry/pinentry.h (struct pinentry): Rename ttytype to + ttytype_l. + +2020-01-10 David Faure + + qt: Add rpath so the Qt libs are found at runtime. + + commit 971d1365ab16279bb33312583c320008e391f26e + * configure.ac: Add PINENTRY_QT_LDFLAGS variable. + * m4/qt.m4: Check qt libdir and add it to LDFLAGS. + * qt/Makefile.am: Use PINENTRY_QT_LDFLAGS. + +2019-12-05 NIIBE Yutaka + + build: Require newer GTK+2 (>= 2.12.0). + + commit 099b79fc2d6638598b94161e1162a55af8a95531 + * configure.ac: Check gtk+-2.0 >= 2.12.0. + + gtk: Remove support of old GTK+2 (< 2.12.0). + + commit edbd0d61b35fe7408cb879c0bd81daf42accb5ed + * gtk+-2/pinentry-gtk-2.c (tooltips): Remove + (create_window): Remove use of tooltips, but use + gtk_widget_set_tooltip_text. + +2019-11-14 Werner Koch + + core: Allow to query info about the emacn integration. + + commit 02a4f2fa0d8c8a63e72b9b9924b2817bfacce09a + * pinentry/pinentry-emacs.c (pinentry_emacs_status): New. + * pinentry/pinentry.c (cmd_getinfo): Add emacs info getinfo. + + emacs: Handle options before trying to conenct to emacs. + + commit f4b896ab75ba6536e78c56d377ad5ab6ff69b944 + * emacs/pinentry-emacs.c (main): Parse options first. + +2019-07-25 Andre Heinecke + + qt: Fix use of dangling pointer in QApplication. + + commit 0e2e53c8987d6f236aaef515eb005e8e86397fbc + * qt/main.cpp (main): Use a new variable for argc that stays + valid. + +2019-07-10 NIIBE Yutaka + + curses: Fix more. + + commit dad35d65f05eb1c15589a7e4755dcae6aed2d6cf + * pinentry/pinentry-curses.c (dialog_create): Reverting was not + enough. Correctly check with the character at len - 1. + +2019-07-09 NIIBE Yutaka + + curses: Fix handling of newline in description. + + commit a03f3920714830b1f09b48f41be5a0aa8177f11a + * pinentry/pinentry-curses.c (collect_line): LEN including the + newline/null character. + (dialog_create): Fix the caluculation. + + curses: Fix width calculation. + + commit 67a7cfa12d1525097d9822124c9bd05207204a60 + * pinentry/pinentry-curses.c (collect_line): Fix caluculation + where skipping the first character and adding 1 column. + + curses: Fix calculation of columns for CJK text. + + commit 9298cca67742df946efb9ba268a04904339454f1 + * pinentry/pinentry-curses.c (STRWIDTH): New. + (collect_line): Let return value for columns width. + LEN minus one. + (dialog_create): Calculate for the columns with STRWIDTH. + +2019-06-27 NIIBE Yutaka + + tty: Confirmation is not by line edit mode. + + commit f6e84ce0a34c5314999ac9af2f1d360c157b1ed5 + * tty/pinentry-tty.c (terminal_setup): Support single char mode. + + tty: Support line editing by system. + + commit 531b92300c58aee665b55d1dffa7ffb4027cba20 + * tty/pinentry-tty.c (terminal_setup): Not cbreak, but only no echo. + (confirm, read_password): Don't do editing here. + [HAVE_DOSISH_SYSTEM] (confirm, read_password): Return + GPG_ERR_FULLY_CANCELED when EINTR and it's not timed out. + (tty_cmd_handler): Call sigaction for SIGINT. + + Exit the loop on an error with GPG_ERR_FULLY_CANCELED. + + commit b176a8ac0dcd682549084cbf02876a550226d722 + * pinentry/pinentry.c (cmd_getpin, cmd_confirm): Set + ASSUAN_FORCE_CLOSE flag when GPG_ERR_FULLY_CANCELED. + + tty: Factor out terminal setup into tty_cmd_handler. + + commit 89add7b733138d7fe86d348be57873936cab3112 + * tty/pinentry-tty.c (terminal_save, terminal_restore): New. + (terminal_setup): Rename from cbreak. + (confirm, read_password): Don't touch terminal setting here. + (tty_cmd_handler): Do terminal setting/restore here. + +2019-06-10 Ineiev + + tty: Show supplied message when using default. + + commit 95743b2cd7361aab10c5eb4f430928d09ce9c214 + * tty/pinentry-tty.c (fputs_highlighted): New function. + (button): Display the supplied text when falling back to default; the + default text is shown in braces and provides the accelerator. + +2019-05-13 NIIBE Yutaka + + build: Update m4/iconv.m4. + + commit 42c32e08d5a428627e5f74e0ab2bf4102e511b40 + * m4/iconv.m4: Update from gettext 0.20.1. + +2019-04-17 Daniel Kahn Gillmor + + gnome3: correctly detect when no GNOME screenlock exists. + + commit f74c4673e6b60508012c14f7574dbc3215345210 + * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): skip + G_IO_ERROR_IS_DIRECTORY responses, not G_IO_ERROR_TIMED_OUT responses + from dbus. + +2019-04-17 Zephaniah E. Loss-Cutler-Hull + + gnome3: Use the default dbus timeout when checking for screenlock. + + commit 65d2c6d5911ab04b19f953153d01116198cc4cb8 + * gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): use default dbus + timeout instead of 0ms. + +2019-03-04 NIIBE Yutaka + + Update gpg-error.m4 and libassuan.m4 from corresponding repos. + + commit 6ddcc92cf6e9a904a5c98982709edeb42034843d + * m4/gpg-error.m4: Update. + * m4/libassuan.m4: Update. + +2019-02-10 Damien Goutte-Gattat + + build: Add --disable-doc option. + + commit 8f8d907f53b2749642ee273e2cec28f7d68f26ff + * configure.ac (BUILD_DOC): Add new am_conditional. + * Makefile.am: Skip doc subdir if BUILD_DOC is not set. + +2019-02-10 Damien Goutte-Gattat + Michael Bäuerle + + fltk: Handle '_' in button labels as keyboard shortcuts. + + commit 21f0883059c84de7145d402877cd178fcfed44e3 + * fltk/main.cxx (convert_accel_utf8): New method. + (fltk_cmd_handler): Calls previous method to escape button labels. + +2019-02-10 Daniel Kahn Gillmor + + fltk: Fix formatting escapes. + + commit a60e4f8142159b3e2df10d8d725b9680be5b4616 + * fltk/main.cxx (fltk_cmd_handler): Fix calls to fl_message() + and fl_choice() functions. + +2018-08-22 Damien Goutte-Gattat via Gnupg-devel + + Disallow echo disabling when prompting for a PIN. + + commit d0eaec8ef60be9b4d1aa5993c11d261a35202a2e + * gtk+-2/pinentry-gtk-2.c (create_window): Do not setup + the backspace handler when prompting for a PIN. + callback only when not prompting for a PIN. + * qt/pinentrydialog.h (_got_input): Rename field to + _disable_echo_allowed. + * qt/pinentrydialog.cpp (PinEntryDialog::setPrompt): Disallow + echo disabling when prompting for a PIN. + * tqt/pinentrydialog.h (_got_input): Rename field to + _disable_echo_allowed. + * tqt/pinentrydialog.cpp (PinEntryDialog::setPrompt): Disallow + echo disabling when prompting for a PIN. + +2018-08-15 Damien Goutte-Gattat via Gnupg-devel + + tqt: Disable echoing if backspace is pressed first. + + commit 0fb3392f61569cb93e52c81465bc8e4636bca3b7 + * tqt/secqlineedit.h (backspacePressed): New signal. + * tqt/secqinternal.cpp (SecTQLineEdit::backspace): Emit new signal. + * tqt/pinentrydialog.h (_got_input): New member field. + (onBackspace): New slot. + * tqt/pinentrydialog.cpp (onBackspace): New slot. + (PinEntryDialog::updateQuality): Prevent echo disabling as soon as + the text has been edited. + + qt: Disable echoing if backspace is pressed first. + + commit a75786a11666a080cae67f6e386163fcf93ff233 + * qt/pinlineedit.h: New file. + * qt/pinlineedit.cpp: New file. + * qt/Makefile.am: Add new source files. + * qt/pinentrydialog.cpp (PinEntryDialog): New member _got_input; + Type of _edit member changed to PinLineEdit. + (PinEntryDialog::onBackspace): New slot. + + gtk: Disable echoing if backspace is pressed first. + + commit 4b06bc6009011a84e5e8d4da2f01659f35e5a2d5 + * gtk+-2/pinentry-gtk-2.c (backspace_handler): New callback. + (create_window): Attach previous callback to "backspace" signal. + + curses: Disable echoing if backspace is pressed first. + + commit fd22facabd784586f72eeecc72830620a534929c + * pinentry/pinentry-curses.c (struct dialog): New fields got_input, + no_echo. + (dialog_input): Disable echoing and display instead "[no echo]" if + the backspace key is pressed first. + +2018-06-13 Werner Koch + + core: Add info about tty mode etc to 'getinfo ttyinfo' + + commit 779b8e6df7d2678d40bc61ba9e9ff35324a40d03 + * configure.ac: Check for 'stat'. + * pinentry/pinentry.c: Include types.h and stat.h. + (device_stat_string): New. + (cmd_getinfo): Print more info. + +2018-05-29 William L. Thomson Jr + + efl: Add an EFL-based pinentry. + + commit 948105b7a34ec9a9e5479d376b7c86bafee50a01 + * NEWS: Update. + * Makefile.am: Add new efl subdirectory. + * configure.ac: Add --enable-pinentry-efl option. + * efl/Makefile.am: New file. + * efl/pinentry-efl.c: New file. + +2018-03-05 Andre Heinecke + + qt: Try again to fix Windows Window Management. + + commit fa817f00363cdc305728ece6139d76361c77f361 + * qt/pinentrydialog.cpp (raiseWindow): Activate Window and + disable windows hacks. + (PinEntryDialog::PinEntryDialog): Delay setFocus after the + event loop returns. + +2018-03-01 Andre Heinecke + + qt: Renable Windows Foreground Window hacks. + + commit 141fd941a58f70692cb6244f011e54b005d2195c + * qt/main.cpp, qt/pinentryconfirm.cpp: Use raiseWindow again. + * qt/pinentrydialog.cpp: Renable Foreground Window hacks. + +2018-02-28 Andre Heinecke + + qt: Clean up foreground window code. + + commit 84d473f5c323a3001374b0db736af9be4e3478a3 + * qt/main.cpp (ForeignWidget): Remove. This did nothing + with Qt 5. + (setup_foreground_window): New helper to set parent and + window flags. + (qt_cmd_handler): Use setup_foreground_window. + * qt/pinentrydialog.cpp: Disable Windows API hacks. + +2018-02-06 Daniel Kahn Gillmor + + tqt: use UTF-8 instead of ISO-8859-1. + + commit 822c66815b5072281563fc4faa055493d20d660d + + 2017-12-03 Werner Koch Release 1.1.0. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/ChangeLog-old b/debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog-old similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/ChangeLog-old rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/ChangeLog-old diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/INSTALL b/debian/pinentry-tqt/pinentry-tqt-1.2.1/INSTALL similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/INSTALL rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/INSTALL diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am similarity index 88% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am index 8c8b8e57..bbe6ee3e 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.am @@ -24,7 +24,7 @@ DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt --enable-pinentry-emacs GITLOG_TO_CHANGELOG=gitlog-to-changelog -EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old \ +EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old VERSION \ build-aux/gitlog-to-changelog \ build-aux/git-log-fix build-aux/git-log-footer @@ -64,6 +64,12 @@ else pinentry_qt = endif +if BUILD_PINENTRY_QT4 +pinentry_qt4 = qt4 +else +pinentry_qt4 = +endif + if BUILD_PINENTRY_TQT pinentry_tqt = tqt else @@ -82,10 +88,22 @@ else pinentry_fltk = endif +if BUILD_PINENTRY_EFL +pinentry_efl = efl +else +pinentry_efl = +endif + +if BUILD_DOC +doc = doc +else +doc = +endif + SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_tqt} ${pinentry_w32} \ - ${pinentry_fltk} doc + ${pinentry_qt} ${pinentry_qt4} ${pinentry_tqt} ${pinentry_w32} \ + ${pinentry_fltk} ${pinentry_efl} ${doc} install-exec-local: @@ -95,11 +113,10 @@ install-exec-local: done (cd $(DESTDIR)$(bindir); \ - rm -f pinentry; \ - $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry) + rm -f pinentry$(EXEEXT); \ + $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry$(EXEEXT)) dist-hook: gen-ChangeLog - echo "$(VERSION)" > $(distdir)/VERSION distcheck-hook: set -e; ( \ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in similarity index 87% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in index 9bc02d4c..5e0ddb80 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -33,7 +33,17 @@ # along with this program; if not, see . # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -97,28 +107,16 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . -DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/config.h.in COPYING THANKS TODO build-aux/compile \ - build-aux/config.guess build-aux/config.rpath \ - build-aux/config.sub depcomp build-aux/depcomp install-sh \ - build-aux/install-sh build-aux/mdate-sh missing \ - build-aux/missing mkinstalldirs build-aux/texinfo.tex \ - $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ + $(am__configure_deps) $(am__DIST_COMMON) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d @@ -159,9 +157,9 @@ am__recursive_targets = \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in + cscope distdir distdir-am dist dist-all distcheck +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) \ + config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. @@ -182,7 +180,19 @@ ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = m4 secmem pinentry curses tty emacs gtk+-2 gnome3 qt \ - tqt w32 fltk doc + qt4 tqt w32 fltk efl doc +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \ + $(top_srcdir)/build-aux/compile \ + $(top_srcdir)/build-aux/config.guess \ + $(top_srcdir)/build-aux/config.rpath \ + $(top_srcdir)/build-aux/config.sub \ + $(top_srcdir)/build-aux/install-sh \ + $(top_srcdir)/build-aux/missing AUTHORS COPYING ChangeLog \ + INSTALL NEWS README THANKS TODO build-aux/compile \ + build-aux/config.guess build-aux/config.rpath \ + build-aux/config.sub build-aux/depcomp build-aux/install-sh \ + build-aux/mdate-sh build-aux/missing build-aux/texinfo.tex \ + depcomp install-sh missing mkinstalldirs DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) @@ -221,6 +231,8 @@ am__relativize = \ GZIP_ENV = --best DIST_ARCHIVES = $(distdir).tar.bz2 DIST_TARGETS = dist-bzip2 +# Exists only to be overridden by the user if desired. +AM_DISTCHECK_DVI_TARGET = dvi distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' @@ -248,6 +260,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -257,6 +271,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = gitlog-to-changelog GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -270,11 +285,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -283,6 +299,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -291,6 +309,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -304,16 +324,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -363,6 +390,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -373,7 +401,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ ACLOCAL_AMFLAGS = -I m4 DISTCHECK_CONFIGURE_FLAGS = --disable-pinentry-qt --enable-pinentry-emacs -EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old \ +EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old VERSION \ build-aux/gitlog-to-changelog \ build-aux/git-log-fix build-aux/git-log-footer @@ -389,16 +417,22 @@ EXTRA_DIST = autogen.sh autogen.rc README.GIT ChangeLog-old \ @BUILD_PINENTRY_GNOME_3_TRUE@pinentry_gnome_3 = gnome3 @BUILD_PINENTRY_QT_FALSE@pinentry_qt = @BUILD_PINENTRY_QT_TRUE@pinentry_qt = qt +@BUILD_PINENTRY_QT4_FALSE@pinentry_qt4 = +@BUILD_PINENTRY_QT4_TRUE@pinentry_qt4 = qt4 @BUILD_PINENTRY_TQT_FALSE@pinentry_tqt = @BUILD_PINENTRY_TQT_TRUE@pinentry_tqt = tqt @BUILD_PINENTRY_W32_FALSE@pinentry_w32 = @BUILD_PINENTRY_W32_TRUE@pinentry_w32 = w32 @BUILD_PINENTRY_FLTK_FALSE@pinentry_fltk = @BUILD_PINENTRY_FLTK_TRUE@pinentry_fltk = fltk +@BUILD_PINENTRY_EFL_FALSE@pinentry_efl = +@BUILD_PINENTRY_EFL_TRUE@pinentry_efl = efl +@BUILD_DOC_FALSE@doc = +@BUILD_DOC_TRUE@doc = doc SUBDIRS = m4 secmem pinentry ${pinentry_curses} ${pinentry_tty} \ ${pinentry_emacs} ${pinentry_gtk_2} ${pinentry_gnome_3} \ - ${pinentry_qt} ${pinentry_tqt} ${pinentry_w32} \ - ${pinentry_fltk} doc + ${pinentry_qt} ${pinentry_qt4} ${pinentry_tqt} ${pinentry_w32} \ + ${pinentry_fltk} ${pinentry_efl} ${doc} gen_start_date = 2012-08-08T00:00:00 all: config.h @@ -420,15 +454,14 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -561,7 +594,10 @@ distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ @@ -629,7 +665,7 @@ distdir: $(DISTFILES) ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz + tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 @@ -643,18 +679,22 @@ dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) +dist-zstd: distdir + tardir=$(distdir) && $(am__tar) | zstd -c $${ZSTD_CLEVEL-$${ZSTD_OPT--19}} >$(distdir).tar.zst + $(am__post_remove_distdir) + dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 + @echo WARNING: "Support for distribution archives compressed with" \ + "legacy program 'compress' is deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 + @echo WARNING: "Support for shar distribution archives is" \ + "deprecated." >&2 @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz + shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir @@ -672,7 +712,7 @@ dist dist-all: distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ @@ -682,26 +722,28 @@ distcheck: dist *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ + eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ + *.tar.zst*) \ + zstd -dc $(distdir).tar.zst | $(am__untar) ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst + mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && $(MAKE) $(AM_MAKEFLAGS) distcheck-hook \ && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ + && $(am__cd) $(distdir)/_build/sub \ + && ../../configure \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ + --srcdir=../.. --prefix="$$dc_install_base" \ && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ + && $(MAKE) $(AM_MAKEFLAGS) $(AM_DISTCHECK_DVI_TARGET) \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ @@ -862,17 +904,19 @@ uninstall-am: am--refresh check check-am clean clean-cscope clean-generic \ cscope cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-lzip dist-shar dist-tarZ dist-xz \ - dist-zip distcheck distclean distclean-generic distclean-hdr \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-exec-local install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic pdf pdf-am ps ps-am tags \ - tags-am uninstall uninstall-am + dist-zip dist-zstd distcheck distclean distclean-generic \ + distclean-hdr distclean-tags distcleancheck distdir \ + distuninstallcheck dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-exec-local \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs installdirs-am maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile install-exec-local: @@ -882,11 +926,10 @@ install-exec-local: done (cd $(DESTDIR)$(bindir); \ - rm -f pinentry; \ - $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry) + rm -f pinentry$(EXEEXT); \ + $(LN_S) $(PINENTRY_DEFAULT)$(EXEEXT) pinentry$(EXEEXT)) dist-hook: gen-ChangeLog - echo "$(VERSION)" > $(distdir)/VERSION distcheck-hook: set -e; ( \ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/NEWS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS similarity index 84% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/NEWS rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS index 116c86ac..c080b34e 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/NEWS +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/NEWS @@ -1,3 +1,69 @@ +Noteworthy changes in version 1.2.1 (2022-08-24) +------------------------------------------------ + + * qt: Support building with Qt 5.9. [T5592] + + * curses: Handle an error at curses initialization. [T5623] + + * curses: Specify fg/bg when an extention of Ncurses is not available. + [T5631] + + * qt: Fix translation of context menu entries. [T5786] + + * qt: Further improve the accessibility. [T5863] + + * qt: Fix moving focus to second input field when pressing Enter in + first input field. [T5866] + + * qt: Update the cursor position when reformatting the text. [T5972] + + * qt: Use foreground raising code also with the confirm prompt. + [T6134] + + * Make the legacy qt4 version build again. [T5569] + + * Make sure an entered PIN is always cleared from memory. [T5977] + + * Build fixes for Windows. [T5893] + + +Noteworthy changes in version 1.2.0 (2021-08-25) +------------------------------------------------ + + * qt: Show a warning if Caps Lock is on on Windows, X11 (requires + libX11 and Qt5X11Extras), and Wayland (requires KF5WaylandClient). + [T4950] + + * qt: Support password formatting. This makes generated passwords + easier to transcript. [T5517] + + * qt: Fix showing of pinentry window on Wayland. [T5528] + + * qt: Check passphrase constraints before accepting passphrase if + passphrase constraints are requested to be enforced. [T5532] + + * qt: Improve detection of running in a GUI session. [T3659] + + * qt: Improve accessibility when entering new password. [T5543] + + Release-info: https://dev.gnupg.org/T5566 + + +Noteworthy changes in version 1.1.1 (2021-01-21) +------------------------------------------------ + + * A EFL-based pinentry has been contributed. + + * Disable echoing in backspace key is pressed first + (GTK, Qt, TQt, and ncurses pinentries). + + * Support line editing in TTY pinentry. + + * Remove support for old GTK+2 (< 2.12.0). + + * Various minor fixes. + + Noteworthy changes in version 1.1.0 (2017-12-03) ------------------------------------------------ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/README b/debian/pinentry-tqt/pinentry-tqt-1.2.1/README similarity index 95% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/README rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/README index 981d653d..d946ff37 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/README +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/README @@ -14,6 +14,9 @@ GTK+ V2.0 --enable-pinentry-gtk2 Gimp Toolkit Library, Version 2.0 eg. libgtk-x11-2.0 and libglib-2.0 GNOME --enable-pinentry-gnome GNOME Qt --enable-pinentry-qt Qt (> 4.4.0) +TQt --enable-pinentry-tqt Trinity Qt +Enlightenment --enable-pinentry-efl EFL (>= 1.18) +FLTK --enable-pinentry-fltk Fast Light Toolkit (>= 1.3) Curses --enable-pinentry-curses Curses library, for example ncurses TTY --enable-pinentry-tty Simple TTY version, no dependencies diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/README.GIT b/debian/pinentry-tqt/pinentry-tqt-1.2.1/README.GIT similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/README.GIT rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/README.GIT diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/THANKS b/debian/pinentry-tqt/pinentry-tqt-1.2.1/THANKS similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/THANKS rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/THANKS diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/TODO b/debian/pinentry-tqt/pinentry-tqt-1.2.1/TODO similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/TODO rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/TODO diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION b/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION new file mode 100644 index 00000000..6085e946 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/VERSION @@ -0,0 +1 @@ +1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 new file mode 100644 index 00000000..20e64bce --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/acinclude.m4 @@ -0,0 +1,109 @@ +dnl Autoconf macros used by PINENTRY +dnl +dnl Copyright (C) 2002, 2022 g10 Code GmbH +dnl +dnl +###################################################################### +# Check whether mlock is broken (hpux 10.20 raises a SIGBUS if mlock +# is not called from uid 0 (not tested whether uid 0 works) +# For DECs Tru64 we have also to check whether mlock is in librt +# mlock is there a macro using memlk() +###################################################################### +dnl GNUPG_CHECK_MLOCK +dnl +define(GNUPG_CHECK_MLOCK, + [ AC_CHECK_FUNCS(mlock) + if test "$ac_cv_func_mlock" = "no"; then + AC_CHECK_HEADERS(sys/mman.h) + if test "$ac_cv_header_sys_mman_h" = "yes"; then + # Add librt to LIBS: + AC_CHECK_LIB(rt, memlk) + AC_CACHE_CHECK([whether mlock is in sys/mman.h], + gnupg_cv_mlock_is_in_sys_mman, + [AC_LINK_IFELSE( + [AC_LANG_PROGRAM([[ + #include + #ifdef HAVE_SYS_MMAN_H + #include + #endif + ]], [[ +int i; + +/* glibc defines this for functions which it implements + * to always fail with ENOSYS. Some functions are actually + * named something starting with __ and the normal name + * is an alias. */ +#if defined (__stub_mlock) || defined (__stub___mlock) +choke me +#else +mlock(&i, 4); +#endif +; return 0; + ]])], + gnupg_cv_mlock_is_in_sys_mman=yes, + gnupg_cv_mlock_is_in_sys_mman=no)]) + if test "$gnupg_cv_mlock_is_in_sys_mman" = "yes"; then + AC_DEFINE(HAVE_MLOCK,1, + [Defined if the system supports an mlock() call]) + fi + fi + fi + if test "$ac_cv_func_mlock" = "yes"; then + AC_CHECK_FUNCS(sysconf getpagesize) + AC_MSG_CHECKING(whether mlock is broken) + AC_CACHE_VAL(gnupg_cv_have_broken_mlock, + AC_RUN_IFELSE([AC_LANG_SOURCE([[ +#include +#include +#include +#include +#include +#include + +int main() +{ + char *pool; + int err; + long int pgsize; + +#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) + pgsize = sysconf (_SC_PAGESIZE); +#elif defined (HAVE_GETPAGESIZE) + pgsize = getpagesize(); +#else + pgsize = -1; +#endif + + if (pgsize == -1) + pgsize = 4096; + + pool = malloc( 4096 + pgsize ); + if( !pool ) + return 2; + pool += (pgsize - ((size_t)pool % pgsize)); + + err = mlock( pool, 4096 ); + if( !err || errno == EPERM || errno == EAGAIN) + return 0; /* okay */ + + return 1; /* hmmm */ +} + ]])], + gnupg_cv_have_broken_mlock="no", + gnupg_cv_have_broken_mlock="yes", + gnupg_cv_have_broken_mlock="assume-no" + ) + ) + if test "$gnupg_cv_have_broken_mlock" = "yes"; then + AC_DEFINE(HAVE_BROKEN_MLOCK,1, + [Defined if the mlock() call does not work]) + AC_MSG_RESULT(yes) + else + if test "$gnupg_cv_have_broken_mlock" = "no"; then + AC_MSG_RESULT(no) + else + AC_MSG_RESULT(assuming no) + fi + fi + fi + ]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/aclocal.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 similarity index 93% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/aclocal.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 index ea595de3..056ae0e3 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/aclocal.m4 +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/aclocal.m4 @@ -1,6 +1,6 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- +# generated automatically by aclocal 1.16.3 -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -21,7 +21,7 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # lib-ld.m4 serial 6 -dnl Copyright (C) 1996-2003, 2009-2014 Free Software Foundation, Inc. +dnl Copyright (C) 1996-2003, 2009-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -141,7 +141,7 @@ AC_LIB_PROG_LD_GNU ]) # lib-link.m4 serial 26 (gettext-0.18.2) -dnl Copyright (C) 2001-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -919,7 +919,7 @@ AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], ]) # lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2014 Free Software Foundation, Inc. +dnl Copyright (C) 2001-2005, 2008-2016 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. @@ -1143,7 +1143,7 @@ sixtyfour bits test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" ]) -# Copyright (C) 2002-2013 Free Software Foundation, Inc. +# Copyright (C) 2002-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1155,10 +1155,10 @@ sixtyfour bits # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' +[am__api_version='1.16' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], +m4_if([$1], [1.16.3], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -1174,14 +1174,14 @@ m4_define([_AM_AUTOCONF_VERSION], []) # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl +[AM_AUTOMAKE_VERSION([1.16.3])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1233,7 +1233,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd` # AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1264,7 +1264,7 @@ AC_CONFIG_COMMANDS_PRE( Usually this means the macro was only invoked conditionally.]]) fi])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1455,13 +1455,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -1469,49 +1468,43 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + AS_CASE([$CONFIG_FILES], + [*\'*], [eval set x "$CONFIG_FILES"], + [*], [set x $CONFIG_FILES]) shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`AS_DIRNAME(["$am_mf"])` + am_filepart=`AS_BASENAME(["$am_mf"])` + AM_RUN_LOG([cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles]) || am_rc=$? done + if test $am_rc -ne 0; then + AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE="gmake" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking).]) + fi + AS_UNSET([am_dirpart]) + AS_UNSET([am_filepart]) + AS_UNSET([am_mf]) + AS_UNSET([am_rc]) + rm -f conftest-deps.mk } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS @@ -1520,18 +1513,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. +# This code is only required when automatic dependency tracking is enabled. +# This creates each '.Po' and '.Plo' makefile fragment that we'll need in +# order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) + [AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])]) # Do all the work for Automake. -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1618,11 +1610,11 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl @@ -1686,7 +1678,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -1696,6 +1688,9 @@ END AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) fi fi +dnl The trailing newline in this macro's definition is deliberate, for +dnl backward compatibility and to allow trailing 'dnl'-style comments +dnl after the AM_INIT_AUTOMAKE invocation. See automake bug#16841. ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not @@ -1725,7 +1720,7 @@ for _am_header in $config_headers :; do done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1736,7 +1731,7 @@ echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_co # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then +if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -1746,7 +1741,7 @@ if test x"${install_sh}" != xset; then fi AC_SUBST([install_sh])]) -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1768,7 +1763,7 @@ AC_SUBST([am__leading_dot])]) # Add --enable-maintainer-mode option to configure. -*- Autoconf -*- # From Jim Meyering -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1803,7 +1798,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1811,49 +1806,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles]) # AM_MAKE_INCLUDE() # ----------------- -# Check to see how make treats includes. +# Check whether make has an 'include' directive that can support all +# the idioms we need for our automatic dependency tracking code. AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' +[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive]) +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out]) + AS_CASE([$?:`cat confinc.out 2>/dev/null`], + ['0:this is the am__doit target'], + [AS_CASE([$s], + [BSD], [am__include='.include' am__quote='"'], + [am__include='include' am__quote=''])]) + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +AC_MSG_RESULT([${_am_result}]) +AC_SUBST([am__include])]) +AC_SUBST([am__quote])]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- -# Copyright (C) 1997-2013 Free Software Foundation, Inc. +# Copyright (C) 1997-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1874,12 +1862,7 @@ AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -1890,38 +1873,9 @@ else fi ]) -# -*- Autoconf -*- -# Obsolete and "removed" macros, that must however still report explicit -# error messages when used, to smooth transition. -# -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -AC_DEFUN([AM_CONFIG_HEADER], -[AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl -AC_CONFIG_HEADERS($@)]) - -AC_DEFUN([AM_PROG_CC_STDC], -[AC_PROG_CC -am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc -AC_DIAGNOSE([obsolete], -['$0': this macro is obsolete. -You should simply use the 'AC][_PROG_CC' macro instead. -Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', -but upon 'ac_cv_prog_cc_stdc'.])]) - -AC_DEFUN([AM_C_PROTOTYPES], - [AC_FATAL([automatic de-ANSI-fication support has been removed])]) -AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) - # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1950,7 +1904,7 @@ AC_DEFUN([_AM_SET_OPTIONS], AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -1997,7 +1951,7 @@ AC_LANG_POP([C])]) # For backward compatibility. AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2016,7 +1970,7 @@ AC_DEFUN([AM_RUN_LOG], # Check to make sure that the build environment is sane. -*- Autoconf -*- -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2097,7 +2051,7 @@ AC_CONFIG_COMMANDS_PRE( rm -f conftest.file ]) -# Copyright (C) 2009-2013 Free Software Foundation, Inc. +# Copyright (C) 2009-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2157,7 +2111,7 @@ AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) -# Copyright (C) 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 2001-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2185,7 +2139,7 @@ fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) -# Copyright (C) 2006-2013 Free Software Foundation, Inc. +# Copyright (C) 2006-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2204,7 +2158,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004-2013 Free Software Foundation, Inc. +# Copyright (C) 2004-2020 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -2341,4 +2295,5 @@ m4_include([m4/iconv.m4]) m4_include([m4/libassuan.m4]) m4_include([m4/pkg.m4]) m4_include([m4/qt.m4]) +m4_include([m4/qt4.m4]) m4_include([acinclude.m4]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.rc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc similarity index 85% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.rc rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc index 9be5e625..46a5f44f 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.rc +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.rc @@ -14,8 +14,6 @@ esac case "$myhost" in w32) configure_opts=" - --with-gpg-error-prefix=@SYSROOT@ - --with-libassuan-prefix=@SYSROOT@ --with-libiconv-prefix=@SYSROOT@ PKG_CONFIG_LIBDIR=@SYSROOT@/lib/pkgconfig " diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh similarity index 83% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.sh rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh index 37edfc69..8f33ece8 100755 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/autogen.sh +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/autogen.sh @@ -1,6 +1,6 @@ #! /bin/sh # autogen.sh -# Copyright (C) 2003, 2014 g10 Code GmbH +# Copyright (C) 2003, 2014, 2017, 2018 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 @@ -15,7 +15,7 @@ # configure it for the respective package. It is maintained as part of # GnuPG and source copied by other packages. # -# Version: 2014-06-06 +# Version: 2018-07-10 configure_ac="configure.ac" @@ -74,13 +74,23 @@ PRINT_HOST=no PRINT_BUILD=no tmp=$(dirname "$0") tsdir=$(cd "${tmp}"; pwd) -version_parts=3 if [ -n "${AUTOGEN_SH_SILENT}" ]; then SILENT=" --silent" fi if test x"$1" = x"--help"; then - echo "usage: ./autogen.sh [--silent] [--force] [--build-TYPE] [ARGS]" + echo "usage: ./autogen.sh [OPTIONS] [ARGS]" + echo " Options:" + echo " --silent Silent operation" + echo " --force Pass --force to autoconf" + echo " --find-version Helper for configure.ac" + echo " --git-build Run all commands to build from a Git" + echo " --print-host Print only the host triplet" + echo " --print-build Print only the build platform triplet" + echo " --build-TYPE Configure to cross build for TYPE" + echo "" + echo " ARGS are passed to configure in --build-TYPE mode." + echo " Configuration for this script is expected in autogen.rc" exit 0 fi if test x"$1" = x"--silent"; then @@ -149,6 +159,10 @@ case "$1" in SILENT=" --silent" shift ;; + --git-build) + myhost="git-build" + shift + ;; --build-w32) myhost="w32" shift @@ -177,6 +191,25 @@ esac die_p +# **** GIT BUILD **** +# This is a helper to build from git. +if [ "$myhost" = "git-build" ]; then + tmp="$(pwd)" + cd "$tsdir" || fatal "error cd-ing to $tsdir" + ./autogen.sh || fatal "error running ./autogen.sh" + cd "$tmp" || fatal "error cd-ing back to $tmp" + die_p + "$tsdir"/configure || fatal "error running $tsdir/configure" + die_p + make || fatal "error running make" + die_p + make check || fatal "error running make check" + die_p + exit 0 +fi +# **** end GIT BUILD **** + + # Source our configuration if [ -f "${tsdir}/autogen.rc" ]; then . "${tsdir}/autogen.rc" @@ -200,32 +233,36 @@ if [ "$myhost" = "find-version" ]; then minor="$3" micro="$4" - case "$version_parts" in - 2) - matchstr1="$package-$major.[0-9]*" - matchstr2="$package-$major-base" - vers="$major.$minor" - ;; - *) - matchstr1="$package-$major.$minor.[0-9]*" - matchstr2="$package-$major.$minor-base" - vers="$major.$minor.$micro" - ;; - esac + if [ -z "$package" -o -z "$major" -o -z "$minor" ]; then + echo "usage: ./autogen.sh --find-version PACKAGE MAJOR MINOR [MICRO]" >&2 + exit 1 + fi + + if [ -z "$micro" ]; then + matchstr1="$package-$major.[0-9]*" + matchstr2="$package-$major-base" + vers="$major.$minor" + else + matchstr1="$package-$major.$minor.[0-9]*" + matchstr2="$package-$major.$minor-base" + vers="$major.$minor.$micro" + fi beta=no - if [ -d .git ]; then + if [ -e .git ]; then ingit=yes tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) + tmp=$(echo "$tmp" | sed s/^"$package"//) if [ -n "$tmp" ]; then - tmp=$(echo "$tmp"|awk -F- '$3!=0 && $3 !~ /^beta/ {print"-beta"$3}') + tmp=$(echo "$tmp" | sed s/^"$package"// \ + | awk -F- '$3!=0 && $3 !~ /^beta/ {print"-beta"$3}') else tmp=$(git describe --match "${matchstr2}" --long 2>/dev/null \ | awk -F- '$4!=0{print"-beta"$4}') fi [ -n "$tmp" ] && beta=yes rev=$(git rev-parse --short HEAD | tr -d '\n\r') - rvd=$((0x$(echo ${rev} | head -c 4))) + rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) else ingit=no beta=yes @@ -311,6 +348,7 @@ if [ "$myhost" = "w32" ]; then $tsdir/configure --enable-maintainer-mode ${SILENT} \ --prefix=${w32root} \ --host=${host} --build=${build} SYSROOT=${w32root} \ + PKG_CONFIG_LIBDIR=${w32root}/lib/pkgconfig \ ${configure_opts} ${extraoptions} "$@" rc=$? exit $rc @@ -416,8 +454,11 @@ fi # Check the git setup. if [ -d .git ]; then - CP="cp -a" - [ -z "${SILENT}" ] && CP="$CP -v" + CP="cp -p" + # If we have a GNU cp we can add -v + if cp --version >/dev/null 2>/dev/null; then + [ -z "${SILENT}" ] && CP="$CP -v" + fi if [ -f .git/hooks/pre-commit.sample -a ! -f .git/hooks/pre-commit ] ; then [ -z "${SILENT}" ] && cat <. +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). +# +# Originally written by Per Bothner; maintained since 2000 by Ben Elliston. +# +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.guess +# +# Please send patches to . + + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] + +Output the configuration name of the system \`$me' is run on. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.guess ($timestamp) + +Originally written by Per Bothner. +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + * ) + break ;; + esac +done + +if test $# != 0; then + echo "$me: too many arguments$help" >&2 + exit 1 +fi + +# Just in case it came from the environment. +GUESS= + +# CC_FOR_BUILD -- compiler used by this script. Note that the use of a +# compiler to aid in system detection is discouraged as it requires +# temporary files to be created and, as you can see below, it is a +# headache to deal with in a portable fashion. + +# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still +# use `HOST_CC' if defined, but it is deprecated. + +# Portable tmp directory creation inspired by the Autoconf team. + +tmp= +# shellcheck disable=SC2172 +trap 'test -z "$tmp" || rm -fr "$tmp"' 0 1 2 13 15 + +set_cc_for_build() { + # prevent multiple calls if $tmp is already set + test "$tmp" && return 0 + : "${TMPDIR=/tmp}" + # shellcheck disable=SC2039,SC3028 + { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || + { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } || + { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } || + { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } + dummy=$tmp/dummy + case ${CC_FOR_BUILD-},${HOST_CC-},${CC-} in + ,,) echo "int x;" > "$dummy.c" + for driver in cc gcc c89 c99 ; do + if ($driver -c -o "$dummy.o" "$dummy.c") >/dev/null 2>&1 ; then + CC_FOR_BUILD=$driver + break + fi + done + if test x"$CC_FOR_BUILD" = x ; then + CC_FOR_BUILD=no_compiler_found + fi + ;; + ,,*) CC_FOR_BUILD=$CC ;; + ,*,*) CC_FOR_BUILD=$HOST_CC ;; + esac +} + +# This is needed to find uname on a Pyramid OSx when run in the BSD universe. +# (ghazi@noc.rutgers.edu 1994-08-24) +if test -f /.attbin/uname ; then + PATH=$PATH:/.attbin ; export PATH +fi + +UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown +UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown +UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown +UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown + +case $UNAME_SYSTEM in +Linux|GNU|GNU/*) + LIBC=unknown + + set_cc_for_build + cat <<-EOF > "$dummy.c" + #include + #if defined(__UCLIBC__) + LIBC=uclibc + #elif defined(__dietlibc__) + LIBC=dietlibc + #elif defined(__GLIBC__) + LIBC=gnu + #else + #include + /* First heuristic to detect musl libc. */ + #ifdef __DEFINED_va_list + LIBC=musl + #endif + #endif + EOF + cc_set_libc=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` + eval "$cc_set_libc" + + # Second heuristic to detect musl libc. + if [ "$LIBC" = unknown ] && + command -v ldd >/dev/null && + ldd --version 2>&1 | grep -q ^musl; then + LIBC=musl + fi + + # If the system lacks a compiler, then just pick glibc. + # We could probably try harder. + if [ "$LIBC" = unknown ]; then + LIBC=gnu + fi + ;; +esac + +# Note: order is significant - the case branches are not exclusive. + +case $UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION in + *:NetBSD:*:*) + # NetBSD (nbsd) targets should (where applicable) match one or + # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, + # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently + # switched to ELF, *-*-netbsd* would select the old + # object file format. This provides both forward + # compatibility and a consistent mechanism for selecting the + # object file format. + # + # Note: NetBSD doesn't particularly care about the vendor + # portion of the name. We always set it to "unknown". + UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \ + /sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + /usr/sbin/sysctl -n hw.machine_arch 2>/dev/null || \ + echo unknown)` + case $UNAME_MACHINE_ARCH in + aarch64eb) machine=aarch64_be-unknown ;; + armeb) machine=armeb-unknown ;; + arm*) machine=arm-unknown ;; + sh3el) machine=shl-unknown ;; + sh3eb) machine=sh-unknown ;; + sh5el) machine=sh5le-unknown ;; + earmv*) + arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'` + endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'` + machine=${arch}${endian}-unknown + ;; + *) machine=$UNAME_MACHINE_ARCH-unknown ;; + esac + # The Operating System including object format, if it has switched + # to ELF recently (or will in the future) and ABI. + case $UNAME_MACHINE_ARCH in + earm*) + os=netbsdelf + ;; + arm*|i386|m68k|ns32k|sh3*|sparc|vax) + set_cc_for_build + if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ELF__ + then + # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). + # Return netbsd for either. FIX? + os=netbsd + else + os=netbsdelf + fi + ;; + *) + os=netbsd + ;; + esac + # Determine ABI tags. + case $UNAME_MACHINE_ARCH in + earm*) + expr='s/^earmv[0-9]/-eabi/;s/eb$//' + abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"` + ;; + esac + # The OS release + # Debian GNU/NetBSD machines have a different userland, and + # thus, need a distinct triplet. However, they do not need + # kernel version information, so it can be replaced with a + # suitable tag, in the style of linux-gnu. + case $UNAME_VERSION in + Debian*) + release='-gnu' + ;; + *) + release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2` + ;; + esac + # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: + # contains redundant information, the shorter form: + # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. + GUESS=$machine-${os}${release}${abi-} + ;; + *:Bitrig:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-bitrig$UNAME_RELEASE + ;; + *:OpenBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-openbsd$UNAME_RELEASE + ;; + *:SecBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/SecBSD.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-secbsd$UNAME_RELEASE + ;; + *:LibertyBSD:*:*) + UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'` + GUESS=$UNAME_MACHINE_ARCH-unknown-libertybsd$UNAME_RELEASE + ;; + *:MidnightBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-midnightbsd$UNAME_RELEASE + ;; + *:ekkoBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-ekkobsd$UNAME_RELEASE + ;; + *:SolidBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-solidbsd$UNAME_RELEASE + ;; + *:OS108:*:*) + GUESS=$UNAME_MACHINE-unknown-os108_$UNAME_RELEASE + ;; + macppc:MirBSD:*:*) + GUESS=powerpc-unknown-mirbsd$UNAME_RELEASE + ;; + *:MirBSD:*:*) + GUESS=$UNAME_MACHINE-unknown-mirbsd$UNAME_RELEASE + ;; + *:Sortix:*:*) + GUESS=$UNAME_MACHINE-unknown-sortix + ;; + *:Twizzler:*:*) + GUESS=$UNAME_MACHINE-unknown-twizzler + ;; + *:Redox:*:*) + GUESS=$UNAME_MACHINE-unknown-redox + ;; + mips:OSF1:*.*) + GUESS=mips-dec-osf1 + ;; + alpha:OSF1:*:*) + # Reset EXIT trap before exiting to avoid spurious non-zero exit code. + trap '' 0 + case $UNAME_RELEASE in + *4.0) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac + # According to Compaq, /usr/sbin/psrinfo has been available on + # OSF/1 and Tru64 systems produced since 1995. I hope that + # covers most systems running today. This code pipes the CPU + # types through head -n 1, so we only detect the type of CPU 0. + ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` + case $ALPHA_CPU_TYPE in + "EV4 (21064)") + UNAME_MACHINE=alpha ;; + "EV4.5 (21064)") + UNAME_MACHINE=alpha ;; + "LCA4 (21066/21068)") + UNAME_MACHINE=alpha ;; + "EV5 (21164)") + UNAME_MACHINE=alphaev5 ;; + "EV5.6 (21164A)") + UNAME_MACHINE=alphaev56 ;; + "EV5.6 (21164PC)") + UNAME_MACHINE=alphapca56 ;; + "EV5.7 (21164PC)") + UNAME_MACHINE=alphapca57 ;; + "EV6 (21264)") + UNAME_MACHINE=alphaev6 ;; + "EV6.7 (21264A)") + UNAME_MACHINE=alphaev67 ;; + "EV6.8CB (21264C)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8AL (21264B)") + UNAME_MACHINE=alphaev68 ;; + "EV6.8CX (21264D)") + UNAME_MACHINE=alphaev68 ;; + "EV6.9A (21264/EV69A)") + UNAME_MACHINE=alphaev69 ;; + "EV7 (21364)") + UNAME_MACHINE=alphaev7 ;; + "EV7.9 (21364A)") + UNAME_MACHINE=alphaev79 ;; + esac + # A Pn.n version is a patched version. + # A Vn.n version is a released version. + # A Tn.n version is a released field test version. + # A Xn.n version is an unreleased experimental baselevel. + # 1.2 uses "1.2" for uname -r. + OSF_REL=`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + GUESS=$UNAME_MACHINE-dec-osf$OSF_REL + ;; + Amiga*:UNIX_System_V:4.0:*) + GUESS=m68k-unknown-sysv4 + ;; + *:[Aa]miga[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-amigaos + ;; + *:[Mm]orph[Oo][Ss]:*:*) + GUESS=$UNAME_MACHINE-unknown-morphos + ;; + *:OS/390:*:*) + GUESS=i370-ibm-openedition + ;; + *:z/VM:*:*) + GUESS=s390-ibm-zvmoe + ;; + *:OS400:*:*) + GUESS=powerpc-ibm-os400 + ;; + arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) + GUESS=arm-acorn-riscix$UNAME_RELEASE + ;; + arm*:riscos:*:*|arm*:RISCOS:*:*) + GUESS=arm-unknown-riscos + ;; + SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) + GUESS=hppa1.1-hitachi-hiuxmpp + ;; + Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) + # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. + case `(/bin/universe) 2>/dev/null` in + att) GUESS=pyramid-pyramid-sysv3 ;; + *) GUESS=pyramid-pyramid-bsd ;; + esac + ;; + NILE*:*:*:dcosx) + GUESS=pyramid-pyramid-svr4 + ;; + DRS?6000:unix:4.0:6*) + GUESS=sparc-icl-nx6 + ;; + DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) + case `/usr/bin/uname -p` in + sparc) GUESS=sparc-icl-nx7 ;; + esac + ;; + s390x:SunOS:*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$UNAME_MACHINE-ibm-solaris2$SUN_REL + ;; + sun4H:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-hal-solaris2$SUN_REL + ;; + sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris2$SUN_REL + ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + GUESS=i386-pc-auroraux$UNAME_RELEASE + ;; + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + set_cc_for_build + SUN_ARCH=i386 + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -m64 -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH=x86_64 + fi + fi + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=$SUN_ARCH-pc-solaris2$SUN_REL + ;; + sun4*:SunOS:6*:*) + # According to config.sub, this is the proper way to canonicalize + # SunOS6. Hard to guess exactly what SunOS6 will be like, but + # it's likely to be more like Solaris than SunOS4. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=sparc-sun-solaris3$SUN_REL + ;; + sun4*:SunOS:*:*) + case `/usr/bin/arch -k` in + Series*|S4*) + UNAME_RELEASE=`uname -v` + ;; + esac + # Japanese Language versions have a version number like `4.1.3-JL'. + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/'` + GUESS=sparc-sun-sunos$SUN_REL + ;; + sun3*:SunOS:*:*) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun*:*:4.2BSD:*) + UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` + test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3 + case `/bin/arch` in + sun3) + GUESS=m68k-sun-sunos$UNAME_RELEASE + ;; + sun4) + GUESS=sparc-sun-sunos$UNAME_RELEASE + ;; + esac + ;; + aushp:SunOS:*:*) + GUESS=sparc-auspex-sunos$UNAME_RELEASE + ;; + # The situation for MiNT is a little confusing. The machine name + # can be virtually everything (everything which is not + # "atarist" or "atariste" at least should have a processor + # > m68000). The system name ranges from "MiNT" over "FreeMiNT" + # to the lowercase version "mint" (or "freemint"). Finally + # the system name "TOS" denotes a system which is actually not + # MiNT. But MiNT is downward compatible to TOS, so this should + # be no problem. + atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) + GUESS=m68k-atari-mint$UNAME_RELEASE + ;; + milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) + GUESS=m68k-milan-mint$UNAME_RELEASE + ;; + hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) + GUESS=m68k-hades-mint$UNAME_RELEASE + ;; + *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) + GUESS=m68k-unknown-mint$UNAME_RELEASE + ;; + m68k:machten:*:*) + GUESS=m68k-apple-machten$UNAME_RELEASE + ;; + powerpc:machten:*:*) + GUESS=powerpc-apple-machten$UNAME_RELEASE + ;; + RISC*:Mach:*:*) + GUESS=mips-dec-mach_bsd4.3 + ;; + RISC*:ULTRIX:*:*) + GUESS=mips-dec-ultrix$UNAME_RELEASE + ;; + VAX*:ULTRIX*:*:*) + GUESS=vax-dec-ultrix$UNAME_RELEASE + ;; + 2020:CLIX:*:* | 2430:CLIX:*:*) + GUESS=clipper-intergraph-clix$UNAME_RELEASE + ;; + mips:*:*:UMIPS | mips:*:*:RISCos) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" +#ifdef __cplusplus +#include /* for printf() prototype */ + int main (int argc, char *argv[]) { +#else + int main (argc, argv) int argc; char *argv[]; { +#endif + #if defined (host_mips) && defined (MIPSEB) + #if defined (SYSTYPE_SYSV) + printf ("mips-mips-riscos%ssysv\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_SVR4) + printf ("mips-mips-riscos%ssvr4\\n", argv[1]); exit (0); + #endif + #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) + printf ("mips-mips-riscos%sbsd\\n", argv[1]); exit (0); + #endif + #endif + exit (-1); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && + dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` && + SYSTEM_NAME=`"$dummy" "$dummyarg"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=mips-mips-riscos$UNAME_RELEASE + ;; + Motorola:PowerMAX_OS:*:*) + GUESS=powerpc-motorola-powermax + ;; + Motorola:*:4.3:PL8-*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) + GUESS=powerpc-harris-powermax + ;; + Night_Hawk:Power_UNIX:*:*) + GUESS=powerpc-harris-powerunix + ;; + m88k:CX/UX:7*:*) + GUESS=m88k-harris-cxux7 + ;; + m88k:*:4*:R4*) + GUESS=m88k-motorola-sysv4 + ;; + m88k:*:3*:R3*) + GUESS=m88k-motorola-sysv3 + ;; + AViiON:dgux:*:*) + # DG/UX returns AViiON for all architectures + UNAME_PROCESSOR=`/usr/bin/uname -p` + if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110 + then + if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \ + test "$TARGET_BINARY_INTERFACE"x = x + then + GUESS=m88k-dg-dgux$UNAME_RELEASE + else + GUESS=m88k-dg-dguxbcs$UNAME_RELEASE + fi + else + GUESS=i586-dg-dgux$UNAME_RELEASE + fi + ;; + M88*:DolphinOS:*:*) # DolphinOS (SVR3) + GUESS=m88k-dolphin-sysv3 + ;; + M88*:*:R3*:*) + # Delta 88k system running SVR3 + GUESS=m88k-motorola-sysv3 + ;; + XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) + GUESS=m88k-tektronix-sysv3 + ;; + Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) + GUESS=m68k-tektronix-bsd + ;; + *:IRIX*:*:*) + IRIX_REL=`echo "$UNAME_RELEASE" | sed -e 's/-/_/g'` + GUESS=mips-sgi-irix$IRIX_REL + ;; + ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. + GUESS=romp-ibm-aix # uname -m gives an 8 hex-code CPU id + ;; # Note that: echo "'`uname -s`'" gives 'AIX ' + i*86:AIX:*:*) + GUESS=i386-ibm-aix + ;; + ia64:AIX:*:*) + if test -x /usr/bin/oslevel ; then + IBM_REV=`/usr/bin/oslevel` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$UNAME_MACHINE-ibm-aix$IBM_REV + ;; + *:AIX:2:3) + if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + + main() + { + if (!__power_pc()) + exit(1); + puts("powerpc-ibm-aix3.2.5"); + exit(0); + } +EOF + if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` + then + GUESS=$SYSTEM_NAME + else + GUESS=rs6000-ibm-aix3.2.5 + fi + elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then + GUESS=rs6000-ibm-aix3.2.4 + else + GUESS=rs6000-ibm-aix3.2 + fi + ;; + *:AIX:*:[4567]) + IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` + if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then + IBM_ARCH=rs6000 + else + IBM_ARCH=powerpc + fi + if test -x /usr/bin/lslpp ; then + IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc | \ + awk -F: '{ print $3 }' | sed s/[0-9]*$/0/` + else + IBM_REV=$UNAME_VERSION.$UNAME_RELEASE + fi + GUESS=$IBM_ARCH-ibm-aix$IBM_REV + ;; + *:AIX:*:*) + GUESS=rs6000-ibm-aix + ;; + ibmrt:4.4BSD:*|romp-ibm:4.4BSD:*) + GUESS=romp-ibm-bsd4.4 + ;; + ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and + GUESS=romp-ibm-bsd$UNAME_RELEASE # 4.3 with uname added to + ;; # report: romp-ibm BSD 4.3 + *:BOSX:*:*) + GUESS=rs6000-bull-bosx + ;; + DPX/2?00:B.O.S.:*:*) + GUESS=m68k-bull-sysv3 + ;; + 9000/[34]??:4.3bsd:1.*:*) + GUESS=m68k-hp-bsd + ;; + hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) + GUESS=m68k-hp-bsd4.4 + ;; + 9000/[34678]??:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + case $UNAME_MACHINE in + 9000/31?) HP_ARCH=m68000 ;; + 9000/[34]??) HP_ARCH=m68k ;; + 9000/[678][0-9][0-9]) + if test -x /usr/bin/getconf; then + sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` + sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` + case $sc_cpu_version in + 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0 + 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1 + 532) # CPU_PA_RISC2_0 + case $sc_kernel_bits in + 32) HP_ARCH=hppa2.0n ;; + 64) HP_ARCH=hppa2.0w ;; + '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20 + esac ;; + esac + fi + if test "$HP_ARCH" = ""; then + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + + #define _HPUX_SOURCE + #include + #include + + int main () + { + #if defined(_SC_KERNEL_BITS) + long bits = sysconf(_SC_KERNEL_BITS); + #endif + long cpu = sysconf (_SC_CPU_VERSION); + + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1"); break; + case CPU_PA_RISC2_0: + #if defined(_SC_KERNEL_BITS) + switch (bits) + { + case 64: puts ("hppa2.0w"); break; + case 32: puts ("hppa2.0n"); break; + default: puts ("hppa2.0"); break; + } break; + #else /* !defined(_SC_KERNEL_BITS) */ + puts ("hppa2.0"); break; + #endif + default: puts ("hppa1.0"); break; + } + exit (0); + } +EOF + (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"` + test -z "$HP_ARCH" && HP_ARCH=hppa + fi ;; + esac + if test "$HP_ARCH" = hppa2.0w + then + set_cc_for_build + + # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating + # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler + # generating 64-bit code. GNU and HP use different nomenclature: + # + # $ CC_FOR_BUILD=cc ./config.guess + # => hppa2.0w-hp-hpux11.23 + # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess + # => hppa64-hp-hpux11.23 + + if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | + grep -q __LP64__ + then + HP_ARCH=hppa2.0w + else + HP_ARCH=hppa64 + fi + fi + GUESS=$HP_ARCH-hp-hpux$HPUX_REV + ;; + ia64:HP-UX:*:*) + HPUX_REV=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*.[0B]*//'` + GUESS=ia64-hp-hpux$HPUX_REV + ;; + 3050*:HI-UX:*:*) + set_cc_for_build + sed 's/^ //' << EOF > "$dummy.c" + #include + int + main () + { + long cpu = sysconf (_SC_CPU_VERSION); + /* The order matters, because CPU_IS_HP_MC68K erroneously returns + true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct + results, however. */ + if (CPU_IS_PA_RISC (cpu)) + { + switch (cpu) + { + case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; + case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; + case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; + default: puts ("hppa-hitachi-hiuxwe2"); break; + } + } + else if (CPU_IS_HP_MC68K (cpu)) + puts ("m68k-hitachi-hiuxwe2"); + else puts ("unknown-hitachi-hiuxwe2"); + exit (0); + } +EOF + $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + GUESS=unknown-hitachi-hiuxwe2 + ;; + 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:*) + GUESS=hppa1.1-hp-bsd + ;; + 9000/8??:4.3bsd:*:*) + GUESS=hppa1.0-hp-bsd + ;; + *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) + GUESS=hppa1.0-hp-mpeix + ;; + hp7??:OSF1:*:* | hp8?[79]:OSF1:*:*) + GUESS=hppa1.1-hp-osf + ;; + hp8??:OSF1:*:*) + GUESS=hppa1.0-hp-osf + ;; + i*86:OSF1:*:*) + if test -x /usr/sbin/sysversion ; then + GUESS=$UNAME_MACHINE-unknown-osf1mk + else + GUESS=$UNAME_MACHINE-unknown-osf1 + fi + ;; + parisc*:Lites*:*:*) + GUESS=hppa1.1-hp-lites + ;; + C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) + GUESS=c1-convex-bsd + ;; + C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) + if getsysinfo -f scalar_acc + then echo c32-convex-bsd + else echo c2-convex-bsd + fi + exit ;; + C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) + GUESS=c34-convex-bsd + ;; + C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) + GUESS=c38-convex-bsd + ;; + C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) + GUESS=c4-convex-bsd + ;; + CRAY*Y-MP:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=ymp-cray-unicos$CRAY_REL + ;; + CRAY*[A-Z]90:*:*:*) + echo "$UNAME_MACHINE"-cray-unicos"$UNAME_RELEASE" \ + | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ + -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ + -e 's/\.[^.]*$/.X/' + exit ;; + CRAY*TS:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=t90-cray-unicos$CRAY_REL + ;; + CRAY*T3E:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=alphaev5-cray-unicosmk$CRAY_REL + ;; + CRAY*SV1:*:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=sv1-cray-unicos$CRAY_REL + ;; + *:UNICOS/mp:*:*) + CRAY_REL=`echo "$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'` + GUESS=craynv-cray-unicosmp$CRAY_REL + ;; + F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) + FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz` + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'` + GUESS=${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + 5000:UNIX_System_V:4.*:*) + FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'` + FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'` + GUESS=sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL} + ;; + i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) + GUESS=$UNAME_MACHINE-pc-bsdi$UNAME_RELEASE + ;; + sparc*:BSD/OS:*:*) + GUESS=sparc-unknown-bsdi$UNAME_RELEASE + ;; + *:BSD/OS:*:*) + GUESS=$UNAME_MACHINE-unknown-bsdi$UNAME_RELEASE + ;; + arm:FreeBSD:*:*) + UNAME_PROCESSOR=`uname -p` + set_cc_for_build + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabi + else + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL-gnueabihf + fi + ;; + *:FreeBSD:*:*) + UNAME_PROCESSOR=`/usr/bin/uname -p` + case $UNAME_PROCESSOR in + amd64) + UNAME_PROCESSOR=x86_64 ;; + i386) + UNAME_PROCESSOR=i586 ;; + esac + FREEBSD_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_PROCESSOR-unknown-freebsd$FREEBSD_REL + ;; + i*:CYGWIN*:*) + GUESS=$UNAME_MACHINE-pc-cygwin + ;; + *:MINGW64*:*) + GUESS=$UNAME_MACHINE-pc-mingw64 + ;; + *:MINGW*:*) + GUESS=$UNAME_MACHINE-pc-mingw32 + ;; + *:MSYS*:*) + GUESS=$UNAME_MACHINE-pc-msys + ;; + i*:PW*:*) + GUESS=$UNAME_MACHINE-pc-pw32 + ;; + *:SerenityOS:*:*) + GUESS=$UNAME_MACHINE-pc-serenity + ;; + *:Interix*:*) + case $UNAME_MACHINE in + x86) + GUESS=i586-pc-interix$UNAME_RELEASE + ;; + authenticamd | genuineintel | EM64T) + GUESS=x86_64-unknown-interix$UNAME_RELEASE + ;; + IA64) + GUESS=ia64-unknown-interix$UNAME_RELEASE + ;; + esac ;; + i*:UWIN*:*) + GUESS=$UNAME_MACHINE-pc-uwin + ;; + amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) + GUESS=x86_64-pc-cygwin + ;; + prep*:SunOS:5.*:*) + SUN_REL=`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'` + GUESS=powerpcle-unknown-solaris2$SUN_REL + ;; + *:GNU:*:*) + # the GNU system + GNU_ARCH=`echo "$UNAME_MACHINE" | sed -e 's,[-/].*$,,'` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's,/.*$,,'` + GUESS=$GNU_ARCH-unknown-$LIBC$GNU_REL + ;; + *:GNU/*:*:*) + # other systems with GNU libc and userland + GNU_SYS=`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"` + GNU_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-$GNU_SYS$GNU_REL-$LIBC + ;; + *:Minix:*:*) + GUESS=$UNAME_MACHINE-unknown-minix + ;; + aarch64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + aarch64_be:Linux:*:*) + UNAME_MACHINE=aarch64_be + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC=gnulibc1 ; fi + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arc:Linux:*:* | arceb:Linux:*:* | arc32:Linux:*:* | arc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + arm*:Linux:*:*) + set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + else + if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_PCS_VFP + then + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabi + else + GUESS=$UNAME_MACHINE-unknown-linux-${LIBC}eabihf + fi + fi + ;; + avr32*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + cris:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + crisv32:Linux:*:*) + GUESS=$UNAME_MACHINE-axis-linux-$LIBC + ;; + e2k:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + frv:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + hexagon:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:Linux:*:*) + GUESS=$UNAME_MACHINE-pc-linux-$LIBC + ;; + ia64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + k1om:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + loongarch32:Linux:*:* | loongarch64:Linux:*:* | loongarchx32:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m32r*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + m68*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + mips:Linux:*:* | mips64:Linux:*:*) + set_cc_for_build + IS_GLIBC=0 + test x"${LIBC}" = xgnu && IS_GLIBC=1 + sed 's/^ //' << EOF > "$dummy.c" + #undef CPU + #undef mips + #undef mipsel + #undef mips64 + #undef mips64el + #if ${IS_GLIBC} && defined(_ABI64) + LIBCABI=gnuabi64 + #else + #if ${IS_GLIBC} && defined(_ABIN32) + LIBCABI=gnuabin32 + #else + LIBCABI=${LIBC} + #endif + #endif + + #if ${IS_GLIBC} && defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa64r6 + #else + #if ${IS_GLIBC} && !defined(__mips64) && defined(__mips_isa_rev) && __mips_isa_rev>=6 + CPU=mipsisa32r6 + #else + #if defined(__mips64) + CPU=mips64 + #else + CPU=mips + #endif + #endif + #endif + + #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) + MIPS_ENDIAN=el + #else + #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) + MIPS_ENDIAN= + #else + MIPS_ENDIAN= + #endif + #endif +EOF + cc_set_vars=`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'` + eval "$cc_set_vars" + test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; } + ;; + mips64el:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + openrisc*:Linux:*:*) + GUESS=or1k-unknown-linux-$LIBC + ;; + or32:Linux:*:* | or1k*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + padre:Linux:*:*) + GUESS=sparc-unknown-linux-$LIBC + ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + GUESS=hppa64-unknown-linux-$LIBC + ;; + parisc:Linux:*:* | hppa:Linux:*:*) + # Look for CPU level + case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in + PA7*) GUESS=hppa1.1-unknown-linux-$LIBC ;; + PA8*) GUESS=hppa2.0-unknown-linux-$LIBC ;; + *) GUESS=hppa-unknown-linux-$LIBC ;; + esac + ;; + ppc64:Linux:*:*) + GUESS=powerpc64-unknown-linux-$LIBC + ;; + ppc:Linux:*:*) + GUESS=powerpc-unknown-linux-$LIBC + ;; + ppc64le:Linux:*:*) + GUESS=powerpc64le-unknown-linux-$LIBC + ;; + ppcle:Linux:*:*) + GUESS=powerpcle-unknown-linux-$LIBC + ;; + riscv32:Linux:*:* | riscv32be:Linux:*:* | riscv64:Linux:*:* | riscv64be:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + s390:Linux:*:* | s390x:Linux:*:*) + GUESS=$UNAME_MACHINE-ibm-linux-$LIBC + ;; + sh64*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sh*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + sparc:Linux:*:* | sparc64:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + tile*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + vax:Linux:*:*) + GUESS=$UNAME_MACHINE-dec-linux-$LIBC + ;; + x86_64:Linux:*:*) + set_cc_for_build + LIBCABI=$LIBC + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __ILP32__'; echo IS_X32; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_X32 >/dev/null + then + LIBCABI=${LIBC}x32 + fi + fi + GUESS=$UNAME_MACHINE-pc-linux-$LIBCABI + ;; + xtensa*:Linux:*:*) + GUESS=$UNAME_MACHINE-unknown-linux-$LIBC + ;; + i*86:DYNIX/ptx:4*:*) + # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. + # earlier versions are messed up and put the nodename in both + # sysname and nodename. + GUESS=i386-sequent-sysv4 + ;; + i*86:UNIX_SV:4.2MP:2.*) + # Unixware is an offshoot of SVR4, but it has its own version + # number series starting with 2... + # I am not positive that other SVR4 systems won't match this, + # I just have to hope. -- rms. + # Use sysv4.2uw... so that sysv4* matches it. + GUESS=$UNAME_MACHINE-pc-sysv4.2uw$UNAME_VERSION + ;; + i*86:OS/2:*:*) + # If we were able to find `uname', then EMX Unix compatibility + # is probably installed. + GUESS=$UNAME_MACHINE-pc-os2-emx + ;; + i*86:XTS-300:*:STOP) + GUESS=$UNAME_MACHINE-unknown-stop + ;; + i*86:atheos:*:*) + GUESS=$UNAME_MACHINE-unknown-atheos + ;; + i*86:syllable:*:*) + GUESS=$UNAME_MACHINE-pc-syllable + ;; + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) + GUESS=i386-unknown-lynxos$UNAME_RELEASE + ;; + i*86:*DOS:*:*) + GUESS=$UNAME_MACHINE-pc-msdosdjgpp + ;; + i*86:*:4.*:*) + UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'` + if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then + GUESS=$UNAME_MACHINE-univel-sysv$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv$UNAME_REL + fi + ;; + i*86:*:5:[678]*) + # UnixWare 7.x, OpenUNIX and OpenServer 6. + case `/bin/uname -X | grep "^Machine"` in + *486*) UNAME_MACHINE=i486 ;; + *Pentium) UNAME_MACHINE=i586 ;; + *Pent*|*Celeron) UNAME_MACHINE=i686 ;; + esac + GUESS=$UNAME_MACHINE-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} + ;; + i*86:*:3.2:*) + if test -f /usr/options/cb.name; then + UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then + UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` + (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 + (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ + && UNAME_MACHINE=i586 + (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ + && UNAME_MACHINE=i686 + (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ + && UNAME_MACHINE=i686 + GUESS=$UNAME_MACHINE-pc-sco$UNAME_REL + else + GUESS=$UNAME_MACHINE-pc-sysv32 + fi + ;; + pc:*:*:*) + # Left here for compatibility: + # uname -m prints for DJGPP always 'pc', but it prints nothing about + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configure will decide that + # this is a cross-build. + GUESS=i586-pc-msdosdjgpp + ;; + Intel:Mach:3*:*) + GUESS=i386-pc-mach3 + ;; + paragon:*:*:*) + GUESS=i860-intel-osf1 + ;; + i860:*:4.*:*) # i860-SVR4 + if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then + GUESS=i860-stardent-sysv$UNAME_RELEASE # Stardent Vistra i860-SVR4 + else # Add other i860-SVR4 vendors below as they are discovered. + GUESS=i860-unknown-sysv$UNAME_RELEASE # Unknown i860-SVR4 + fi + ;; + mini*:CTIX:SYS*5:*) + # "miniframe" + GUESS=m68010-convergent-sysv + ;; + mc68k:UNIX:SYSTEM5:3.51m) + GUESS=m68k-convergent-sysv + ;; + M680?0:D-NIX:5.3:*) + GUESS=m68k-diab-dnix + ;; + M68*:*:R3V[5678]*:*) + test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; + 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) + OS_REL='' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3"$OS_REL"; exit; } ;; + m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) + GUESS=m68k-unknown-lynxos$UNAME_RELEASE + ;; + mc68030:UNIX_System_V:4.*:*) + GUESS=m68k-atari-sysv4 + ;; + TSUNAMI:LynxOS:2.*:*) + GUESS=sparc-unknown-lynxos$UNAME_RELEASE + ;; + rs6000:LynxOS:2.*:*) + GUESS=rs6000-unknown-lynxos$UNAME_RELEASE + ;; + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) + GUESS=powerpc-unknown-lynxos$UNAME_RELEASE + ;; + SM[BE]S:UNIX_SV:*:*) + GUESS=mips-dde-sysv$UNAME_RELEASE + ;; + RM*:ReliantUNIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + RM*:SINIX-*:*:*) + GUESS=mips-sni-sysv4 + ;; + *:SINIX-*:*:*) + if uname -p 2>/dev/null >/dev/null ; then + UNAME_MACHINE=`(uname -p) 2>/dev/null` + GUESS=$UNAME_MACHINE-sni-sysv4 + else + GUESS=ns32k-sni-sysv + fi + ;; + PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort + # says + GUESS=i586-unisys-sysv4 + ;; + *:UNIX_System_V:4*:FTX*) + # From Gerald Hewes . + # How about differentiating between stratus architectures? -djm + GUESS=hppa1.1-stratus-sysv4 + ;; + *:*:*:FTX*) + # From seanf@swdc.stratus.com. + GUESS=i860-stratus-sysv4 + ;; + i*86:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=$UNAME_MACHINE-stratus-vos + ;; + *:VOS:*:*) + # From Paul.Green@stratus.com. + GUESS=hppa1.1-stratus-vos + ;; + mc68*:A/UX:*:*) + GUESS=m68k-apple-aux$UNAME_RELEASE + ;; + news*:NEWS-OS:6*:*) + GUESS=mips-sony-newsos6 + ;; + R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) + if test -d /usr/nec; then + GUESS=mips-nec-sysv$UNAME_RELEASE + else + GUESS=mips-unknown-sysv$UNAME_RELEASE + fi + ;; + BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. + GUESS=powerpc-be-beos + ;; + BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. + GUESS=powerpc-apple-beos + ;; + BePC:BeOS:*:*) # BeOS running on Intel PC compatible. + GUESS=i586-pc-beos + ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + GUESS=i586-pc-haiku + ;; + x86_64:Haiku:*:*) + GUESS=x86_64-unknown-haiku + ;; + SX-4:SUPER-UX:*:*) + GUESS=sx4-nec-superux$UNAME_RELEASE + ;; + SX-5:SUPER-UX:*:*) + GUESS=sx5-nec-superux$UNAME_RELEASE + ;; + SX-6:SUPER-UX:*:*) + GUESS=sx6-nec-superux$UNAME_RELEASE + ;; + SX-7:SUPER-UX:*:*) + GUESS=sx7-nec-superux$UNAME_RELEASE + ;; + SX-8:SUPER-UX:*:*) + GUESS=sx8-nec-superux$UNAME_RELEASE + ;; + SX-8R:SUPER-UX:*:*) + GUESS=sx8r-nec-superux$UNAME_RELEASE + ;; + SX-ACE:SUPER-UX:*:*) + GUESS=sxace-nec-superux$UNAME_RELEASE + ;; + Power*:Rhapsody:*:*) + GUESS=powerpc-apple-rhapsody$UNAME_RELEASE + ;; + *:Rhapsody:*:*) + GUESS=$UNAME_MACHINE-apple-rhapsody$UNAME_RELEASE + ;; + arm64:Darwin:*:*) + GUESS=aarch64-apple-darwin$UNAME_RELEASE + ;; + *:Darwin:*:*) + UNAME_PROCESSOR=`uname -p` + case $UNAME_PROCESSOR in + unknown) UNAME_PROCESSOR=powerpc ;; + esac + if command -v xcode-select > /dev/null 2> /dev/null && \ + ! xcode-select --print-path > /dev/null 2> /dev/null ; then + # Avoid executing cc if there is no toolchain installed as + # cc will be a stub that puts up a graphical alert + # prompting the user to install developer tools. + CC_FOR_BUILD=no_compiler_found + else + set_cc_for_build + fi + if test "$CC_FOR_BUILD" != no_compiler_found; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + case $UNAME_PROCESSOR in + i386) UNAME_PROCESSOR=x86_64 ;; + powerpc) UNAME_PROCESSOR=powerpc64 ;; + esac + fi + # On 10.4-10.6 one might compile for PowerPC via gcc -arch ppc + if (echo '#ifdef __POWERPC__'; echo IS_PPC; echo '#endif') | \ + (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_PPC >/dev/null + then + UNAME_PROCESSOR=powerpc + fi + elif test "$UNAME_PROCESSOR" = i386 ; then + # uname -m returns i386 or x86_64 + UNAME_PROCESSOR=$UNAME_MACHINE + fi + GUESS=$UNAME_PROCESSOR-apple-darwin$UNAME_RELEASE + ;; + *:procnto*:*:* | *:QNX:[0123456789]*:*) + UNAME_PROCESSOR=`uname -p` + if test "$UNAME_PROCESSOR" = x86; then + UNAME_PROCESSOR=i386 + UNAME_MACHINE=pc + fi + GUESS=$UNAME_PROCESSOR-$UNAME_MACHINE-nto-qnx$UNAME_RELEASE + ;; + *:QNX:*:4*) + GUESS=i386-pc-qnx + ;; + NEO-*:NONSTOP_KERNEL:*:*) + GUESS=neo-tandem-nsk$UNAME_RELEASE + ;; + NSE-*:NONSTOP_KERNEL:*:*) + GUESS=nse-tandem-nsk$UNAME_RELEASE + ;; + NSR-*:NONSTOP_KERNEL:*:*) + GUESS=nsr-tandem-nsk$UNAME_RELEASE + ;; + NSV-*:NONSTOP_KERNEL:*:*) + GUESS=nsv-tandem-nsk$UNAME_RELEASE + ;; + NSX-*:NONSTOP_KERNEL:*:*) + GUESS=nsx-tandem-nsk$UNAME_RELEASE + ;; + *:NonStop-UX:*:*) + GUESS=mips-compaq-nonstopux + ;; + BS2000:POSIX*:*:*) + GUESS=bs2000-siemens-sysv + ;; + DS/*:UNIX_System_V:*:*) + GUESS=$UNAME_MACHINE-$UNAME_SYSTEM-$UNAME_RELEASE + ;; + *:Plan9:*:*) + # "uname -m" is not consistent, so use $cputype instead. 386 + # is converted to i386 for consistency with other x86 + # operating systems. + if test "${cputype-}" = 386; then + UNAME_MACHINE=i386 + elif test "x${cputype-}" != x; then + UNAME_MACHINE=$cputype + fi + GUESS=$UNAME_MACHINE-unknown-plan9 + ;; + *:TOPS-10:*:*) + GUESS=pdp10-unknown-tops10 + ;; + *:TENEX:*:*) + GUESS=pdp10-unknown-tenex + ;; + KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) + GUESS=pdp10-dec-tops20 + ;; + XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) + GUESS=pdp10-xkl-tops20 + ;; + *:TOPS-20:*:*) + GUESS=pdp10-unknown-tops20 + ;; + *:ITS:*:*) + GUESS=pdp10-unknown-its + ;; + SEI:*:*:SEIUX) + GUESS=mips-sei-seiux$UNAME_RELEASE + ;; + *:DragonFly:*:*) + DRAGONFLY_REL=`echo "$UNAME_RELEASE" | sed -e 's/[-(].*//'` + GUESS=$UNAME_MACHINE-unknown-dragonfly$DRAGONFLY_REL + ;; + *:*VMS:*:*) + UNAME_MACHINE=`(uname -p) 2>/dev/null` + case $UNAME_MACHINE in + A*) GUESS=alpha-dec-vms ;; + I*) GUESS=ia64-dec-vms ;; + V*) GUESS=vax-dec-vms ;; + esac ;; + *:XENIX:*:SysV) + GUESS=i386-pc-xenix + ;; + i*86:skyos:*:*) + SKYOS_REL=`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'` + GUESS=$UNAME_MACHINE-pc-skyos$SKYOS_REL + ;; + i*86:rdos:*:*) + GUESS=$UNAME_MACHINE-pc-rdos + ;; + i*86:Fiwix:*:*) + GUESS=$UNAME_MACHINE-pc-fiwix + ;; + *:AROS:*:*) + GUESS=$UNAME_MACHINE-unknown-aros + ;; + x86_64:VMkernel:*:*) + GUESS=$UNAME_MACHINE-unknown-esx + ;; + amd64:Isilon\ OneFS:*:*) + GUESS=x86_64-unknown-onefs + ;; + *:Unleashed:*:*) + GUESS=$UNAME_MACHINE-unknown-unleashed$UNAME_RELEASE + ;; +esac + +# Do we have a guess based on uname results? +if test "x$GUESS" != x; then + echo "$GUESS" + exit +fi + +# No uname command or uname output not recognized. +set_cc_for_build +cat > "$dummy.c" < +#include +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined (vax) || defined (__vax) || defined (__vax__) || defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#include +#if defined(_SIZE_T_) || defined(SIGLOST) +#include +#endif +#endif +#endif +main () +{ +#if defined (sony) +#if defined (MIPSEB) + /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, + I don't know.... */ + printf ("mips-sony-bsd\n"); exit (0); +#else +#include + printf ("m68k-sony-newsos%s\n", +#ifdef NEWSOS4 + "4" +#else + "" +#endif + ); exit (0); +#endif +#endif + +#if defined (NeXT) +#if !defined (__ARCHITECTURE__) +#define __ARCHITECTURE__ "m68k" +#endif + int version; + version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; + if (version < 4) + printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); + else + printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); + exit (0); +#endif + +#if defined (MULTIMAX) || defined (n16) +#if defined (UMAXV) + printf ("ns32k-encore-sysv\n"); exit (0); +#else +#if defined (CMU) + printf ("ns32k-encore-mach\n"); exit (0); +#else + printf ("ns32k-encore-bsd\n"); exit (0); +#endif +#endif +#endif + +#if defined (__386BSD__) + printf ("i386-pc-bsd\n"); exit (0); +#endif + +#if defined (sequent) +#if defined (i386) + printf ("i386-sequent-dynix\n"); exit (0); +#endif +#if defined (ns32000) + printf ("ns32k-sequent-dynix\n"); exit (0); +#endif +#endif + +#if defined (_SEQUENT_) + struct utsname un; + + uname(&un); + if (strncmp(un.version, "V2", 2) == 0) { + printf ("i386-sequent-ptx2\n"); exit (0); + } + if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ + printf ("i386-sequent-ptx1\n"); exit (0); + } + printf ("i386-sequent-ptx\n"); exit (0); +#endif + +#if defined (vax) +#if !defined (ultrix) +#include +#if defined (BSD) +#if BSD == 43 + printf ("vax-dec-bsd4.3\n"); exit (0); +#else +#if BSD == 199006 + printf ("vax-dec-bsd4.3reno\n"); exit (0); +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#endif +#else + printf ("vax-dec-bsd\n"); exit (0); +#endif +#else +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname un; + uname (&un); + printf ("vax-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("vax-dec-ultrix\n"); exit (0); +#endif +#endif +#endif +#if defined(ultrix) || defined(_ultrix) || defined(__ultrix) || defined(__ultrix__) +#if defined(mips) || defined(__mips) || defined(__mips__) || defined(MIPS) || defined(__MIPS__) +#if defined(_SIZE_T_) || defined(SIGLOST) + struct utsname *un; + uname (&un); + printf ("mips-dec-ultrix%s\n", un.release); exit (0); +#else + printf ("mips-dec-ultrix\n"); exit (0); +#endif +#endif +#endif + +#if defined (alliant) && defined (i860) + printf ("i860-alliant-bsd\n"); exit (0); +#endif + + exit (1); +} +EOF + +$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`"$dummy"` && + { echo "$SYSTEM_NAME"; exit; } + +# Apollos put the system type in the environment. +test -d /usr/apollo && { echo "$ISP-apollo-$SYSTYPE"; exit; } + +echo "$0: unable to guess system type" >&2 + +case $UNAME_MACHINE:$UNAME_SYSTEM in + mips:Linux | mips64:Linux) + # If we got here on MIPS GNU/Linux, output extra information. + cat >&2 <&2 <&2 </dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null` + +hostinfo = `(hostinfo) 2>/dev/null` +/bin/universe = `(/bin/universe) 2>/dev/null` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` +/bin/arch = `(/bin/arch) 2>/dev/null` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` + +UNAME_MACHINE = "$UNAME_MACHINE" +UNAME_RELEASE = "$UNAME_RELEASE" +UNAME_SYSTEM = "$UNAME_SYSTEM" +UNAME_VERSION = "$UNAME_VERSION" +EOF +fi + +exit 1 + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.rpath b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath similarity index 98% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.rpath rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath index c38b914d..24be79cf 100755 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/config.rpath +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.rpath @@ -2,7 +2,7 @@ # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # -# Copyright 1996-2013 Free Software Foundation, Inc. +# Copyright 1996-2020 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # @@ -367,11 +367,7 @@ else dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) + freebsd2.[01]*) hardcode_direct=yes hardcode_minus_L=yes ;; @@ -548,13 +544,11 @@ case "$host_os" in dgux*) library_names_spec='$libname$shrext' ;; + freebsd[23].*) + library_names_spec='$libname$shrext$versuffix' + ;; freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac + library_names_spec='$libname$shrext' ;; gnu*) library_names_spec='$libname$shrext' diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub new file mode 100755 index 00000000..dba16e84 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/config.sub @@ -0,0 +1,1890 @@ +#! /bin/sh +# Configuration validation subroutine script. +# Copyright 1992-2022 Free Software Foundation, Inc. + +# shellcheck disable=SC2006,SC2268 # see below for rationale + +timestamp='2022-01-03' + +# This file 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 3 of the License, or +# (at your option) any later version. +# +# This program 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 +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# As a special exception to the GNU General Public License, if you +# distribute this file as part of a program that contains a +# configuration script generated by Autoconf, you may include it under +# the same distribution terms that you use for the rest of that +# program. This Exception is an additional permission under section 7 +# of the GNU General Public License, version 3 ("GPLv3"). + + +# Please send patches to . +# +# Configuration subroutine to validate and canonicalize a configuration type. +# Supply the specified configuration type as an argument. +# If it is invalid, we print an error message on stderr and exit with code 1. +# Otherwise, we print the canonical config type on stdout and succeed. + +# You can get the latest version of this script from: +# https://git.savannah.gnu.org/cgit/config.git/plain/config.sub + +# This file is supposed to be the same for all GNU packages +# and recognize all the CPU types, system types and aliases +# that are meaningful with *any* GNU software. +# Each package is responsible for reporting which valid configurations +# it does not support. The user should be able to distinguish +# a failure to support a valid configuration from a meaningless +# configuration. + +# The goal of this file is to map all the various variations of a given +# machine specification into a single specification in the form: +# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM +# or in some cases, the newer four-part form: +# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM +# It is wrong to echo any other type of specification. + +# The "shellcheck disable" line above the timestamp inhibits complaints +# about features and limitations of the classic Bourne shell that were +# superseded or lifted in POSIX. However, this script identifies a wide +# variety of pre-POSIX systems that do not have POSIX shells at all, and +# even some reasonably current systems (Solaris 10 as case-in-point) still +# have a pre-POSIX /bin/sh. + +me=`echo "$0" | sed -e 's,.*/,,'` + +usage="\ +Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS + +Canonicalize a configuration name. + +Options: + -h, --help print this help, then exit + -t, --time-stamp print date of last modification, then exit + -v, --version print version number, then exit + +Report bugs and patches to ." + +version="\ +GNU config.sub ($timestamp) + +Copyright 1992-2022 Free Software Foundation, Inc. + +This is free software; see the source for copying conditions. There is NO +warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + +help=" +Try \`$me --help' for more information." + +# Parse command line +while test $# -gt 0 ; do + case $1 in + --time-stamp | --time* | -t ) + echo "$timestamp" ; exit ;; + --version | -v ) + echo "$version" ; exit ;; + --help | --h* | -h ) + echo "$usage"; exit ;; + -- ) # Stop option processing + shift; break ;; + - ) # Use stdin as input. + break ;; + -* ) + echo "$me: invalid option $1$help" >&2 + exit 1 ;; + + *local*) + # First pass through any local machine types. + echo "$1" + exit ;; + + * ) + break ;; + esac +done + +case $# in + 0) echo "$me: missing argument$help" >&2 + exit 1;; + 1) ;; + *) echo "$me: too many arguments$help" >&2 + exit 1;; +esac + +# Split fields of configuration type +# shellcheck disable=SC2162 +saved_IFS=$IFS +IFS="-" read field1 field2 field3 field4 <&2 + exit 1 + ;; + *-*-*-*) + basic_machine=$field1-$field2 + basic_os=$field3-$field4 + ;; + *-*-*) + # Ambiguous whether COMPANY is present, or skipped and KERNEL-OS is two + # parts + maybe_os=$field2-$field3 + case $maybe_os in + nto-qnx* | linux-* | uclinux-uclibc* \ + | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* \ + | netbsd*-eabi* | kopensolaris*-gnu* | cloudabi*-eabi* \ + | storm-chaos* | os2-emx* | rtmk-nova*) + basic_machine=$field1 + basic_os=$maybe_os + ;; + android-linux) + basic_machine=$field1-unknown + basic_os=linux-android + ;; + *) + basic_machine=$field1-$field2 + basic_os=$field3 + ;; + esac + ;; + *-*) + # A lone config we happen to match not fitting any pattern + case $field1-$field2 in + decstation-3100) + basic_machine=mips-dec + basic_os= + ;; + *-*) + # Second component is usually, but not always the OS + case $field2 in + # Prevent following clause from handling this valid os + sun*os*) + basic_machine=$field1 + basic_os=$field2 + ;; + zephyr*) + basic_machine=$field1-unknown + basic_os=$field2 + ;; + # Manufacturers + dec* | mips* | sequent* | encore* | pc533* | sgi* | sony* \ + | att* | 7300* | 3300* | delta* | motorola* | sun[234]* \ + | unicom* | ibm* | next | hp | isi* | apollo | altos* \ + | convergent* | ncr* | news | 32* | 3600* | 3100* \ + | hitachi* | c[123]* | convex* | sun | crds | omron* | dg \ + | ultra | tti* | harris | dolphin | highlevel | gould \ + | cbm | ns | masscomp | apple | axis | knuth | cray \ + | microblaze* | sim | cisco \ + | oki | wec | wrs | winbond) + basic_machine=$field1-$field2 + basic_os= + ;; + *) + basic_machine=$field1 + basic_os=$field2 + ;; + esac + ;; + esac + ;; + *) + # Convert single-component short-hands not valid as part of + # multi-component configurations. + case $field1 in + 386bsd) + basic_machine=i386-pc + basic_os=bsd + ;; + a29khif) + basic_machine=a29k-amd + basic_os=udi + ;; + adobe68k) + basic_machine=m68010-adobe + basic_os=scout + ;; + alliant) + basic_machine=fx80-alliant + basic_os= + ;; + altos | altos3068) + basic_machine=m68k-altos + basic_os= + ;; + am29k) + basic_machine=a29k-none + basic_os=bsd + ;; + amdahl) + basic_machine=580-amdahl + basic_os=sysv + ;; + amiga) + basic_machine=m68k-unknown + basic_os= + ;; + amigaos | amigados) + basic_machine=m68k-unknown + basic_os=amigaos + ;; + amigaunix | amix) + basic_machine=m68k-unknown + basic_os=sysv4 + ;; + apollo68) + basic_machine=m68k-apollo + basic_os=sysv + ;; + apollo68bsd) + basic_machine=m68k-apollo + basic_os=bsd + ;; + aros) + basic_machine=i386-pc + basic_os=aros + ;; + aux) + basic_machine=m68k-apple + basic_os=aux + ;; + balance) + basic_machine=ns32k-sequent + basic_os=dynix + ;; + blackfin) + basic_machine=bfin-unknown + basic_os=linux + ;; + cegcc) + basic_machine=arm-unknown + basic_os=cegcc + ;; + convex-c1) + basic_machine=c1-convex + basic_os=bsd + ;; + convex-c2) + basic_machine=c2-convex + basic_os=bsd + ;; + convex-c32) + basic_machine=c32-convex + basic_os=bsd + ;; + convex-c34) + basic_machine=c34-convex + basic_os=bsd + ;; + convex-c38) + basic_machine=c38-convex + basic_os=bsd + ;; + cray) + basic_machine=j90-cray + basic_os=unicos + ;; + crds | unos) + basic_machine=m68k-crds + basic_os= + ;; + da30) + basic_machine=m68k-da30 + basic_os= + ;; + decstation | pmax | pmin | dec3100 | decstatn) + basic_machine=mips-dec + basic_os= + ;; + delta88) + basic_machine=m88k-motorola + basic_os=sysv3 + ;; + dicos) + basic_machine=i686-pc + basic_os=dicos + ;; + djgpp) + basic_machine=i586-pc + basic_os=msdosdjgpp + ;; + ebmon29k) + basic_machine=a29k-amd + basic_os=ebmon + ;; + es1800 | OSE68k | ose68k | ose | OSE) + basic_machine=m68k-ericsson + basic_os=ose + ;; + gmicro) + basic_machine=tron-gmicro + basic_os=sysv + ;; + go32) + basic_machine=i386-pc + basic_os=go32 + ;; + h8300hms) + basic_machine=h8300-hitachi + basic_os=hms + ;; + h8300xray) + basic_machine=h8300-hitachi + basic_os=xray + ;; + h8500hms) + basic_machine=h8500-hitachi + basic_os=hms + ;; + harris) + basic_machine=m88k-harris + basic_os=sysv3 + ;; + hp300 | hp300hpux) + basic_machine=m68k-hp + basic_os=hpux + ;; + hp300bsd) + basic_machine=m68k-hp + basic_os=bsd + ;; + hppaosf) + basic_machine=hppa1.1-hp + basic_os=osf + ;; + hppro) + basic_machine=hppa1.1-hp + basic_os=proelf + ;; + i386mach) + basic_machine=i386-mach + basic_os=mach + ;; + isi68 | isi) + basic_machine=m68k-isi + basic_os=sysv + ;; + m68knommu) + basic_machine=m68k-unknown + basic_os=linux + ;; + magnum | m3230) + basic_machine=mips-mips + basic_os=sysv + ;; + merlin) + basic_machine=ns32k-utek + basic_os=sysv + ;; + mingw64) + basic_machine=x86_64-pc + basic_os=mingw64 + ;; + mingw32) + basic_machine=i686-pc + basic_os=mingw32 + ;; + mingw32ce) + basic_machine=arm-unknown + basic_os=mingw32ce + ;; + monitor) + basic_machine=m68k-rom68k + basic_os=coff + ;; + morphos) + basic_machine=powerpc-unknown + basic_os=morphos + ;; + moxiebox) + basic_machine=moxie-unknown + basic_os=moxiebox + ;; + msdos) + basic_machine=i386-pc + basic_os=msdos + ;; + msys) + basic_machine=i686-pc + basic_os=msys + ;; + mvs) + basic_machine=i370-ibm + basic_os=mvs + ;; + nacl) + basic_machine=le32-unknown + basic_os=nacl + ;; + ncr3000) + basic_machine=i486-ncr + basic_os=sysv4 + ;; + netbsd386) + basic_machine=i386-pc + basic_os=netbsd + ;; + netwinder) + basic_machine=armv4l-rebel + basic_os=linux + ;; + news | news700 | news800 | news900) + basic_machine=m68k-sony + basic_os=newsos + ;; + news1000) + basic_machine=m68030-sony + basic_os=newsos + ;; + necv70) + basic_machine=v70-nec + basic_os=sysv + ;; + nh3000) + basic_machine=m68k-harris + basic_os=cxux + ;; + nh[45]000) + basic_machine=m88k-harris + basic_os=cxux + ;; + nindy960) + basic_machine=i960-intel + basic_os=nindy + ;; + mon960) + basic_machine=i960-intel + basic_os=mon960 + ;; + nonstopux) + basic_machine=mips-compaq + basic_os=nonstopux + ;; + os400) + basic_machine=powerpc-ibm + basic_os=os400 + ;; + OSE68000 | ose68000) + basic_machine=m68000-ericsson + basic_os=ose + ;; + os68k) + basic_machine=m68k-none + basic_os=os68k + ;; + paragon) + basic_machine=i860-intel + basic_os=osf + ;; + parisc) + basic_machine=hppa-unknown + basic_os=linux + ;; + psp) + basic_machine=mipsallegrexel-sony + basic_os=psp + ;; + pw32) + basic_machine=i586-unknown + basic_os=pw32 + ;; + rdos | rdos64) + basic_machine=x86_64-pc + basic_os=rdos + ;; + rdos32) + basic_machine=i386-pc + basic_os=rdos + ;; + rom68k) + basic_machine=m68k-rom68k + basic_os=coff + ;; + sa29200) + basic_machine=a29k-amd + basic_os=udi + ;; + sei) + basic_machine=mips-sei + basic_os=seiux + ;; + sequent) + basic_machine=i386-sequent + basic_os= + ;; + sps7) + basic_machine=m68k-bull + basic_os=sysv2 + ;; + st2000) + basic_machine=m68k-tandem + basic_os= + ;; + stratus) + basic_machine=i860-stratus + basic_os=sysv4 + ;; + sun2) + basic_machine=m68000-sun + basic_os= + ;; + sun2os3) + basic_machine=m68000-sun + basic_os=sunos3 + ;; + sun2os4) + basic_machine=m68000-sun + basic_os=sunos4 + ;; + sun3) + basic_machine=m68k-sun + basic_os= + ;; + sun3os3) + basic_machine=m68k-sun + basic_os=sunos3 + ;; + sun3os4) + basic_machine=m68k-sun + basic_os=sunos4 + ;; + sun4) + basic_machine=sparc-sun + basic_os= + ;; + sun4os3) + basic_machine=sparc-sun + basic_os=sunos3 + ;; + sun4os4) + basic_machine=sparc-sun + basic_os=sunos4 + ;; + sun4sol2) + basic_machine=sparc-sun + basic_os=solaris2 + ;; + sun386 | sun386i | roadrunner) + basic_machine=i386-sun + basic_os= + ;; + sv1) + basic_machine=sv1-cray + basic_os=unicos + ;; + symmetry) + basic_machine=i386-sequent + basic_os=dynix + ;; + t3e) + basic_machine=alphaev5-cray + basic_os=unicos + ;; + t90) + basic_machine=t90-cray + basic_os=unicos + ;; + toad1) + basic_machine=pdp10-xkl + basic_os=tops20 + ;; + tpf) + basic_machine=s390x-ibm + basic_os=tpf + ;; + udi29k) + basic_machine=a29k-amd + basic_os=udi + ;; + ultra3) + basic_machine=a29k-nyu + basic_os=sym1 + ;; + v810 | necv810) + basic_machine=v810-nec + basic_os=none + ;; + vaxv) + basic_machine=vax-dec + basic_os=sysv + ;; + vms) + basic_machine=vax-dec + basic_os=vms + ;; + vsta) + basic_machine=i386-pc + basic_os=vsta + ;; + vxworks960) + basic_machine=i960-wrs + basic_os=vxworks + ;; + vxworks68) + basic_machine=m68k-wrs + basic_os=vxworks + ;; + vxworks29k) + basic_machine=a29k-wrs + basic_os=vxworks + ;; + xbox) + basic_machine=i686-pc + basic_os=mingw32 + ;; + ymp) + basic_machine=ymp-cray + basic_os=unicos + ;; + *) + basic_machine=$1 + basic_os= + ;; + esac + ;; +esac + +# Decode 1-component or ad-hoc basic machines +case $basic_machine in + # Here we handle the default manufacturer of certain CPU types. It is in + # some cases the only manufacturer, in others, it is the most popular. + w89k) + cpu=hppa1.1 + vendor=winbond + ;; + op50n) + cpu=hppa1.1 + vendor=oki + ;; + op60c) + cpu=hppa1.1 + vendor=oki + ;; + ibm*) + cpu=i370 + vendor=ibm + ;; + orion105) + cpu=clipper + vendor=highlevel + ;; + mac | mpw | mac-mpw) + cpu=m68k + vendor=apple + ;; + pmac | pmac-mpw) + cpu=powerpc + vendor=apple + ;; + + # Recognize the various machine names and aliases which stand + # for a CPU type and a company and sometimes even an OS. + 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) + cpu=m68000 + vendor=att + ;; + 3b*) + cpu=we32k + vendor=att + ;; + bluegene*) + cpu=powerpc + vendor=ibm + basic_os=cnk + ;; + decsystem10* | dec10*) + cpu=pdp10 + vendor=dec + basic_os=tops10 + ;; + decsystem20* | dec20*) + cpu=pdp10 + vendor=dec + basic_os=tops20 + ;; + delta | 3300 | motorola-3300 | motorola-delta \ + | 3300-motorola | delta-motorola) + cpu=m68k + vendor=motorola + ;; + dpx2*) + cpu=m68k + vendor=bull + basic_os=sysv3 + ;; + encore | umax | mmax) + cpu=ns32k + vendor=encore + ;; + elxsi) + cpu=elxsi + vendor=elxsi + basic_os=${basic_os:-bsd} + ;; + fx2800) + cpu=i860 + vendor=alliant + ;; + genix) + cpu=ns32k + vendor=ns + ;; + h3050r* | hiux*) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + hp3k9[0-9][0-9] | hp9[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k2[0-9][0-9] | hp9k31[0-9]) + cpu=m68000 + vendor=hp + ;; + hp9k3[2-9][0-9]) + cpu=m68k + vendor=hp + ;; + hp9k6[0-9][0-9] | hp6[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + hp9k7[0-79][0-9] | hp7[0-79][0-9]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k78[0-9] | hp78[0-9]) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) + # FIXME: really hppa2.0-hp + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][13679] | hp8[0-9][13679]) + cpu=hppa1.1 + vendor=hp + ;; + hp9k8[0-9][0-9] | hp8[0-9][0-9]) + cpu=hppa1.0 + vendor=hp + ;; + i*86v32) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv32 + ;; + i*86v4*) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv4 + ;; + i*86v) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=sysv + ;; + i*86sol2) + cpu=`echo "$1" | sed -e 's/86.*/86/'` + vendor=pc + basic_os=solaris2 + ;; + j90 | j90-cray) + cpu=j90 + vendor=cray + basic_os=${basic_os:-unicos} + ;; + iris | iris4d) + cpu=mips + vendor=sgi + case $basic_os in + irix*) + ;; + *) + basic_os=irix4 + ;; + esac + ;; + miniframe) + cpu=m68000 + vendor=convergent + ;; + *mint | mint[0-9]* | *MiNT | *MiNT[0-9]*) + cpu=m68k + vendor=atari + basic_os=mint + ;; + news-3600 | risc-news) + cpu=mips + vendor=sony + basic_os=newsos + ;; + next | m*-next) + cpu=m68k + vendor=next + case $basic_os in + openstep*) + ;; + nextstep*) + ;; + ns2*) + basic_os=nextstep2 + ;; + *) + basic_os=nextstep3 + ;; + esac + ;; + np1) + cpu=np1 + vendor=gould + ;; + op50n-* | op60c-*) + cpu=hppa1.1 + vendor=oki + basic_os=proelf + ;; + pa-hitachi) + cpu=hppa1.1 + vendor=hitachi + basic_os=hiuxwe2 + ;; + pbd) + cpu=sparc + vendor=tti + ;; + pbb) + cpu=m68k + vendor=tti + ;; + pc532) + cpu=ns32k + vendor=pc532 + ;; + pn) + cpu=pn + vendor=gould + ;; + power) + cpu=power + vendor=ibm + ;; + ps2) + cpu=i386 + vendor=ibm + ;; + rm[46]00) + cpu=mips + vendor=siemens + ;; + rtpc | rtpc-*) + cpu=romp + vendor=ibm + ;; + sde) + cpu=mipsisa32 + vendor=sde + basic_os=${basic_os:-elf} + ;; + simso-wrs) + cpu=sparclite + vendor=wrs + basic_os=vxworks + ;; + tower | tower-32) + cpu=m68k + vendor=ncr + ;; + vpp*|vx|vx-*) + cpu=f301 + vendor=fujitsu + ;; + w65) + cpu=w65 + vendor=wdc + ;; + w89k-*) + cpu=hppa1.1 + vendor=winbond + basic_os=proelf + ;; + none) + cpu=none + vendor=none + ;; + leon|leon[3-9]) + cpu=sparc + vendor=$basic_machine + ;; + leon-*|leon[3-9]-*) + cpu=sparc + vendor=`echo "$basic_machine" | sed 's/-.*//'` + ;; + + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read cpu vendor <&2 + exit 1 + ;; + esac + ;; +esac + +# Here we canonicalize certain aliases for manufacturers. +case $vendor in + digital*) + vendor=dec + ;; + commodore*) + vendor=cbm + ;; + *) + ;; +esac + +# Decode manufacturer-specific aliases for certain operating systems. + +if test x$basic_os != x +then + +# First recognize some ad-hoc cases, or perhaps split kernel-os, or else just +# set os. +case $basic_os in + gnu/linux*) + kernel=linux + os=`echo "$basic_os" | sed -e 's|gnu/linux|gnu|'` + ;; + os2-emx) + kernel=os2 + os=`echo "$basic_os" | sed -e 's|os2-emx|emx|'` + ;; + nto-qnx*) + kernel=nto + os=`echo "$basic_os" | sed -e 's|nto-qnx|qnx|'` + ;; + *-*) + # shellcheck disable=SC2162 + saved_IFS=$IFS + IFS="-" read kernel os <&2 + exit 1 + ;; +esac + +# As a final step for OS-related things, validate the OS-kernel combination +# (given a valid OS), if there is a kernel. +case $kernel-$os in + linux-gnu* | linux-dietlibc* | linux-android* | linux-newlib* \ + | linux-musl* | linux-relibc* | linux-uclibc* ) + ;; + uclinux-uclibc* ) + ;; + -dietlibc* | -newlib* | -musl* | -relibc* | -uclibc* ) + # These are just libc implementations, not actual OSes, and thus + # require a kernel. + echo "Invalid configuration \`$1': libc \`$os' needs explicit kernel." 1>&2 + exit 1 + ;; + kfreebsd*-gnu* | kopensolaris*-gnu*) + ;; + vxworks-simlinux | vxworks-simwindows | vxworks-spe) + ;; + nto-qnx*) + ;; + os2-emx) + ;; + *-eabi* | *-gnueabi*) + ;; + -*) + # Blank kernel with real OS is always fine. + ;; + *-*) + echo "Invalid configuration \`$1': Kernel \`$kernel' not known to work with OS \`$os'." 1>&2 + exit 1 + ;; +esac + +# Here we handle the case where we know the os, and the CPU type, but not the +# manufacturer. We pick the logical manufacturer. +case $vendor in + unknown) + case $cpu-$os in + *-riscix*) + vendor=acorn + ;; + *-sunos*) + vendor=sun + ;; + *-cnk* | *-aix*) + vendor=ibm + ;; + *-beos*) + vendor=be + ;; + *-hpux*) + vendor=hp + ;; + *-mpeix*) + vendor=hp + ;; + *-hiux*) + vendor=hitachi + ;; + *-unos*) + vendor=crds + ;; + *-dgux*) + vendor=dg + ;; + *-luna*) + vendor=omron + ;; + *-genix*) + vendor=ns + ;; + *-clix*) + vendor=intergraph + ;; + *-mvs* | *-opened*) + vendor=ibm + ;; + *-os400*) + vendor=ibm + ;; + s390-* | s390x-*) + vendor=ibm + ;; + *-ptx*) + vendor=sequent + ;; + *-tpf*) + vendor=ibm + ;; + *-vxsim* | *-vxworks* | *-windiss*) + vendor=wrs + ;; + *-aux*) + vendor=apple + ;; + *-hms*) + vendor=hitachi + ;; + *-mpw* | *-macos*) + vendor=apple + ;; + *-*mint | *-mint[0-9]* | *-*MiNT | *-MiNT[0-9]*) + vendor=atari + ;; + *-vos*) + vendor=stratus + ;; + esac + ;; +esac + +echo "$cpu-$vendor-${kernel:+$kernel-}$os" +exit + +# Local variables: +# eval: (add-hook 'before-save-hook 'time-stamp) +# time-stamp-start: "timestamp='" +# time-stamp-format: "%:y-%02m-%02d" +# time-stamp-end: "'" +# End: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/depcomp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/depcomp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/depcomp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/depcomp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/git-log-fix b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-fix similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/git-log-fix rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-fix diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/git-log-footer b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-footer similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/git-log-footer rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/git-log-footer diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/gitlog-to-changelog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/gitlog-to-changelog similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/gitlog-to-changelog rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/gitlog-to-changelog diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/install-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/install-sh similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/install-sh rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/install-sh diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/mdate-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/mdate-sh similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/mdate-sh rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/mdate-sh diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/missing b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/missing similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/missing rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/missing diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/texinfo.tex b/debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/texinfo.tex similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/build-aux/texinfo.tex rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/build-aux/texinfo.tex diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/config.h.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in similarity index 87% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/config.h.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in index 64923286..a298744b 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/config.h.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/config.h.in @@ -31,8 +31,8 @@ /* Defined if the mlock() call does not work */ #undef HAVE_BROKEN_MLOCK -/* Defined if a `byte' is typedef'd */ -#undef HAVE_BYTE_TYPEDEF +/* Define to 1 if the system has the type `byte'. */ +#undef HAVE_BYTE /* Defined if we run on some of the PCDOS like systems (DOS, Windoze. OS/2) with special properties like no file modes */ @@ -41,7 +41,10 @@ /* Defined if the OS supports drive letters. */ #undef HAVE_DRIVE_LETTERS -/* Define if you have the iconv() function. */ +/* Define to 1 if you have the `getpagesize' function. */ +#undef HAVE_GETPAGESIZE + +/* Define if you have the iconv() function and it works. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ @@ -71,12 +74,12 @@ /* Define if you have working ncursesw */ #undef HAVE_NCURSESW -/* Define to 1 if you have the `plock' function. */ -#undef HAVE_PLOCK - /* Define to 1 if you have the `seteuid' function. */ #undef HAVE_SETEUID +/* Define to 1 if you have the `stat' function. */ +#undef HAVE_STAT + /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H @@ -92,6 +95,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H +/* Define to 1 if you have the `sysconf' function. */ +#undef HAVE_SYSCONF + /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H @@ -104,8 +110,11 @@ /* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H -/* Defined if a `ulong' is typedef'd */ -#undef HAVE_ULONG_TYPEDEF +/* Define to 1 if the system has the type `u64'. */ +#undef HAVE_U64 + +/* Define to 1 if the system has the type `ulong'. */ +#undef HAVE_ULONG /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H @@ -122,6 +131,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_WCHAR_H +/* The pinentries can optionally use x11. */ +#undef HAVE_X11 + /* Define as const if the declaration of iconv() needs const. */ #undef ICONV_CONST @@ -158,15 +170,21 @@ /* The qt version of Pinentry is to be build */ #undef PINENTRY_QT +/* The qt4 version of Pinentry is to be build */ +#undef PINENTRY_QT4 + +/* pinentry-qt should use KF5WaylandClient. */ +#undef PINENTRY_QT_WAYLAND + +/* pinentry-qt should use x11. */ +#undef PINENTRY_QT_X11 + /* The TTY version of Pinentry is to be build */ #undef PINENTRY_TTY /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS -/* The capabilities support library is installed */ -#undef USE_CAPABILITIES - /* Set this to limit filenames to the 8.3 format */ #undef USE_ONLY_8DOT3 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/configure b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure similarity index 88% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/configure rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/configure index ac493e63..25c1c65c 100755 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/configure +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for pinentry 1.1.0. +# Generated by GNU Autoconf 2.69 for pinentry 1.2.1. # # Report bugs to . # @@ -580,8 +580,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='pinentry' PACKAGE_TARNAME='pinentry' -PACKAGE_VERSION='1.1.0' -PACKAGE_STRING='pinentry 1.1.0' +PACKAGE_VERSION='1.2.1' +PACKAGE_STRING='pinentry 1.2.1' PACKAGE_BUGREPORT='https://bugs.gnupg.org' PACKAGE_URL='' @@ -626,6 +626,8 @@ ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS +BUILD_DOC_FALSE +BUILD_DOC_TRUE PINENTRY_DEFAULT BUILD_PINENTRY_FLTK_FALSE BUILD_PINENTRY_FLTK_TRUE @@ -640,15 +642,31 @@ BUILD_PINENTRY_TQT_TRUE TQT_MOC PINENTRY_TQT_LIBS PINENTRY_TQT_CFLAGS +BUILD_PINENTRY_QT4_FALSE +BUILD_PINENTRY_QT4_TRUE +PINENTRY_QT4_LDFLAGS +MOC42 +MOC4 +PINENTRY_QT4_LIBS +PINENTRY_QT4_CFLAGS BUILD_PINENTRY_QT_FALSE BUILD_PINENTRY_QT_TRUE +PINENTRY_QT_LDFLAGS +RCC2 +RCC QTCHOOSER MOC2 MOC +PINENTRY_QT_X11_EXTRAS_LIBS +PINENTRY_QT_X11_EXTRAS_CFLAGS PINENTRY_QT_REQUIRE_CPP11_LIBS PINENTRY_QT_REQUIRE_CPP11_CFLAGS PINENTRY_QT_LIBS PINENTRY_QT_CFLAGS +KF5WAYLANDCLIENT_LIBS +KF5WAYLANDCLIENT_CFLAGS +LIBX11_LIBS +LIBX11_CFLAGS BUILD_WITH_LIBSECRET_FALSE BUILD_WITH_LIBSECRET_TRUE LIBSECRET_LIBS @@ -661,6 +679,10 @@ BUILD_PINENTRY_GTK_2_FALSE BUILD_PINENTRY_GTK_2_TRUE GTK2_LIBS GTK2_CFLAGS +BUILD_PINENTRY_EFL_FALSE +BUILD_PINENTRY_EFL_TRUE +EFL_LIBS +EFL_CFLAGS INSIDE_EMACS_FALSE INSIDE_EMACS_TRUE BUILD_PINENTRY_EMACS_FALSE @@ -683,8 +705,6 @@ LIBNCURSES NCURSES_INCLUDE NCURSES_LIBS NCURSES_CFLAGS -LIBCAP -SETCAP LIBASSUAN_LIBS LIBASSUAN_CFLAGS LIBASSUAN_CONFIG @@ -692,6 +712,7 @@ GPG_ERROR_MT_LIBS GPG_ERROR_MT_CFLAGS GPG_ERROR_LIBS GPG_ERROR_CFLAGS +GPGRT_CONFIG GPG_ERROR_CONFIG COMMON_LIBS COMMON_CFLAGS @@ -733,7 +754,6 @@ am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE -am__quote am__include DEPDIR OBJEXT @@ -789,6 +809,7 @@ infodir docdir oldincludedir includedir +runstatedir localstatedir sharedstatedir sysconfdir @@ -807,7 +828,8 @@ PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR -SHELL' +SHELL +am__quote' ac_subst_files='' ac_user_opts=' enable_option_checking @@ -817,7 +839,6 @@ enable_maintainer_mode with_libgpg_error_prefix with_gpg_error_prefix with_libassuan_prefix -with_libcap enable_pinentry_curses enable_fallback_curses enable_ncurses @@ -828,13 +849,16 @@ enable_rpath with_libiconv_prefix enable_pinentry_emacs enable_inside_emacs +enable_pinentry_efl enable_pinentry_gtk2 enable_pinentry_gnome3 enable_libsecret enable_pinentry_qt enable_pinentry_qt5 +enable_pinentry_qt4 enable_pinentry_tqt enable_pinentry_fltk +enable_doc ' ac_precious_vars='build_alias host_alias @@ -851,16 +875,26 @@ CCC PKG_CONFIG NCURSES_CFLAGS NCURSES_LIBS +EFL_CFLAGS +EFL_LIBS GTK2_CFLAGS GTK2_LIBS GNOME3_CFLAGS GNOME3_LIBS LIBSECRET_CFLAGS LIBSECRET_LIBS +LIBX11_CFLAGS +LIBX11_LIBS +KF5WAYLANDCLIENT_CFLAGS +KF5WAYLANDCLIENT_LIBS PINENTRY_QT_CFLAGS PINENTRY_QT_LIBS PINENTRY_QT_REQUIRE_CPP11_CFLAGS PINENTRY_QT_REQUIRE_CPP11_LIBS +PINENTRY_QT_X11_EXTRAS_CFLAGS +PINENTRY_QT_X11_EXTRAS_LIBS +PINENTRY_QT4_CFLAGS +PINENTRY_QT4_LIBS PINENTRY_TQT_CFLAGS PINENTRY_TQT_LIBS' @@ -901,6 +935,7 @@ datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' +runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' @@ -1153,6 +1188,15 @@ do | -silent | --silent | --silen | --sile | --sil) silent=yes ;; + -runstatedir | --runstatedir | --runstatedi | --runstated \ + | --runstate | --runstat | --runsta | --runst | --runs \ + | --run | --ru | --r) + ac_prev=runstatedir ;; + -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \ + | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \ + | --run=* | --ru=* | --r=*) + runstatedir=$ac_optarg ;; + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ @@ -1290,7 +1334,7 @@ fi for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir + libdir localedir mandir runstatedir do eval ac_val=\$$ac_var # Remove trailing slashes. @@ -1403,7 +1447,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures pinentry 1.1.0 to adapt to many kinds of systems. +\`configure' configures pinentry 1.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1443,6 +1487,7 @@ Fine tuning of the installation directories: --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --runstatedir=DIR modifiable per-process data [LOCALSTATEDIR/run] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] @@ -1473,7 +1518,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of pinentry 1.1.0:";; + short | recursive ) echo "Configuration of pinentry 1.2.1:";; esac cat <<\_ACEOF @@ -1499,14 +1544,17 @@ Optional Features: --disable-rpath do not hardcode runtime library paths --enable-pinentry-emacs build emacs pinentry --enable-inside-emacs include emacs hack + --enable-pinentry-efl build EFL pinentry --enable-pinentry-gtk2 build GTK+-2 pinentry --enable-pinentry-gnome3 build GNOME 3 pinentry --enable-libsecret optionally cache passphrases using libsecret - --enable-pinentry-qt build qt pinentry + --enable-pinentry-qt build Qt5 pinentry --disable-pinentry-qt5 Don't use qt5 even if it is available. + --enable-pinentry-qt4 build Qt4 pinentry --enable-pinentry-tqt build tqt pinentry --enable-pinentry-fltk build FLTK 1.3 pinentry + --disable-doc do not build the documentation Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1516,14 +1564,11 @@ Optional Packages: --with-libassuan-prefix=PFX prefix where LIBASSUAN is installed (optional) - --without-libcap Disable support for capabilities library --with-ncurses-include-dir=DIR - Set directory containing the include files for - use with -lncurses, when it isn't installed as - the default curses library. If DIR is "none", - then no special ncurses include files are used. - --without-ncurses-include-dir - Equivalent to --with-ncurses-include-dir=none + Set directory containing the include files for use + with -lncurses, when it isn't installed as the + default curses library. If DIR is "none", then no + special ncurses include files are used. --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir @@ -1544,6 +1589,8 @@ Some influential environment variables: C compiler flags for NCURSES, overriding pkg-config NCURSES_LIBS linker flags for NCURSES, overriding pkg-config + EFL_CFLAGS C compiler flags for EFL, overriding pkg-config + EFL_LIBS linker flags for EFL, overriding pkg-config GTK2_CFLAGS C compiler flags for GTK2, overriding pkg-config GTK2_LIBS linker flags for GTK2, overriding pkg-config GNOME3_CFLAGS @@ -1553,6 +1600,13 @@ Some influential environment variables: C compiler flags for LIBSECRET, overriding pkg-config LIBSECRET_LIBS linker flags for LIBSECRET, overriding pkg-config + LIBX11_CFLAGS + C compiler flags for LIBX11, overriding pkg-config + LIBX11_LIBS linker flags for LIBX11, overriding pkg-config + KF5WAYLANDCLIENT_CFLAGS + C compiler flags for KF5WAYLANDCLIENT, overriding pkg-config + KF5WAYLANDCLIENT_LIBS + linker flags for KF5WAYLANDCLIENT, overriding pkg-config PINENTRY_QT_CFLAGS C compiler flags for PINENTRY_QT, overriding pkg-config PINENTRY_QT_LIBS @@ -1563,6 +1617,15 @@ Some influential environment variables: PINENTRY_QT_REQUIRE_CPP11_LIBS linker flags for PINENTRY_QT_REQUIRE_CPP11, overriding pkg-config + PINENTRY_QT_X11_EXTRAS_CFLAGS + C compiler flags for PINENTRY_QT_X11_EXTRAS, overriding + pkg-config + PINENTRY_QT_X11_EXTRAS_LIBS + linker flags for PINENTRY_QT_X11_EXTRAS, overriding pkg-config + PINENTRY_QT4_CFLAGS + C compiler flags for PINENTRY_QT4, overriding pkg-config + PINENTRY_QT4_LIBS + linker flags for PINENTRY_QT4, overriding pkg-config PINENTRY_TQT_CFLAGS C compiler flags for PINENTRY_TQT, overriding pkg-config PINENTRY_TQT_LIBS @@ -1634,7 +1697,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -pinentry configure 1.1.0 +pinentry configure 1.2.1 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2091,11 +2154,65 @@ $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_find_uintX_t + +# ac_fn_c_check_type LINENO TYPE VAR INCLUDES +# ------------------------------------------- +# Tests whether TYPE exists after having included INCLUDES, setting cache +# variable VAR accordingly. +ac_fn_c_check_type () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + eval "$3=no" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof ($2)) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +int +main () +{ +if (sizeof (($2))) + return 0; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + eval "$3=yes" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_type cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by pinentry $as_me 1.1.0, which was +It was created by pinentry $as_me 1.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2476,7 +2593,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. ac_config_headers="$ac_config_headers config.h" -am__api_version='1.14' +am__api_version='1.16' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or @@ -2652,12 +2769,7 @@ program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` am_aux_dir=`cd "$ac_aux_dir" && pwd` if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac + MISSING="\${SHELL} '$am_aux_dir/missing'" fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then @@ -2668,7 +2780,7 @@ else $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi -if test x"${install_sh}" != xset; then +if test x"${install_sh+set}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; @@ -2962,7 +3074,7 @@ fi # Define the identity of the package. PACKAGE='pinentry' - VERSION='1.1.0' + VERSION='1.2.1' cat >>confdefs.h <<_ACEOF @@ -2992,12 +3104,12 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: -# -# +# +# mkdir_p='$(MKDIR_P)' -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. +# We need awk for the "check" target (and possibly the TAP driver). The +# system "awk" is bad on some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' @@ -3044,7 +3156,7 @@ END Aborting the configuration process, to ensure you take notice of the issue. You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . +that behaves properly: . If you want to complete the configuration process using your problematic 'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM @@ -3060,45 +3172,45 @@ DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" - -am_make=${MAKE-make} -cat > confinc << 'END' +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5 +$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; } +cat > confinc.mk << 'END' am__doit: - @echo this is the am__doit target + @echo this is the am__doit target >confinc.out .PHONY: am__doit END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD +# BSD make does it like this. +echo '.include "confinc.mk" # ignored' > confmf.BSD +# Other make implementations (GNU, Solaris 10, AIX) do it like this. +echo 'include confinc.mk # ignored' > confmf.GNU +_am_result=no +for s in GNU BSD; do + { echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5 + (${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + case $?:`cat confinc.out 2>/dev/null` in #( + '0:this is the am__doit target') : + case $s in #( + BSD) : + am__include='.include' am__quote='"' ;; #( + *) : + am__include='include' am__quote='' ;; +esac ;; #( + *) : ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf +esac + if test "$am__include" != "#"; then + _am_result="yes ($s style)" + break + fi +done +rm -f confinc.* confmf.* +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5 +$as_echo "${_am_result}" >&6; } # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : @@ -4556,7 +4668,6 @@ $as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5 $as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; } # Check whether --enable-maintainer-mode was given. @@ -6620,118 +6731,6 @@ fi # Checks for header files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - for ac_header in string.h unistd.h langinfo.h termio.h locale.h utime.h wchar.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` @@ -6746,7 +6745,7 @@ fi done -for ac_func in seteuid stpcpy mmap +for ac_func in seteuid stpcpy mmap stat do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -6846,18 +6845,18 @@ int main () { - int i; +int i; - /* glibc defines this for functions which it implements - * to always fail with ENOSYS. Some functions are actually - * named something starting with __ and the normal name - * is an alias. */ - #if defined (__stub_mlock) || defined (__stub___mlock) - choke me - #else - mlock(&i, 4); - #endif - ; return 0; +/* glibc defines this for functions which it implements + * to always fail with ENOSYS. Some functions are actually + * named something starting with __ and the normal name + * is an alias. */ +#if defined (__stub_mlock) || defined (__stub___mlock) +choke me +#else +mlock(&i, 4); +#endif +; return 0; ; return 0; @@ -6881,6 +6880,18 @@ $as_echo "#define HAVE_MLOCK 1" >>confdefs.h fi fi if test "$ac_cv_func_mlock" = "yes"; then + for ac_func in sysconf getpagesize +do : + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" +if eval test \"x\$"$as_ac_var"\" = x"yes"; then : + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mlock is broken" >&5 $as_echo_n "checking whether mlock is broken... " >&6; } if ${gnupg_cv_have_broken_mlock+:} false; then : @@ -6893,31 +6904,41 @@ else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - #include - #include - #include - #include - #include - #include +#include +#include +#include +#include +#include +#include - int main() - { - char *pool; - int err; - long int pgsize = getpagesize(); +int main() +{ + char *pool; + int err; + long int pgsize; + +#if defined(HAVE_SYSCONF) && defined(_SC_PAGESIZE) + pgsize = sysconf (_SC_PAGESIZE); +#elif defined (HAVE_GETPAGESIZE) + pgsize = getpagesize(); +#else + pgsize = -1; +#endif - pool = malloc( 4096 + pgsize ); - if( !pool ) - return 2; - pool += (pgsize - ((long int)pool % pgsize)); + if (pgsize == -1) + pgsize = 4096; - err = mlock( pool, 4096 ); - if( !err || errno == EPERM ) - return 0; /* okay */ + pool = malloc( 4096 + pgsize ); + if( !pool ) + return 2; + pool += (pgsize - ((size_t)pool % pgsize)); - return 1; /* hmmm */ - } + err = mlock( pool, 4096 ); + if( !err || errno == EPERM || errno == EAGAIN) + return 0; /* okay */ + return 1; /* hmmm */ +} _ACEOF if ac_fn_c_try_run "$LINENO"; then : @@ -6938,17 +6959,6 @@ $as_echo "#define HAVE_BROKEN_MLOCK 1" >>confdefs.h { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - for ac_func in plock -do : - ac_fn_c_check_func "$LINENO" "plock" "ac_cv_func_plock" -if test "x$ac_cv_func_plock" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_PLOCK 1 -_ACEOF - -fi -done - else if test "$gnupg_cv_have_broken_mlock" = "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 @@ -7067,16 +7077,131 @@ fi min_gpg_error_version="$NEED_GPG_ERROR_VERSION" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5 -$as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; } ok=no - if test "$GPG_ERROR_CONFIG" != "no" \ - && test -f "$GPG_ERROR_CONFIG" ; then + + # Extract the first word of "gpgrt-config", so it can be a program name with args. +set dummy gpgrt-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_GPGRT_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $GPGRT_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_GPGRT_CONFIG="$GPGRT_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_dummy="$prefix/bin:$PATH" +for as_dir in $as_dummy +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_GPGRT_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_GPGRT_CONFIG" && ac_cv_path_GPGRT_CONFIG="no" + ;; +esac +fi +GPGRT_CONFIG=$ac_cv_path_GPGRT_CONFIG +if test -n "$GPGRT_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GPGRT_CONFIG" >&5 +$as_echo "$GPGRT_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + if test "$GPGRT_CONFIG" != "no"; then + # Determine gpgrt_libdir + # + # Get the prefix of gpgrt-config assuming it's something like: + # /bin/gpgrt-config + gpgrt_prefix=${GPGRT_CONFIG%/*/*} + possible_libdir1=${gpgrt_prefix}/lib + # Determine by using system libdir-format with CC, it's like: + # Normal style: /usr/lib + # GNU cross style: /usr//lib + # Debian style: /usr/lib/ + # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 + # It is assumed that CC is specified to the one of host on cross build. + if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ + sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ +/g;p;}"); then + # From the output of -print-search-dirs, select valid pkgconfig dirs. + libdir_candidates=$(for dir in $libdir_candidates; do + if p=$(cd $dir 2>/dev/null && pwd); then + test -d "$p/pkgconfig" && echo $p; + fi + done) + + for possible_libdir0 in $libdir_candidates; do + # possible_libdir0: + # Fallback candidate, the one of system-installed (by $CC) + # (/usr//lib, /usr/lib/ or /usr/lib32) + # possible_libdir1: + # Another candidate, user-locally-installed + # (/lib) + # possible_libdir2 + # Most preferred + # (//lib, + # /lib/ or /lib32) + if test "${possible_libdir0##*/}" = "lib"; then + possible_prefix0=${possible_libdir0%/lib} + possible_prefix0_triplet=${possible_prefix0##*/} + if test -z "$possible_prefix0_triplet"; then + continue + fi + possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib + else + possible_prefix0=${possible_libdir0%%/lib*} + possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} + fi + if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir2} + elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir1} + elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir0} + fi + if test -n "$gpgrt_libdir"; then break; fi + done + else + # When we cannot determine system libdir-format, use this: + gpgrt_libdir=${possible_libdir1} + fi + else + unset GPGRT_CONFIG + fi + + if test -n "$gpgrt_libdir"; then + GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" + if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then + GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" + { $as_echo "$as_me:${as_lineno-$LINENO}: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&5 +$as_echo "$as_me: Use gpgrt-config with $gpgrt_libdir as gpg-error-config" >&6;} + gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` + else + unset GPGRT_CONFIG + fi + elif test "$GPG_ERROR_CONFIG" != "no"; then + gpg_error_config_version=`$GPG_ERROR_CONFIG --version` + unset GPGRT_CONFIG + fi + if test "$GPG_ERROR_CONFIG" != "no"; then req_major=`echo $min_gpg_error_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)/\1/'` req_minor=`echo $min_gpg_error_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)/\2/'` - gpg_error_config_version=`$GPG_ERROR_CONFIG $gpg_error_config_args --version` major=`echo $gpg_error_config_version | \ sed 's/\([0-9]*\)\.\([0-9]*\).*/\1/'` minor=`echo $gpg_error_config_version | \ @@ -7091,31 +7216,44 @@ $as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; fi fi fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPG Error - version >= $min_gpg_error_version" >&5 +$as_echo_n "checking for GPG Error - version >= $min_gpg_error_version... " >&6; } if test $ok = yes; then - GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --cflags` - GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --libs` - GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --cflags 2>/dev/null` - GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG $gpg_error_config_args --mt --libs 2>/dev/null` + GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` + GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` + if test -z "$GPGRT_CONFIG"; then + GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` + GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` + else + GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` + GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" + GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` + GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" + fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes ($gpg_error_config_version)" >&5 $as_echo "yes ($gpg_error_config_version)" >&6; } have_gpg_error=yes - gpg_error_config_host=`$GPG_ERROR_CONFIG $gpg_error_config_args --host 2>/dev/null || echo none` + if test -z "$GPGRT_CONFIG"; then + gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` + else + gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` + fi if test x"$gpg_error_config_host" != xnone ; then if test x"$gpg_error_config_host" != x"$host" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** -*** The config script $GPG_ERROR_CONFIG was +*** The config script \"$GPG_ERROR_CONFIG\" was *** built for $gpg_error_config_host and thus may not match the *** used host $host. -*** You may want to use the configure option --with-gpg-error-prefix +*** You may want to use the configure option --with-libgpg-error-prefix *** to specify a matching config script or use \$SYSROOT. ***" >&5 $as_echo "$as_me: WARNING: *** -*** The config script $GPG_ERROR_CONFIG was +*** The config script \"$GPG_ERROR_CONFIG\" was *** built for $gpg_error_config_host and thus may not match the *** used host $host. -*** You may want to use the configure option --with-gpg-error-prefix +*** You may want to use the configure option --with-libgpg-error-prefix *** to specify a matching config script or use \$SYSROOT. ***" >&2;} gpg_config_script_warn="$gpg_config_script_warn libgpg-error" @@ -7167,29 +7305,23 @@ else fi if test x$libassuan_config_prefix != x ; then - libassuan_config_args="$libassuan_config_args --prefix=$libassuan_config_prefix" if test x${LIBASSUAN_CONFIG+set} != xset ; then LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config fi - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/libassuan-config" ; then - LIBASSUAN_CONFIG="${SYSROOT}/bin/libassuan-config" - fi - ;; - '') - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&5 -$as_echo "$as_me: WARNING: Ignoring \$SYSROOT as it is not an absolute path." >&2;} - ;; - esac fi - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}libassuan-config", so it can be a program name with args. -set dummy ${ac_tool_prefix}libassuan-config; ac_word=$2 + use_gpgrt_config="" + if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then + if $GPGRT_CONFIG libassuan --exists; then + LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" + { $as_echo "$as_me:${as_lineno-$LINENO}: Use gpgrt-config as libassuan-config" >&5 +$as_echo "$as_me: Use gpgrt-config as libassuan-config" >&6;} + use_gpgrt_config=yes + fi + fi + if test -z "$use_gpgrt_config"; then + # Extract the first word of "libassuan-config", so it can be a program name with args. +set dummy libassuan-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_LIBASSUAN_CONFIG+:} false; then : @@ -7215,6 +7347,7 @@ done done IFS=$as_save_IFS + test -z "$ac_cv_path_LIBASSUAN_CONFIG" && ac_cv_path_LIBASSUAN_CONFIG="no" ;; esac fi @@ -7228,63 +7361,7 @@ $as_echo "no" >&6; } fi -fi -if test -z "$ac_cv_path_LIBASSUAN_CONFIG"; then - ac_pt_LIBASSUAN_CONFIG=$LIBASSUAN_CONFIG - # Extract the first word of "libassuan-config", so it can be a program name with args. -set dummy libassuan-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_ac_pt_LIBASSUAN_CONFIG+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $ac_pt_LIBASSUAN_CONFIG in - [\\/]* | ?:[\\/]*) - ac_cv_path_ac_pt_LIBASSUAN_CONFIG="$ac_pt_LIBASSUAN_CONFIG" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_ac_pt_LIBASSUAN_CONFIG="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - ;; -esac -fi -ac_pt_LIBASSUAN_CONFIG=$ac_cv_path_ac_pt_LIBASSUAN_CONFIG -if test -n "$ac_pt_LIBASSUAN_CONFIG"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_LIBASSUAN_CONFIG" >&5 -$as_echo "$ac_pt_LIBASSUAN_CONFIG" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_pt_LIBASSUAN_CONFIG" = x; then - LIBASSUAN_CONFIG="no" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIBASSUAN_CONFIG=$ac_pt_LIBASSUAN_CONFIG fi -else - LIBASSUAN_CONFIG="$ac_cv_path_LIBASSUAN_CONFIG" -fi - tmp="$NEED_LIBASSUAN_API:$NEED_LIBASSUAN_VERSION" if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then @@ -7298,8 +7375,7 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBASSUAN - version >= $min_libassuan_version" >&5 $as_echo_n "checking for LIBASSUAN - version >= $min_libassuan_version... " >&6; } ok=no - if test "$LIBASSUAN_CONFIG" != "no" \ - && test -f "$LIBASSUAN_CONFIG" ; then + if test "$LIBASSUAN_CONFIG" != "no"; then req_major=`echo $min_libassuan_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\1/'` req_minor=`echo $min_libassuan_version | \ @@ -7307,7 +7383,11 @@ $as_echo_n "checking for LIBASSUAN - version >= $min_libassuan_version... " >&6; req_micro=`echo $min_libassuan_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)/\3/'` - libassuan_config_version=`$LIBASSUAN_CONFIG --version` + if test -z "$use_gpgrt_config"; then + libassuan_config_version=`$LIBASSUAN_CONFIG --version` + else + libassuan_config_version=`$LIBASSUAN_CONFIG --modversion` + fi major=`echo $libassuan_config_version | \ sed 's/\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\).*/\1/'` minor=`echo $libassuan_config_version | \ @@ -7342,7 +7422,11 @@ $as_echo "no" >&6; } if test $ok = yes; then if test "$req_libassuan_api" -gt 0 ; then - tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` + if test -z "$use_gpgrt_config"; then + tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` + else + tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0` + fi if test "$tmp" -gt 0 ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBASSUAN API version" >&5 $as_echo_n "checking LIBASSUAN API version... " >&6; } @@ -7360,24 +7444,28 @@ $as_echo "does not match. want=$req_libassuan_api got=$tmp." >&6; } if test $ok = yes; then if test x"$host" != x ; then - libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` + if test -z "$use_gpgrt_config"; then + libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` + else + libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none` + fi if test x"$libassuan_config_host" != xnone ; then if test x"$libassuan_config_host" != x"$host" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: *** -*** The config script $LIBASSUAN_CONFIG was +*** The config script \"$LIBASSUAN_CONFIG\" was *** built for $libassuan_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script or use \$SYSROOT. +*** to specify a matching config script. ***" >&5 $as_echo "$as_me: WARNING: *** -*** The config script $LIBASSUAN_CONFIG was +*** The config script \"$LIBASSUAN_CONFIG\" was *** built for $libassuan_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script or use \$SYSROOT. +*** to specify a matching config script. ***" >&2;} fi fi @@ -7385,8 +7473,8 @@ $as_echo "$as_me: WARNING: fi if test $ok = yes; then - LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags` - LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs` + LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags` + LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs` have_libassuan=yes else LIBASSUAN_CFLAGS="" @@ -7408,175 +7496,31 @@ COMMON_CFLAGS="$LIBASSUAN_CFLAGS $COMMON_CFLAGS" COMMON_LIBS="$LIBASSUAN_LIBS $COMMON_LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for byte typedef" >&5 -$as_echo_n "checking for byte typedef... " >&6; } - if ${gnupg_cv_typedef_byte+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _GNU_SOURCE 1 - #include - #include -int -main () -{ - - #undef byte - int a = sizeof(byte); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gnupg_cv_typedef_byte=yes -else - gnupg_cv_typedef_byte=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnupg_cv_typedef_byte" >&5 -$as_echo "$gnupg_cv_typedef_byte" >&6; } - if test "$gnupg_cv_typedef_byte" = yes; then - -$as_echo "#define HAVE_BYTE_TYPEDEF 1" >>confdefs.h - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ulong typedef" >&5 -$as_echo_n "checking for ulong typedef... " >&6; } - if ${gnupg_cv_typedef_ulong+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _GNU_SOURCE 1 - #include - #include -int -main () -{ - - #undef ulong - int a = sizeof(ulong); +ac_fn_c_check_type "$LINENO" "byte" "ac_cv_type_byte" "$ac_includes_default" +if test "x$ac_cv_type_byte" = xyes; then : - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define HAVE_BYTE 1 _ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gnupg_cv_typedef_ulong=yes -else - gnupg_cv_typedef_ulong=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gnupg_cv_typedef_ulong" >&5 -$as_echo "$gnupg_cv_typedef_ulong" >&6; } - if test "$gnupg_cv_typedef_ulong" = yes; then - -$as_echo "#define HAVE_ULONG_TYPEDEF 1" >>confdefs.h - - fi - -# Check whether --with-libcap was given. -if test "${with_libcap+set}" = set; then : - withval=$with_libcap; fi +ac_fn_c_check_type "$LINENO" "ulong" "ac_cv_type_ulong" "$ac_includes_default" +if test "x$ac_cv_type_ulong" = xyes; then : +cat >>confdefs.h <<_ACEOF +#define HAVE_ULONG 1 +_ACEOF -if test "x$with_libcap" != "xno"; then - # Extract the first word of "setcap", so it can be a program name with args. -set dummy setcap; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_SETCAP+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $SETCAP in - [\\/]* | ?:[\\/]*) - ac_cv_path_SETCAP="$SETCAP" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_dummy=""$PATH:/sbin:/usr/sbin"" -for as_dir in $as_dummy -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_SETCAP="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - test -z "$ac_cv_path_SETCAP" && ac_cv_path_SETCAP=":" - ;; -esac -fi -SETCAP=$ac_cv_path_SETCAP -if test -n "$SETCAP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SETCAP" >&5 -$as_echo "$SETCAP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } fi +ac_fn_c_check_type "$LINENO" "u64" "ac_cv_type_u64" "$ac_includes_default" +if test "x$ac_cv_type_u64" = xyes; then : - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for cap_set_proc in -lcap" >&5 -$as_echo_n "checking for cap_set_proc in -lcap... " >&6; } -if ${ac_cv_lib_cap_cap_set_proc+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lcap $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char cap_set_proc (); -int -main () -{ -return cap_set_proc (); - ; - return 0; -} +cat >>confdefs.h <<_ACEOF +#define HAVE_U64 1 _ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_cap_cap_set_proc=yes -else - ac_cv_lib_cap_cap_set_proc=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_cap_cap_set_proc" >&5 -$as_echo "$ac_cv_lib_cap_cap_set_proc" >&6; } -if test "x$ac_cv_lib_cap_cap_set_proc" = xyes; then : - - -$as_echo "#define USE_CAPABILITIES 1" >>confdefs.h - LIBCAP=-lcap - -fi fi @@ -8178,6 +8122,7 @@ fi if test "${with_ncurses_include_dir+set}" = set; then : withval=$with_ncurses_include_dir; fi + if test "${with_ncurses_include_dir+set}" = set; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ncurses include dir" >&5 $as_echo_n "checking for ncurses include dir... " >&6; } @@ -9257,14 +9202,16 @@ else am_cv_lib_iconv=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include #include + int main () { iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); ; return 0; } @@ -9279,14 +9226,16 @@ rm -f core conftest.err conftest.$ac_objext \ LIBS="$LIBS $LIBICONV" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ + #include #include + int main () { iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd); ; return 0; } @@ -9304,6 +9253,169 @@ fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 $as_echo "$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 +$as_echo_n "checking for working iconv... " >&6; } +if ${am_cv_func_iconv_works+:} false; then : + $as_echo_n "(cached) " >&6 +else + + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + if test "$cross_compiling" = yes; then : + case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + +int +main () +{ +int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } + return result; + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_run "$LINENO"; then : + am_cv_func_iconv_works=yes +fi +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext +fi + + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 +$as_echo "$am_cv_func_iconv_works" >&6; } + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then $as_echo "#define HAVE_ICONV 1" >>confdefs.h @@ -9337,7 +9449,7 @@ extern #ifdef __cplusplus "C" #endif -#if defined(__STDC__) || defined(__cplusplus) +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); @@ -9361,16 +9473,19 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi am_cv_proto_iconv=`echo "$am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${ac_t:- - }$am_cv_proto_iconv" >&5 -$as_echo "${ac_t:- - }$am_cv_proto_iconv" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: + $am_cv_proto_iconv" >&5 +$as_echo " + $am_cv_proto_iconv" >&6; } + else + am_cv_proto_iconv_arg1="" + fi cat >>confdefs.h <<_ACEOF #define ICONV_CONST $am_cv_proto_iconv_arg1 _ACEOF - fi + if test "$am_cv_func_iconv" != "yes"; then as_fn_error $? " @@ -9476,39 +9591,31 @@ fi -# Check whether --enable-pinentry-gtk2 was given. -if test "${enable_pinentry_gtk2+set}" = set; then : - enableval=$enable_pinentry_gtk2; pinentry_gtk_2=$enableval -else - pinentry_gtk_2=maybe -fi - - -# Check whether --enable-pinentry-gnome3 was given. -if test "${enable_pinentry_gnome3+set}" = set; then : - enableval=$enable_pinentry_gnome3; pinentry_gnome_3=$enableval +# Check whether --enable-pinentry-efl was given. +if test "${enable_pinentry_efl+set}" = set; then : + enableval=$enable_pinentry_efl; pinentry_efl=$enableval else - pinentry_gnome_3=maybe + pinentry_efl=maybe fi -if test "$pinentry_gtk_2" != "no"; then +if test "$pinentry_efl" != "no"; then pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.4.0" >&5 -$as_echo_n "checking for gtk+-2.0 >= 2.4.0... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for elementary >= 1.18,ecore-x" >&5 +$as_echo_n "checking for elementary >= 1.18,ecore-x... " >&6; } if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_CFLAGS"; then - pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" + if test -n "$EFL_CFLAGS"; then + pkg_cv_EFL_CFLAGS="$EFL_CFLAGS" else if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.4.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.4.0") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"elementary >= 1.18,ecore-x\""; } >&5 + ($PKG_CONFIG --exists --print-errors "elementary >= 1.18,ecore-x") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.4.0" 2>/dev/null` + pkg_cv_EFL_CFLAGS=`$PKG_CONFIG --cflags "elementary >= 1.18,ecore-x" 2>/dev/null` else pkg_failed=yes fi @@ -9517,16 +9624,16 @@ else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then - if test -n "$GTK2_LIBS"; then - pkg_cv_GTK2_LIBS="$GTK2_LIBS" + if test -n "$EFL_LIBS"; then + pkg_cv_EFL_LIBS="$EFL_LIBS" else if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.4.0\""; } >&5 - ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.4.0") 2>&5 + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"elementary >= 1.18,ecore-x\""; } >&5 + ($PKG_CONFIG --exists --print-errors "elementary >= 1.18,ecore-x") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.4.0" 2>/dev/null` + pkg_cv_EFL_LIBS=`$PKG_CONFIG --libs "elementary >= 1.18,ecore-x" 2>/dev/null` else pkg_failed=yes fi @@ -9545,42 +9652,166 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.4.0"` + EFL_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "elementary >= 1.18,ecore-x"` else - GTK2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.4.0"` + EFL_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "elementary >= 1.18,ecore-x"` fi # Put the nasty error message in config.log where it belongs - echo "$GTK2_PKG_ERRORS" >&5 + echo "$EFL_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} - pinentry_gtk_2=no + if test "$pinentry_efl" = "yes"; then + as_fn_error $? " +*** +*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. +***" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the modules elementary or ecore-x" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the modules elementary or ecore-x" >&2;} + fi + pinentry_efl=no elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 -$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} - pinentry_gtk_2=no + if test "$pinentry_efl" = "yes"; then + as_fn_error $? " +*** +*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. +***" "$LINENO" 5 + else + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the modules elementary or ecore-x" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the modules elementary or ecore-x" >&2;} + fi + pinentry_efl=no else - GTK2_CFLAGS=$pkg_cv_GTK2_CFLAGS - GTK2_LIBS=$pkg_cv_GTK2_LIBS + EFL_CFLAGS=$pkg_cv_EFL_CFLAGS + EFL_LIBS=$pkg_cv_EFL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } - test "$pinentry_gtk_2" != "no" && pinentry_gtk_2=yes - test "$pinentry_gnome_3" != "no" && pinentry_gnome_3=yes + pinentry_efl=yes fi fi - if test "$pinentry_gtk_2" = "yes"; then - BUILD_PINENTRY_GTK_2_TRUE= - BUILD_PINENTRY_GTK_2_FALSE='#' + if test "$pinentry_efl" = "yes"; then + BUILD_PINENTRY_EFL_TRUE= + BUILD_PINENTRY_EFL_FALSE='#' +else + BUILD_PINENTRY_EFL_TRUE='#' + BUILD_PINENTRY_EFL_FALSE= +fi + + +# Check whether --enable-pinentry-gtk2 was given. +if test "${enable_pinentry_gtk2+set}" = set; then : + enableval=$enable_pinentry_gtk2; pinentry_gtk_2=$enableval +else + pinentry_gtk_2=maybe +fi + + +# Check whether --enable-pinentry-gnome3 was given. +if test "${enable_pinentry_gnome3+set}" = set; then : + enableval=$enable_pinentry_gnome3; pinentry_gnome_3=$enableval +else + pinentry_gnome_3=maybe +fi + + +if test "$pinentry_gtk_2" != "no"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gtk+-2.0 >= 2.12.0" >&5 +$as_echo_n "checking for gtk+-2.0 >= 2.12.0... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$GTK2_CFLAGS"; then + pkg_cv_GTK2_CFLAGS="$GTK2_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GTK2_CFLAGS=`$PKG_CONFIG --cflags "gtk+-2.0 >= 2.12.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$GTK2_LIBS"; then + pkg_cv_GTK2_LIBS="$GTK2_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-2.0 >= 2.12.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "gtk+-2.0 >= 2.12.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_GTK2_LIBS=`$PKG_CONFIG --libs "gtk+-2.0 >= 2.12.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + GTK2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12.0"` + else + GTK2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gtk+-2.0 >= 2.12.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$GTK2_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} + pinentry_gtk_2=no + + +elif test $pkg_failed = untried; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module gtk+-2.0" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module gtk+-2.0" >&2;} + pinentry_gtk_2=no + + +else + GTK2_CFLAGS=$pkg_cv_GTK2_CFLAGS + GTK2_LIBS=$pkg_cv_GTK2_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + + test "$pinentry_gtk_2" != "no" && pinentry_gtk_2=yes + test "$pinentry_gnome_3" != "no" && pinentry_gnome_3=yes + +fi +fi + if test "$pinentry_gtk_2" = "yes"; then + BUILD_PINENTRY_GTK_2_TRUE= + BUILD_PINENTRY_GTK_2_FALSE='#' else BUILD_PINENTRY_GTK_2_TRUE='#' BUILD_PINENTRY_GTK_2_FALSE= @@ -9793,6 +10024,182 @@ $as_echo "#define HAVE_LIBSECRET 1" >>confdefs.h COMMON_LIBS="$LIBSECRET_LIBS $COMMON_LIBS" fi +have_x11=no +if test "$have_w32_system" != "yes"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for x11" >&5 +$as_echo_n "checking for x11... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$LIBX11_CFLAGS"; then + pkg_cv_LIBX11_CFLAGS="$LIBX11_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "x11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBX11_CFLAGS=`$PKG_CONFIG --cflags "x11" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$LIBX11_LIBS"; then + pkg_cv_LIBX11_LIBS="$LIBX11_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"x11\""; } >&5 + ($PKG_CONFIG --exists --print-errors "x11") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_LIBX11_LIBS=`$PKG_CONFIG --libs "x11" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + LIBX11_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "x11"` + else + LIBX11_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "x11"` + fi + # Put the nasty error message in config.log where it belongs + echo "$LIBX11_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module x11" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module x11" >&2;} + have_x11=no + + +elif test $pkg_failed = untried; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module x11" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module x11" >&2;} + have_x11=no + + +else + LIBX11_CFLAGS=$pkg_cv_LIBX11_CFLAGS + LIBX11_LIBS=$pkg_cv_LIBX11_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_x11=yes +fi + + if test "$have_x11" = "yes"; then + +$as_echo "#define HAVE_X11 1" >>confdefs.h + + fi +fi + +have_kf5waylandclient=no +if test "$have_w32_system" != "yes"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KF5WaylandClient >= 5.60" >&5 +$as_echo_n "checking for KF5WaylandClient >= 5.60... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$KF5WAYLANDCLIENT_CFLAGS"; then + pkg_cv_KF5WAYLANDCLIENT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"KF5WaylandClient >= 5.60\""; } >&5 + ($PKG_CONFIG --exists --print-errors "KF5WaylandClient >= 5.60") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_KF5WAYLANDCLIENT_CFLAGS=`$PKG_CONFIG --cflags "KF5WaylandClient >= 5.60" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$KF5WAYLANDCLIENT_LIBS"; then + pkg_cv_KF5WAYLANDCLIENT_LIBS="$KF5WAYLANDCLIENT_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"KF5WaylandClient >= 5.60\""; } >&5 + ($PKG_CONFIG --exists --print-errors "KF5WaylandClient >= 5.60") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_KF5WAYLANDCLIENT_LIBS=`$PKG_CONFIG --libs "KF5WaylandClient >= 5.60" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + KF5WAYLANDCLIENT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "KF5WaylandClient >= 5.60"` + else + KF5WAYLANDCLIENT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "KF5WaylandClient >= 5.60"` + fi + # Put the nasty error message in config.log where it belongs + echo "$KF5WAYLANDCLIENT_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module KF5WaylandClient" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module KF5WaylandClient" >&2;} + have_kf5waylandclient=no + + +elif test $pkg_failed = untried; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pkg-config could not find the module KF5WaylandClient" >&5 +$as_echo "$as_me: WARNING: pkg-config could not find the module KF5WaylandClient" >&2;} + have_kf5waylandclient=no + + +else + KF5WAYLANDCLIENT_CFLAGS=$pkg_cv_KF5WAYLANDCLIENT_CFLAGS + KF5WAYLANDCLIENT_LIBS=$pkg_cv_KF5WAYLANDCLIENT_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_kf5waylandclient=yes +fi +fi + # Check whether --enable-pinentry-qt was given. if test "${enable_pinentry_qt+set}" = set; then : enableval=$enable_pinentry_qt; pinentry_qt=$enableval @@ -9965,20 +10372,414 @@ $as_echo "yes" >&6; } require_qt_cpp11="yes" fi - if test "${require_qt_cpp11}" = "yes"; then - PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11" + if test "${require_qt_cpp11}" = "yes"; then + PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11" + fi + + qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` + if test -n "$qtlibdir"; then + if test "$enable_rpath" != "no"; then + PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" + fi + fi + + if test "$have_x11" = "yes"; then + +pkg_failed=no +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Qt5X11Extras >= 5.1.0" >&5 +$as_echo_n "checking for Qt5X11Extras >= 5.1.0... " >&6; } + +if test -n "$PKG_CONFIG"; then + if test -n "$PINENTRY_QT_X11_EXTRAS_CFLAGS"; then + pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS="$PINENTRY_QT_X11_EXTRAS_CFLAGS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5X11Extras >= 5.1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "Qt5X11Extras >= 5.1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS=`$PKG_CONFIG --cflags "Qt5X11Extras >= 5.1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi +if test -n "$PKG_CONFIG"; then + if test -n "$PINENTRY_QT_X11_EXTRAS_LIBS"; then + pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS="$PINENTRY_QT_X11_EXTRAS_LIBS" + else + if test -n "$PKG_CONFIG" && \ + { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"Qt5X11Extras >= 5.1.0\""; } >&5 + ($PKG_CONFIG --exists --print-errors "Qt5X11Extras >= 5.1.0") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then + pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS=`$PKG_CONFIG --libs "Qt5X11Extras >= 5.1.0" 2>/dev/null` +else + pkg_failed=yes +fi + fi +else + pkg_failed=untried +fi + + + +if test $pkg_failed = yes; then + +if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then + _pkg_short_errors_supported=yes +else + _pkg_short_errors_supported=no +fi + if test $_pkg_short_errors_supported = yes; then + PINENTRY_QT_X11_EXTRAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "Qt5X11Extras >= 5.1.0"` + else + PINENTRY_QT_X11_EXTRAS_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "Qt5X11Extras >= 5.1.0"` + fi + # Put the nasty error message in config.log where it belongs + echo "$PINENTRY_QT_X11_EXTRAS_PKG_ERRORS" >&5 + + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&5 +$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&2;} + have_qt5_x11extras="no" + +elif test $pkg_failed = untried; then + + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&5 +$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on X11" >&2;} + have_qt5_x11extras="no" + +else + PINENTRY_QT_X11_EXTRAS_CFLAGS=$pkg_cv_PINENTRY_QT_X11_EXTRAS_CFLAGS + PINENTRY_QT_X11_EXTRAS_LIBS=$pkg_cv_PINENTRY_QT_X11_EXTRAS_LIBS + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + have_qt5_x11extras="yes" +fi + if test "$have_qt5_x11extras" = "yes"; then + PINENTRY_QT_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT_CFLAGS $PINENTRY_QT_X11_EXTRAS_CFLAGS" + PINENTRY_QT_LIBS="$LIBX11_LIBS $PINENTRY_QT_LIBS $PINENTRY_QT_X11_EXTRAS_LIBS" + fi + fi + + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args. +set dummy ${ac_tool_prefix}moc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MOC"; then + ac_cv_prog_MOC="$MOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MOC="${ac_tool_prefix}moc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MOC=$ac_cv_prog_MOC +if test -n "$MOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 +$as_echo "$MOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MOC"; then + ac_ct_MOC=$MOC + # Extract the first word of "moc", so it can be a program name with args. +set dummy moc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MOC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MOC"; then + ac_cv_prog_ac_ct_MOC="$ac_ct_MOC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MOC="moc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MOC=$ac_cv_prog_ac_ct_MOC +if test -n "$ac_ct_MOC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC" >&5 +$as_echo "$ac_ct_MOC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MOC" = x; then + MOC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MOC=$ac_ct_MOC + fi +else + MOC="$ac_cv_prog_MOC" +fi + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 +$as_echo_n "checking moc version... " >&6; } + mocversion=`$MOC -v 2>&1` + mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + # moc was not the qt5 one, try with moc-qt5 + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}moc-qt5", so it can be a program name with args. +set dummy ${ac_tool_prefix}moc-qt5; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_MOC2+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$MOC2"; then + ac_cv_prog_MOC2="$MOC2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_MOC2="${ac_tool_prefix}moc-qt5" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +MOC2=$ac_cv_prog_MOC2 +if test -n "$MOC2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC2" >&5 +$as_echo "$MOC2" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_MOC2"; then + ac_ct_MOC2=$MOC2 + # Extract the first word of "moc-qt5", so it can be a program name with args. +set dummy moc-qt5; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_MOC2+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_MOC2"; then + ac_cv_prog_ac_ct_MOC2="$ac_ct_MOC2" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_MOC2="moc-qt5" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_MOC2=$ac_cv_prog_ac_ct_MOC2 +if test -n "$ac_ct_MOC2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC2" >&5 +$as_echo "$ac_ct_MOC2" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_MOC2" = x; then + MOC2="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + MOC2=$ac_ct_MOC2 + fi +else + MOC2="$ac_cv_prog_MOC2" +fi + + mocversion=`$MOC2 -v 2>&1` + mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args. +set dummy ${ac_tool_prefix}qtchooser; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_QTCHOOSER+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$QTCHOOSER"; then + ac_cv_prog_QTCHOOSER="$QTCHOOSER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_QTCHOOSER="${ac_tool_prefix}qtchooser" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +QTCHOOSER=$ac_cv_prog_QTCHOOSER +if test -n "$QTCHOOSER"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $QTCHOOSER" >&5 +$as_echo "$QTCHOOSER" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_QTCHOOSER"; then + ac_ct_QTCHOOSER=$QTCHOOSER + # Extract the first word of "qtchooser", so it can be a program name with args. +set dummy qtchooser; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_QTCHOOSER+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_QTCHOOSER"; then + ac_cv_prog_ac_ct_QTCHOOSER="$ac_ct_QTCHOOSER" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_QTCHOOSER="qtchooser" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_QTCHOOSER=$ac_cv_prog_ac_ct_QTCHOOSER +if test -n "$ac_ct_QTCHOOSER"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_QTCHOOSER" >&5 +$as_echo "$ac_ct_QTCHOOSER" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_QTCHOOSER" = x; then + QTCHOOSER="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + QTCHOOSER=$ac_ct_QTCHOOSER + fi +else + QTCHOOSER="$ac_cv_prog_QTCHOOSER" +fi + + qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` + mocversion=`$qt5tooldir/moc -v 2>&1` + mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` + if test x"$mocversiongrep" != x"$mocversion"; then + # no valid moc found + have_qt5_libs="no"; + else + MOC=$qt5tooldir/moc + fi + else + MOC=$MOC2 + fi fi if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc; ac_word=$2 + # Extract the first word of "${ac_tool_prefix}rcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}rcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MOC+:} false; then : +if ${ac_cv_prog_RCC+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$MOC"; then - ac_cv_prog_MOC="$MOC" # Let the user override the test. + if test -n "$RCC"; then + ac_cv_prog_RCC="$RCC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -9987,7 +10788,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC="${ac_tool_prefix}moc" + ac_cv_prog_RCC="${ac_tool_prefix}rcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -9997,10 +10798,10 @@ IFS=$as_save_IFS fi fi -MOC=$ac_cv_prog_MOC -if test -n "$MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 -$as_echo "$MOC" >&6; } +RCC=$ac_cv_prog_RCC +if test -n "$RCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RCC" >&5 +$as_echo "$RCC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -10008,17 +10809,17 @@ fi fi -if test -z "$ac_cv_prog_MOC"; then - ac_ct_MOC=$MOC - # Extract the first word of "moc", so it can be a program name with args. -set dummy moc; ac_word=$2 +if test -z "$ac_cv_prog_RCC"; then + ac_ct_RCC=$RCC + # Extract the first word of "rcc", so it can be a program name with args. +set dummy rcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MOC+:} false; then : +if ${ac_cv_prog_ac_ct_RCC+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_MOC"; then - ac_cv_prog_ac_ct_MOC="$ac_ct_MOC" # Let the user override the test. + if test -n "$ac_ct_RCC"; then + ac_cv_prog_ac_ct_RCC="$ac_ct_RCC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10027,7 +10828,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC="moc" + ac_cv_prog_ac_ct_RCC="rcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10037,17 +10838,17 @@ IFS=$as_save_IFS fi fi -ac_ct_MOC=$ac_cv_prog_ac_ct_MOC -if test -n "$ac_ct_MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC" >&5 -$as_echo "$ac_ct_MOC" >&6; } +ac_ct_RCC=$ac_cv_prog_ac_ct_RCC +if test -n "$ac_ct_RCC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RCC" >&5 +$as_echo "$ac_ct_RCC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_MOC" = x; then - MOC="" + if test "x$ac_ct_RCC" = x; then + RCC="" else case $cross_compiling:$ac_tool_warned in yes:) @@ -10055,30 +10856,30 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - MOC=$ac_ct_MOC + RCC=$ac_ct_RCC fi else - MOC="$ac_cv_prog_MOC" + RCC="$ac_cv_prog_RCC" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 -$as_echo_n "checking moc version... " >&6; } - mocversion=`$MOC -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking rcc version" >&5 +$as_echo_n "checking rcc version... " >&6; } + rccversion=`$RCC -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - # moc was not the qt5 one, try with moc-qt5 + # rcc was not the qt5 one, try with rcc-qt5 if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}moc-qt5", so it can be a program name with args. -set dummy ${ac_tool_prefix}moc-qt5; ac_word=$2 + # Extract the first word of "${ac_tool_prefix}rcc-qt5", so it can be a program name with args. +set dummy ${ac_tool_prefix}rcc-qt5; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MOC2+:} false; then : +if ${ac_cv_prog_RCC2+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$MOC2"; then - ac_cv_prog_MOC2="$MOC2" # Let the user override the test. + if test -n "$RCC2"; then + ac_cv_prog_RCC2="$RCC2" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10087,7 +10888,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC2="${ac_tool_prefix}moc-qt5" + ac_cv_prog_RCC2="${ac_tool_prefix}rcc-qt5" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10097,10 +10898,10 @@ IFS=$as_save_IFS fi fi -MOC2=$ac_cv_prog_MOC2 -if test -n "$MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC2" >&5 -$as_echo "$MOC2" >&6; } +RCC2=$ac_cv_prog_RCC2 +if test -n "$RCC2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RCC2" >&5 +$as_echo "$RCC2" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -10108,17 +10909,17 @@ fi fi -if test -z "$ac_cv_prog_MOC2"; then - ac_ct_MOC2=$MOC2 - # Extract the first word of "moc-qt5", so it can be a program name with args. -set dummy moc-qt5; ac_word=$2 +if test -z "$ac_cv_prog_RCC2"; then + ac_ct_RCC2=$RCC2 + # Extract the first word of "rcc-qt5", so it can be a program name with args. +set dummy rcc-qt5; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MOC2+:} false; then : +if ${ac_cv_prog_ac_ct_RCC2+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_MOC2"; then - ac_cv_prog_ac_ct_MOC2="$ac_ct_MOC2" # Let the user override the test. + if test -n "$ac_ct_RCC2"; then + ac_cv_prog_ac_ct_RCC2="$ac_ct_RCC2" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10127,7 +10928,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC2="moc-qt5" + ac_cv_prog_ac_ct_RCC2="rcc-qt5" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10137,17 +10938,17 @@ IFS=$as_save_IFS fi fi -ac_ct_MOC2=$ac_cv_prog_ac_ct_MOC2 -if test -n "$ac_ct_MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC2" >&5 -$as_echo "$ac_ct_MOC2" >&6; } +ac_ct_RCC2=$ac_cv_prog_ac_ct_RCC2 +if test -n "$ac_ct_RCC2"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RCC2" >&5 +$as_echo "$ac_ct_RCC2" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_MOC2" = x; then - MOC2="" + if test "x$ac_ct_RCC2" = x; then + RCC2="" else case $cross_compiling:$ac_tool_warned in yes:) @@ -10155,15 +10956,15 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - MOC2=$ac_ct_MOC2 + RCC2=$ac_ct_RCC2 fi else - MOC2="$ac_cv_prog_MOC2" + RCC2="$ac_cv_prog_RCC2" fi - mocversion=`$MOC2 -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc-qt5 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then + rccversion=`$RCC2 -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc-qt5 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}qtchooser", so it can be a program name with args. set dummy ${ac_tool_prefix}qtchooser; ac_word=$2 @@ -10257,28 +11058,94 @@ else fi qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` - mocversion=`$qt5tooldir/moc -v 2>&1` - mocversiongrep=`echo $mocversion | grep -E "Qt 5|moc 5"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found + rccversion=`$qt5tooldir/rcc -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then + # no valid rcc found have_qt5_libs="no"; else - MOC=$qt5tooldir/moc + RCC=$qt5tooldir/rcc fi else - MOC=$MOC2 + RCC=$RCC2 fi fi + fi + if test "$have_qt5_libs" != "yes"; then + if test "$pinentry_qt" = "yes"; then + as_fn_error $? " + *** + *** Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. + ***" "$LINENO" 5 + else + pinentry_qt=no + fi + fi +fi + + + + + + +if test "$pinentry_qt" != "no"; then + pinentry_qt=yes +fi + if test "$pinentry_qt" = "yes"; then + BUILD_PINENTRY_QT_TRUE= + BUILD_PINENTRY_QT_FALSE='#' +else + BUILD_PINENTRY_QT_TRUE='#' + BUILD_PINENTRY_QT_FALSE= +fi + +if test "$pinentry_qt" = "yes"; then + +$as_echo "#define PINENTRY_QT 1" >>confdefs.h + +fi +if test "$have_qt5_x11extras" = "yes"; then + +$as_echo "#define PINENTRY_QT_X11 1" >>confdefs.h + +fi +if test "$have_kf5waylandclient" = "yes"; then + PINENTRY_QT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS $PINENTRY_QT_CFLAGS -fpic" + PINENTRY_QT_LIBS="$KF5WAYLANDCLIENT_LIBS $PINENTRY_QT_LIBS" + +$as_echo "#define PINENTRY_QT_WAYLAND 1" >>confdefs.h + +else + if test "$have_w32_system" != "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: pinentry-qt will be built without Caps Lock warning on Wayland" >&5 +$as_echo "$as_me: WARNING: pinentry-qt will be built without Caps Lock warning on Wayland" >&2;} + fi +fi + +# Check whether --enable-pinentry-qt4 was given. +if test "${enable_pinentry_qt4+set}" = set; then : + enableval=$enable_pinentry_qt4; pinentry_qt4=$enableval +else + pinentry_qt4=maybe +fi + + + +if test "$pinentry_qt4" != "no"; then + + have_qt4_libs="no"; + + if test "$enable_pinentry_qt4" != "no"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for QtCore >= 4.6.0 QtGui >= 4.6.0" >&5 $as_echo_n "checking for QtCore >= 4.6.0 QtGui >= 4.6.0... " >&6; } if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_CFLAGS"; then - pkg_cv_PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS" + if test -n "$PINENTRY_QT4_CFLAGS"; then + pkg_cv_PINENTRY_QT4_CFLAGS="$PINENTRY_QT4_CFLAGS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.6.0 QtGui >= 4.6.0\""; } >&5 @@ -10286,7 +11153,7 @@ if test -n "$PKG_CONFIG"; then ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` + pkg_cv_PINENTRY_QT4_CFLAGS=`$PKG_CONFIG --cflags "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` else pkg_failed=yes fi @@ -10295,8 +11162,8 @@ else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then - if test -n "$PINENTRY_QT_LIBS"; then - pkg_cv_PINENTRY_QT_LIBS="$PINENTRY_QT_LIBS" + if test -n "$PINENTRY_QT4_LIBS"; then + pkg_cv_PINENTRY_QT4_LIBS="$PINENTRY_QT4_LIBS" else if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"QtCore >= 4.6.0 QtGui >= 4.6.0\""; } >&5 @@ -10304,7 +11171,7 @@ if test -n "$PKG_CONFIG"; then ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_PINENTRY_QT_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` + pkg_cv_PINENTRY_QT4_LIBS=`$PKG_CONFIG --libs "QtCore >= 4.6.0 QtGui >= 4.6.0" 2>/dev/null` else pkg_failed=yes fi @@ -10323,12 +11190,12 @@ else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - PINENTRY_QT_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` + PINENTRY_QT4_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` else - PINENTRY_QT_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` + PINENTRY_QT4_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "QtCore >= 4.6.0 QtGui >= 4.6.0"` fi # Put the nasty error message in config.log where it belongs - echo "$PINENTRY_QT_PKG_ERRORS" >&5 + echo "$PINENTRY_QT4_PKG_ERRORS" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -10336,23 +11203,24 @@ $as_echo "no" >&6; } elif test $pkg_failed = untried; then have_qt4_libs="no" else - PINENTRY_QT_CFLAGS=$pkg_cv_PINENTRY_QT_CFLAGS - PINENTRY_QT_LIBS=$pkg_cv_PINENTRY_QT_LIBS + PINENTRY_QT4_CFLAGS=$pkg_cv_PINENTRY_QT4_CFLAGS + PINENTRY_QT4_LIBS=$pkg_cv_PINENTRY_QT4_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_qt4_libs="yes" fi - if test "$have_qt4_libs" = "yes"; then - if test -n "$ac_tool_prefix"; then + fi + if test "$have_qt4_libs" = "yes"; then + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}moc", so it can be a program name with args. set dummy ${ac_tool_prefix}moc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MOC+:} false; then : +if ${ac_cv_prog_MOC4+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$MOC"; then - ac_cv_prog_MOC="$MOC" # Let the user override the test. + if test -n "$MOC4"; then + ac_cv_prog_MOC4="$MOC4" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10361,7 +11229,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC="${ac_tool_prefix}moc" + ac_cv_prog_MOC4="${ac_tool_prefix}moc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10371,10 +11239,10 @@ IFS=$as_save_IFS fi fi -MOC=$ac_cv_prog_MOC -if test -n "$MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC" >&5 -$as_echo "$MOC" >&6; } +MOC4=$ac_cv_prog_MOC4 +if test -n "$MOC4"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC4" >&5 +$as_echo "$MOC4" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -10382,17 +11250,17 @@ fi fi -if test -z "$ac_cv_prog_MOC"; then - ac_ct_MOC=$MOC +if test -z "$ac_cv_prog_MOC4"; then + ac_ct_MOC4=$MOC4 # Extract the first word of "moc", so it can be a program name with args. set dummy moc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MOC+:} false; then : +if ${ac_cv_prog_ac_ct_MOC4+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_MOC"; then - ac_cv_prog_ac_ct_MOC="$ac_ct_MOC" # Let the user override the test. + if test -n "$ac_ct_MOC4"; then + ac_cv_prog_ac_ct_MOC4="$ac_ct_MOC4" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10401,7 +11269,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC="moc" + ac_cv_prog_ac_ct_MOC4="moc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10411,17 +11279,17 @@ IFS=$as_save_IFS fi fi -ac_ct_MOC=$ac_cv_prog_ac_ct_MOC -if test -n "$ac_ct_MOC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC" >&5 -$as_echo "$ac_ct_MOC" >&6; } +ac_ct_MOC4=$ac_cv_prog_ac_ct_MOC4 +if test -n "$ac_ct_MOC4"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC4" >&5 +$as_echo "$ac_ct_MOC4" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_MOC" = x; then - MOC="" + if test "x$ac_ct_MOC4" = x; then + MOC4="" else case $cross_compiling:$ac_tool_warned in yes:) @@ -10429,30 +11297,30 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - MOC=$ac_ct_MOC + MOC4=$ac_ct_MOC4 fi else - MOC="$ac_cv_prog_MOC" + MOC4="$ac_cv_prog_MOC4" fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 + { $as_echo "$as_me:${as_lineno-$LINENO}: checking moc version" >&5 $as_echo_n "checking moc version... " >&6; } - mocversion=`$MOC -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 + mocversion=`$MOC4 -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 4"` + if test x"$mocversiongrep" != x"$mocversion"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } - # moc was not the qt4 one, try with moc-qt4 - if test -n "$ac_tool_prefix"; then + # moc was not the qt4 one, try with moc-qt4 + if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}moc-qt4", so it can be a program name with args. set dummy ${ac_tool_prefix}moc-qt4; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MOC2+:} false; then : +if ${ac_cv_prog_MOC42+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$MOC2"; then - ac_cv_prog_MOC2="$MOC2" # Let the user override the test. + if test -n "$MOC42"; then + ac_cv_prog_MOC42="$MOC42" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10461,7 +11329,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MOC2="${ac_tool_prefix}moc-qt4" + ac_cv_prog_MOC42="${ac_tool_prefix}moc-qt4" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10471,10 +11339,10 @@ IFS=$as_save_IFS fi fi -MOC2=$ac_cv_prog_MOC2 -if test -n "$MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC2" >&5 -$as_echo "$MOC2" >&6; } +MOC42=$ac_cv_prog_MOC42 +if test -n "$MOC42"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MOC42" >&5 +$as_echo "$MOC42" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } @@ -10482,17 +11350,17 @@ fi fi -if test -z "$ac_cv_prog_MOC2"; then - ac_ct_MOC2=$MOC2 +if test -z "$ac_cv_prog_MOC42"; then + ac_ct_MOC42=$MOC42 # Extract the first word of "moc-qt4", so it can be a program name with args. set dummy moc-qt4; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MOC2+:} false; then : +if ${ac_cv_prog_ac_ct_MOC42+:} false; then : $as_echo_n "(cached) " >&6 else - if test -n "$ac_ct_MOC2"; then - ac_cv_prog_ac_ct_MOC2="$ac_ct_MOC2" # Let the user override the test. + if test -n "$ac_ct_MOC42"; then + ac_cv_prog_ac_ct_MOC42="$ac_ct_MOC42" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -10501,7 +11369,7 @@ do test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MOC2="moc-qt4" + ac_cv_prog_ac_ct_MOC42="moc-qt4" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -10511,17 +11379,17 @@ IFS=$as_save_IFS fi fi -ac_ct_MOC2=$ac_cv_prog_ac_ct_MOC2 -if test -n "$ac_ct_MOC2"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC2" >&5 -$as_echo "$ac_ct_MOC2" >&6; } +ac_ct_MOC42=$ac_cv_prog_ac_ct_MOC42 +if test -n "$ac_ct_MOC42"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MOC42" >&5 +$as_echo "$ac_ct_MOC42" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi - if test "x$ac_ct_MOC2" = x; then - MOC2="" + if test "x$ac_ct_MOC42" = x; then + MOC42="" else case $cross_compiling:$ac_tool_warned in yes:) @@ -10529,33 +11397,32 @@ yes:) $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac - MOC2=$ac_ct_MOC2 + MOC42=$ac_ct_MOC42 fi else - MOC2="$ac_cv_prog_MOC2" + MOC42="$ac_cv_prog_MOC42" fi - mocversion=`$MOC2 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt4_libs="no"; - MOC="not found" - else - MOC=$MOC2 - fi + mocversion=`$MOC42 -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 4"` + if test x"$mocversiongrep" != x"$mocversion"; then + # no valid moc found + have_qt4_libs="no"; + MOC4="not found" + else + MOC4=$MOC42 fi fi fi - if test "$have_qt4_libs" != "yes" -a "$have_qt5_libs" != "yes"; then - if test "$pinentry_qt" = "yes"; then + if test "$have_qt4_libs" != "yes"; then + if test "$pinentry_qt4" = "yes"; then as_fn_error $? " *** - *** Qt4 (QtCore, QtGui) or Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. + *** Qt4 (QtCore, QtGui) is required. ***" "$LINENO" 5 else - pinentry_qt=no + pinentry_qt4=no fi fi fi @@ -10564,26 +11431,22 @@ fi -if test "$pinentry_qt" != "no"; then - pinentry_qt=yes + +if test "$pinentry_qt4" != "no"; then + pinentry_qt4=yes fi - if test "$pinentry_qt" = "yes"; then - BUILD_PINENTRY_QT_TRUE= - BUILD_PINENTRY_QT_FALSE='#' + if test "$pinentry_qt4" = "yes"; then + BUILD_PINENTRY_QT4_TRUE= + BUILD_PINENTRY_QT4_FALSE='#' else - BUILD_PINENTRY_QT_TRUE='#' - BUILD_PINENTRY_QT_FALSE= + BUILD_PINENTRY_QT4_TRUE='#' + BUILD_PINENTRY_QT4_FALSE= fi -if test "$pinentry_qt" = "yes"; then +if test "$pinentry_qt4" = "yes"; then -$as_echo "#define PINENTRY_QT 1" >>confdefs.h +$as_echo "#define PINENTRY_QT4 1" >>confdefs.h - if test "$have_qt4_libs" = "yes"; then - pinentry_qt_lib_version="(Qt4)" - else - pinentry_qt_lib_version="(Qt5)" - fi fi # Check whether --enable-pinentry-tqt was given. @@ -10600,7 +11463,8 @@ if test "$pinentry_tqt" != "no"; then as_fn_error $? " *** *** Building both Qt and TQt pinentries is not supported. - *** Use --disable-pinentry-qt if you want the TQt pinentry. + *** Use --disable-pinentry-qt and --disable-pinentry-qt4 + *** if you want the TQt pinentry. ***" "$LINENO" 5 fi @@ -11060,7 +11924,15 @@ else if test "$pinentry_tqt" = "yes"; then PINENTRY_DEFAULT=pinentry-tqt else - as_fn_error $? "No pinentry enabled." "$LINENO" 5 + if test "$pinentry_efl" = "yes"; then + PINENTRY_DEFAULT=pinentry-efl + else + if test "$pinentry_qt4" = "yes"; then + PINENTRY_DEFAULT=pinentry-qt4 + else + as_fn_error $? "No pinentry enabled." "$LINENO" 5 + fi + fi fi fi fi @@ -11134,8 +12006,25 @@ fi # +build_doc=yes +# Check whether --enable-doc was given. +if test "${enable_doc+set}" = set; then : + enableval=$enable_doc; build_doc=$enableval +else + build_doc=yes +fi + + if test "x$build_doc" != xno; then + BUILD_DOC_TRUE= + BUILD_DOC_FALSE='#' +else + BUILD_DOC_TRUE='#' + BUILD_DOC_FALSE= +fi + + -ac_config_files="$ac_config_files m4/Makefile secmem/Makefile pinentry/Makefile curses/Makefile tty/Makefile emacs/Makefile gtk+-2/Makefile gnome3/Makefile qt/Makefile tqt/Makefile w32/Makefile fltk/Makefile doc/Makefile Makefile" +ac_config_files="$ac_config_files m4/Makefile secmem/Makefile pinentry/Makefile curses/Makefile tty/Makefile efl/Makefile emacs/Makefile gtk+-2/Makefile gnome3/Makefile qt/Makefile qt/icons/Makefile qt4/Makefile tqt/Makefile w32/Makefile fltk/Makefile doc/Makefile Makefile" cat >confcache <<\_ACEOF @@ -11232,6 +12121,7 @@ DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= +U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' @@ -11330,6 +12220,10 @@ if test -z "${INSIDE_EMACS_TRUE}" && test -z "${INSIDE_EMACS_FALSE}"; then as_fn_error $? "conditional \"INSIDE_EMACS\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_PINENTRY_EFL_TRUE}" && test -z "${BUILD_PINENTRY_EFL_FALSE}"; then + as_fn_error $? "conditional \"BUILD_PINENTRY_EFL\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_PINENTRY_GTK_2_TRUE}" && test -z "${BUILD_PINENTRY_GTK_2_FALSE}"; then as_fn_error $? "conditional \"BUILD_PINENTRY_GTK_2\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -11346,6 +12240,10 @@ if test -z "${BUILD_PINENTRY_QT_TRUE}" && test -z "${BUILD_PINENTRY_QT_FALSE}"; as_fn_error $? "conditional \"BUILD_PINENTRY_QT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_PINENTRY_QT4_TRUE}" && test -z "${BUILD_PINENTRY_QT4_FALSE}"; then + as_fn_error $? "conditional \"BUILD_PINENTRY_QT4\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${BUILD_PINENTRY_TQT_TRUE}" && test -z "${BUILD_PINENTRY_TQT_FALSE}"; then as_fn_error $? "conditional \"BUILD_PINENTRY_TQT\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -11358,6 +12256,10 @@ if test -z "${BUILD_PINENTRY_FLTK_TRUE}" && test -z "${BUILD_PINENTRY_FLTK_FALSE as_fn_error $? "conditional \"BUILD_PINENTRY_FLTK\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${BUILD_DOC_TRUE}" && test -z "${BUILD_DOC_FALSE}"; then + as_fn_error $? "conditional \"BUILD_DOC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -11755,7 +12657,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by pinentry $as_me 1.1.0, which was +This file was extended by pinentry $as_me 1.2.1, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11821,7 +12723,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -pinentry config.status 1.1.0 +pinentry config.status 1.2.1 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -11940,7 +12842,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" +AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}" _ACEOF @@ -11957,10 +12859,13 @@ do "pinentry/Makefile") CONFIG_FILES="$CONFIG_FILES pinentry/Makefile" ;; "curses/Makefile") CONFIG_FILES="$CONFIG_FILES curses/Makefile" ;; "tty/Makefile") CONFIG_FILES="$CONFIG_FILES tty/Makefile" ;; + "efl/Makefile") CONFIG_FILES="$CONFIG_FILES efl/Makefile" ;; "emacs/Makefile") CONFIG_FILES="$CONFIG_FILES emacs/Makefile" ;; "gtk+-2/Makefile") CONFIG_FILES="$CONFIG_FILES gtk+-2/Makefile" ;; "gnome3/Makefile") CONFIG_FILES="$CONFIG_FILES gnome3/Makefile" ;; "qt/Makefile") CONFIG_FILES="$CONFIG_FILES qt/Makefile" ;; + "qt/icons/Makefile") CONFIG_FILES="$CONFIG_FILES qt/icons/Makefile" ;; + "qt4/Makefile") CONFIG_FILES="$CONFIG_FILES qt4/Makefile" ;; "tqt/Makefile") CONFIG_FILES="$CONFIG_FILES tqt/Makefile" ;; "w32/Makefile") CONFIG_FILES="$CONFIG_FILES w32/Makefile" ;; "fltk/Makefile") CONFIG_FILES="$CONFIG_FILES fltk/Makefile" ;; @@ -12565,29 +13470,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac + # TODO: see whether this extra hack can be removed once we start + # requiring Autoconf 2.70 or later. + case $CONFIG_FILES in #( + *\'*) : + eval set x "$CONFIG_FILES" ;; #( + *) : + set x $CONFIG_FILES ;; #( + *) : + ;; +esac shift - for mf + # Used to flag and report bootstrapping failures. + am_rc=0 + for am_mf do # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line + am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'` + # Check whether this is an Automake generated Makefile which includes + # dependency-tracking related rules and includes. + # Grep'ing the whole file directly is not great: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | + sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \ + || continue + am_dirpart=`$as_dirname -- "$am_mf" || +$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$am_mf" : 'X\(//\)[^/]' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$am_mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q @@ -12605,53 +13516,50 @@ $as_echo X"$mf" | q } s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ + am_filepart=`$as_basename -- "$am_mf" || +$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \ + X"$am_mf" : 'X\(//\)$' \| \ + X"$am_mf" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$am_mf" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } - /^X\(\/\/\)$/{ + /^X\/\(\/\/\)$/{ s//\1/ q } - /^X\(\/\).*/{ + /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done + { echo "$as_me:$LINENO: cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles" >&5 + (cd "$am_dirpart" \ + && sed -e '/# am--include-marker/d' "$am_filepart" \ + | $MAKE -f - am--depfiles) >&5 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } || am_rc=$? done + if test $am_rc -ne 0; then + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "Something went wrong bootstrapping makefile fragments + for automatic dependency tracking. If GNU make was not used, consider + re-running the configure script with MAKE=\"gmake\" (or whatever is + necessary). You can also try re-running configure with the + '--disable-dependency-tracking' option to at least be able to build + the package (albeit without support for automatic dependency tracking). +See \`config.log' for more details" "$LINENO" 5; } + fi + { am_dirpart=; unset am_dirpart;} + { am_filepart=; unset am_filepart;} + { am_mf=; unset am_mf;} + { am_rc=; unset am_rc;} + rm -f conftest-deps.mk } ;; @@ -12697,15 +13605,17 @@ fi Pinentry v${VERSION} has been configured as follows: - Revision: 02df3d2 (735) + Revision: 3389615 (13193) Platform: $host Curses Pinentry ..: $pinentry_curses TTY Pinentry .....: $pinentry_tty Emacs Pinentry ...: $pinentry_emacs + EFL Pinentry .....: $pinentry_efl GTK+-2 Pinentry ..: $pinentry_gtk_2 GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt Pinentry ......: $pinentry_qt $pinentry_qt_lib_version + Qt5 Pinentry .....: $pinentry_qt + Qt4 Pinentry .....: $pinentry_qt4 TQt Pinentry .....: $pinentry_tqt W32 Pinentry .....: $pinentry_w32 FLTK Pinentry ....: $pinentry_fltk @@ -12721,15 +13631,17 @@ $as_echo "$as_me: Pinentry v${VERSION} has been configured as follows: - Revision: 02df3d2 (735) + Revision: 3389615 (13193) Platform: $host Curses Pinentry ..: $pinentry_curses TTY Pinentry .....: $pinentry_tty Emacs Pinentry ...: $pinentry_emacs + EFL Pinentry .....: $pinentry_efl GTK+-2 Pinentry ..: $pinentry_gtk_2 GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt Pinentry ......: $pinentry_qt $pinentry_qt_lib_version + Qt5 Pinentry .....: $pinentry_qt + Qt4 Pinentry .....: $pinentry_qt4 TQt Pinentry .....: $pinentry_tqt W32 Pinentry .....: $pinentry_w32 FLTK Pinentry ....: $pinentry_fltk diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/configure.ac b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac similarity index 76% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/configure.ac rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac index c1b66d60..cb4e43fa 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/configure.ac +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/configure.ac @@ -19,37 +19,38 @@ # SPDX-License-Identifier: GPL-2.0+ # (Process this file with autoconf to produce a configure script.) -AC_PREREQ(2.69) +AC_PREREQ([2.69]) min_automake_version="1.14" # To build a release you need to create a tag with the version number # (git tag -s pinentry-n.m.k) and run "./autogen.sh --force". Please -# bump the version number immediately after the release, do another -# commit, and a push so that the git magic is able to work. -m4_define(mym4_version, [1.1.0]) +# bump the version number immediately after the release and do another +# commit and push so that the git magic is able to work. +m4_define([mym4_package],[pinentry]) +m4_define([mym4_major], [1]) +m4_define([mym4_minor], [2]) +m4_define([mym4_micro], [1]) # Below is m4 magic to extract and compute the git revision number, # the decimalized short revision number, a beta version string and a -# flag indicating a development version (mym4_isgit). Note that the +# flag indicating a development version (mym4_isbeta). Note that the # m4 processing is done by autoconf and not during the configure run. -m4_define([mym4_revision], m4_esyscmd([git branch -v 2>/dev/null \ - | awk '/^\* / {printf "%s",$3}'])) -m4_define([mym4_revision_dec], - m4_esyscmd_s([echo $((0x$(echo ]mym4_revision[|head -c 4)))])) -m4_define([mym4_betastring], - m4_esyscmd_s([git describe --match 'pinentry-[0-9].[0-9].*[0-9]' \ - --long| awk -F- '$3!=0{print"-beta"$3}'])) -m4_define([mym4_isgit],m4_if(mym4_betastring,[],[no],[yes])) -m4_define([mym4_full_version],[mym4_version[]mym4_betastring]) - -AC_INIT([pinentry],[mym4_full_version], [https://bugs.gnupg.org]) +m4_define([mym4_verslist], m4_split(m4_esyscmd([./autogen.sh --find-version] \ + mym4_package mym4_major mym4_minor mym4_micro),[:])) +m4_define([mym4_isbeta], m4_argn(2, mym4_verslist)) +m4_define([mym4_version], m4_argn(4, mym4_verslist)) +m4_define([mym4_revision], m4_argn(7, mym4_verslist)) +m4_define([mym4_revision_dec], m4_argn(8, mym4_verslist)) +m4_esyscmd([echo ]mym4_version[>VERSION]) + +AC_INIT([mym4_package],[mym4_version],[https://bugs.gnupg.org]) AC_CONFIG_AUX_DIR([build-aux]) -AM_CONFIG_HEADER(config.h) +AC_CONFIG_HEADERS([config.h]) AC_CONFIG_SRCDIR(pinentry/pinentry.h) AM_INIT_AUTOMAKE([serial-tests dist-bzip2 no-dist-gzip]) -AC_GNU_SOURCE +AC_USE_SYSTEM_EXTENSIONS AM_MAINTAINER_MODE @@ -217,11 +218,10 @@ fi # Checks for header files. -AC_HEADER_STDC AC_CHECK_HEADERS(string.h unistd.h langinfo.h termio.h locale.h utime.h wchar.h) dnl Checks for library functions. -AC_CHECK_FUNCS(seteuid stpcpy mmap) +AC_CHECK_FUNCS(seteuid stpcpy mmap stat) GNUPG_CHECK_MLOCK dnl Checks for standard types. @@ -272,30 +272,16 @@ COMMON_LIBS="$LIBASSUAN_LIBS $COMMON_LIBS" dnl Checks for libsecmem. -GNUPG_CHECK_TYPEDEF(byte, HAVE_BYTE_TYPEDEF) -GNUPG_CHECK_TYPEDEF(ulong, HAVE_ULONG_TYPEDEF) - -dnl Check for libcap -AC_ARG_WITH([libcap], AC_HELP_STRING([--without-libcap], - [Disable support for capabilities library])) - -if test "x$with_libcap" != "xno"; then - AC_PATH_PROG(SETCAP, setcap, :, "$PATH:/sbin:/usr/sbin") - AC_CHECK_LIB(cap, cap_set_proc, [ - AC_DEFINE(USE_CAPABILITIES,1,[The capabilities support library is installed]) - LIBCAP=-lcap - ]) -fi -AC_SUBST(LIBCAP) +AC_CHECK_TYPES([byte, ulong, u64]) dnl dnl Check for curses pinentry program. dnl AC_ARG_ENABLE(pinentry-curses, - AC_HELP_STRING([--enable-pinentry-curses], [build curses pinentry]), + AS_HELP_STRING([--enable-pinentry-curses],[build curses pinentry]), pinentry_curses=$enableval, pinentry_curses=maybe) AC_ARG_ENABLE(fallback-curses, - AC_HELP_STRING([--enable-fallback-curses], [include curses fallback]), + AS_HELP_STRING([--enable-fallback-curses],[include curses fallback]), fallback_curses=$enableval, fallback_curses=maybe) dnl @@ -340,7 +326,7 @@ dnl dnl Check for tty pinentry program. dnl AC_ARG_ENABLE(pinentry-tty, - AC_HELP_STRING([--enable-pinentry-tty], [build tty pinentry]), + AS_HELP_STRING([--enable-pinentry-tty],[build tty pinentry]), pinentry_tty=$enableval, pinentry_tty=maybe) AM_CONDITIONAL(BUILD_PINENTRY_TTY, test "$pinentry_tty" = "yes") @@ -369,21 +355,18 @@ dnl dnl Check for emacs pinentry program. dnl AC_ARG_ENABLE(pinentry-emacs, - AC_HELP_STRING([--enable-pinentry-emacs], [build emacs pinentry]), + AS_HELP_STRING([--enable-pinentry-emacs],[build emacs pinentry]), pinentry_emacs=$enableval, pinentry_emacs=no) AC_ARG_ENABLE(inside-emacs, - AC_HELP_STRING([--enable-inside-emacs], [include emacs hack]), + AS_HELP_STRING([--enable-inside-emacs],[include emacs hack]), inside_emacs=$enableval, inside_emacs=maybe) if test "$pinentry_emacs" != "no" -o "$inside_emacs" != "no"; then AC_MSG_CHECKING([if Unix domain socket is supported]) - AC_TRY_COMPILE([ + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ #include #include -], - [int s = socket (AF_UNIX, SOCK_STREAM, 0);], - [_unixsock_works=yes], - [_unixsock_works=no]) +]], [[int s = socket (AF_UNIX, SOCK_STREAM, 0);]])],[_unixsock_works=yes],[_unixsock_works=no]) AC_MSG_RESULT($_unixsock_works) if test "$_unixsock_works" = "yes"; then if test "$pinentry_emacs" != "no"; then @@ -418,22 +401,51 @@ fi +dnl +dnl Check for EFL pinentry programs. +dnl +AC_ARG_ENABLE(pinentry-efl, + AS_HELP_STRING([--enable-pinentry-efl],[build EFL pinentry]), + pinentry_efl=$enableval, pinentry_efl=maybe) + +if test "$pinentry_efl" != "no"; then + PKG_CHECK_MODULES( + EFL, + [elementary >= 1.18,ecore-x], + [ + pinentry_efl=yes + ], + [ + if test "$pinentry_efl" = "yes"; then + AC_MSG_ERROR([[ +*** +*** efl (elementary >= 1.18, ecore-x) is required for pinentry-efl. +***]]) + else + AC_MSG_WARN([pkg-config could not find the modules elementary or ecore-x]) + fi + pinentry_efl=no + ] + ) +fi +AM_CONDITIONAL(BUILD_PINENTRY_EFL, test "$pinentry_efl" = "yes") + dnl dnl Check for GTK+-2 / GNOME3 pinentry programs. dnl AC_ARG_ENABLE(pinentry-gtk2, - AC_HELP_STRING([--enable-pinentry-gtk2], [build GTK+-2 pinentry]), + AS_HELP_STRING([--enable-pinentry-gtk2],[build GTK+-2 pinentry]), pinentry_gtk_2=$enableval, pinentry_gtk_2=maybe) AC_ARG_ENABLE(pinentry-gnome3, - AC_HELP_STRING([--enable-pinentry-gnome3], [build GNOME 3 pinentry]), + AS_HELP_STRING([--enable-pinentry-gnome3],[build GNOME 3 pinentry]), pinentry_gnome_3=$enableval, pinentry_gnome_3=maybe) dnl check if the module gtk+-2.0 exists if test "$pinentry_gtk_2" != "no"; then PKG_CHECK_MODULES( GTK2, - [gtk+-2.0 >= 2.4.0], + [gtk+-2.0 >= 2.12.0], [ test "$pinentry_gtk_2" != "no" && pinentry_gtk_2=yes test "$pinentry_gnome_3" != "no" && pinentry_gnome_3=yes @@ -467,8 +479,8 @@ dnl dnl Check for libsecret. dnl AC_ARG_ENABLE(libsecret, - AC_HELP_STRING([--enable-libsecret], - [optionally cache passphrases using libsecret]), + AS_HELP_STRING([--enable-libsecret], + [optionally cache passphrases using libsecret]), libsecret=$enableval, libsecret=maybe) dnl check if the module libsecret exists @@ -493,24 +505,61 @@ if test "$libsecret" = "yes"; then fi dnl -dnl Check for Qt pinentry program. +dnl Check for libX11 library +dnl +have_x11=no +if test "$have_w32_system" != "yes"; then + PKG_CHECK_MODULES( + LIBX11, + [x11], + [have_x11=yes], + [ + AC_MSG_WARN([pkg-config could not find the module x11]) + have_x11=no + ] + ) + + if test "$have_x11" = "yes"; then + AC_DEFINE(HAVE_X11, 1, + [The pinentries can optionally use x11.]) + fi +fi + +dnl +dnl Check for KF5WaylandClient library +dnl +have_kf5waylandclient=no +if test "$have_w32_system" != "yes"; then + PKG_CHECK_MODULES( + KF5WAYLANDCLIENT, + [KF5WaylandClient >= 5.60], + [have_kf5waylandclient=yes], + [ + AC_MSG_WARN([pkg-config could not find the module KF5WaylandClient]) + have_kf5waylandclient=no + ] + ) +fi + +dnl +dnl Check for Qt5 pinentry program. dnl AC_ARG_ENABLE(pinentry-qt, - AC_HELP_STRING([--enable-pinentry-qt], [build qt pinentry]), + AS_HELP_STRING([--enable-pinentry-qt],[build Qt5 pinentry]), pinentry_qt=$enableval, pinentry_qt=maybe) dnl dnl Checks for qt libraries. Deal correctly with $pinentry_qt = maybe. -dnl Tries to find Qt5, falls back on Qt4 +dnl Tries to find Qt5 dnl if test "$pinentry_qt" != "no"; then FIND_QT - if test "$have_qt4_libs" != "yes" -a "$have_qt5_libs" != "yes"; then + if test "$have_qt5_libs" != "yes"; then if test "$pinentry_qt" = "yes"; then AC_MSG_ERROR([[ *** - *** Qt4 (QtCore, QtGui) or Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. + *** Qt5 (Qt5Core, Qt5Gui, Qt5Widgets) is required. ***]]) else pinentry_qt=no @@ -520,6 +569,7 @@ fi AC_SUBST(PINENTRY_QT_CFLAGS) AC_SUBST(PINENTRY_QT_LIBS) +AC_SUBST(PINENTRY_QT_LDFLAGS) AC_SUBST(MOC) dnl If we have come so far, qt pinentry can be build. @@ -529,18 +579,65 @@ fi AM_CONDITIONAL(BUILD_PINENTRY_QT, test "$pinentry_qt" = "yes") if test "$pinentry_qt" = "yes"; then AC_DEFINE(PINENTRY_QT, 1, [The qt version of Pinentry is to be build]) - if test "$have_qt4_libs" = "yes"; then - pinentry_qt_lib_version="(Qt4)" - else - pinentry_qt_lib_version="(Qt5)" +fi +if test "$have_qt5_x11extras" = "yes"; then + AC_DEFINE(PINENTRY_QT_X11, 1, [pinentry-qt should use x11.]) +fi +if test "$have_kf5waylandclient" = "yes"; then + PINENTRY_QT_CFLAGS="$KF5WAYLANDCLIENT_CFLAGS $PINENTRY_QT_CFLAGS -fpic" + PINENTRY_QT_LIBS="$KF5WAYLANDCLIENT_LIBS $PINENTRY_QT_LIBS" + AC_DEFINE(PINENTRY_QT_WAYLAND, 1, [pinentry-qt should use KF5WaylandClient.]) +else + if test "$have_w32_system" != "yes"; then + AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on Wayland]) + fi +fi + +dnl +dnl Check for Qt4 pinentry program. +dnl +AC_ARG_ENABLE(pinentry-qt4, + AS_HELP_STRING([--enable-pinentry-qt4],[build Qt4 pinentry]), + pinentry_qt4=$enableval, pinentry_qt4=maybe) + + +dnl +dnl Checks for Qt4 libraries. Deal correctly with $pinentry_qt4 = maybe. +dnl Tries to find Qt4 +dnl +if test "$pinentry_qt4" != "no"; then + FIND_QT4 + if test "$have_qt4_libs" != "yes"; then + if test "$pinentry_qt4" = "yes"; then + AC_MSG_ERROR([[ + *** + *** Qt4 (QtCore, QtGui) is required. + ***]]) + else + pinentry_qt4=no + fi fi fi +AC_SUBST(PINENTRY_QT4_CFLAGS) +AC_SUBST(PINENTRY_QT4_LIBS) +AC_SUBST(PINENTRY_QT4_LDFLAGS) +AC_SUBST(MOC4) + +dnl If we have come so far, qt4 pinentry can be build. +if test "$pinentry_qt4" != "no"; then + pinentry_qt4=yes +fi +AM_CONDITIONAL(BUILD_PINENTRY_QT4, test "$pinentry_qt4" = "yes") +if test "$pinentry_qt4" = "yes"; then + AC_DEFINE(PINENTRY_QT4, 1, [The qt4 version of Pinentry is to be build]) +fi + dnl dnl Check for TQt pinentry program. dnl AC_ARG_ENABLE(pinentry-tqt, - AC_HELP_STRING([--enable-pinentry-tqt], [build tqt pinentry]), + AS_HELP_STRING([--enable-pinentry-tqt],[build tqt pinentry]), pinentry_tqt=$enableval, pinentry_tqt=no) if test "$pinentry_tqt" != "no"; then @@ -549,7 +646,8 @@ if test "$pinentry_tqt" != "no"; then AC_MSG_ERROR([[ *** *** Building both Qt and TQt pinentries is not supported. - *** Use --disable-pinentry-qt if you want the TQt pinentry. + *** Use --disable-pinentry-qt and --disable-pinentry-qt4 + *** if you want the TQt pinentry. ***]]) fi @@ -584,7 +682,7 @@ dnl dnl Check for FLTK pinentry program. dnl AC_ARG_ENABLE(pinentry-fltk, - AC_HELP_STRING([--enable-pinentry-fltk], [build FLTK 1.3 pinentry]), + AS_HELP_STRING([--enable-pinentry-fltk],[build FLTK 1.3 pinentry]), pinentry_fltk=$enableval, pinentry_fltk=maybe) dnl check for fltk-config @@ -645,7 +743,15 @@ else if test "$pinentry_tqt" = "yes"; then PINENTRY_DEFAULT=pinentry-tqt else - AC_MSG_ERROR([[No pinentry enabled.]]) + if test "$pinentry_efl" = "yes"; then + PINENTRY_DEFAULT=pinentry-efl + else + if test "$pinentry_qt4" = "yes"; then + PINENTRY_DEFAULT=pinentry-qt4 + else + AC_MSG_ERROR([[No pinentry enabled.]]) + fi + fi fi fi fi @@ -714,6 +820,12 @@ AH_BOTTOM([ #endif /*GNUPG_CONFIG_H_INCLUDED*/ ]) +build_doc=yes +AC_ARG_ENABLE([doc], AS_HELP_STRING([--disable-doc], + [do not build the documentation]), + build_doc=$enableval, build_doc=yes) +AM_CONDITIONAL([BUILD_DOC], [test "x$build_doc" != xno]) + AC_CONFIG_FILES([ m4/Makefile @@ -721,10 +833,13 @@ secmem/Makefile pinentry/Makefile curses/Makefile tty/Makefile +efl/Makefile emacs/Makefile gtk+-2/Makefile gnome3/Makefile qt/Makefile +qt/icons/Makefile +qt4/Makefile tqt/Makefile w32/Makefile fltk/Makefile @@ -744,9 +859,11 @@ AC_MSG_NOTICE([ Curses Pinentry ..: $pinentry_curses TTY Pinentry .....: $pinentry_tty Emacs Pinentry ...: $pinentry_emacs + EFL Pinentry .....: $pinentry_efl GTK+-2 Pinentry ..: $pinentry_gtk_2 GNOME 3 Pinentry .: $pinentry_gnome_3 - Qt Pinentry ......: $pinentry_qt $pinentry_qt_lib_version + Qt5 Pinentry .....: $pinentry_qt + Qt4 Pinentry .....: $pinentry_qt4 TQt Pinentry .....: $pinentry_tqt W32 Pinentry .....: $pinentry_w32 FLTK Pinentry ....: $pinentry_fltk diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am similarity index 93% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am index 915f8a8c..3bbdec8f 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.am @@ -23,6 +23,6 @@ bin_PROGRAMS = pinentry-curses AM_CPPFLAGS = $(COMMON_CFLAGS) $(NCURSES_INCLUDE) -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../pinentry/libpinentry-curses.a \ - ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCAP) $(LIBCURSES) $(LIBICONV) + ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCURSES) $(LIBICONV) pinentry_curses_SOURCES = pinentry-curses.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in index 1a5274db..122d7453 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-curses$(EXEEXT) subdir = curses -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -122,7 +131,7 @@ am__DEPENDENCIES_1 = pinentry_curses_DEPENDENCIES = ../pinentry/libpinentry.a \ ../pinentry/libpinentry-curses.a ../secmem/libsecmem.a \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -137,7 +146,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-curses.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -177,6 +187,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -201,6 +213,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -210,6 +224,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -223,11 +238,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -236,6 +252,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -244,6 +262,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -257,16 +277,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -316,6 +343,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -326,7 +354,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(COMMON_CFLAGS) $(NCURSES_INCLUDE) -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../pinentry/libpinentry-curses.a \ - ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCAP) $(LIBCURSES) $(LIBICONV) + ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCURSES) $(LIBICONV) pinentry_curses_SOURCES = pinentry-curses.c all: all-am @@ -345,14 +373,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu curses/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu curses/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -416,7 +443,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-curses.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-curses.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -484,7 +517,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -556,7 +592,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-curses.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -602,7 +638,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-curses.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -622,7 +658,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -636,6 +672,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/pinentry-curses.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/pinentry-curses.c similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/curses/pinentry-curses.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/curses/pinentry-curses.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/README.Debian b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/README.Debian similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/README.Debian rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/README.Debian diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/changelog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog similarity index 89% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/changelog rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog index 1e5ab1a1..3b3891fd 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/changelog +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/changelog @@ -1,8 +1,54 @@ -pinentry-tqt (1.1.0-4~0debian11.0.0+0) unstable; urgency=medium +pinentry-tqt (1.2.1-1~0) unstable; urgency=medium * Build pinentry only as pinentry-tqt for use with TDE. - -- Slávek Banko Sun, 08 Nov 2020 16:37:59 +0100 + -- Slávek Banko Thu, 27 Oct 2022 14:17:15 +0200 + +pinentry (1.2.1-1) unstable; urgency=medium + + * new upstream release + * ensure that qt4 remains disabled + * remove patches/0003-qt-fix-floating-dialog-under-sway.patch + * pinentry-gtk2: drop stale NEWS entry (see #1021502) + + -- Daniel Kahn Gillmor Tue, 18 Oct 2022 10:52:33 -0400 + +pinentry (1.2.0-2) unstable; urgency=medium + + * Fix --lc-ctype in manpages (Closes: #979412) + * wrap-and-sort -ast + * qt: fix floating dialog under sway (Closes: #1013318) + * Standards-Version: bump to 4.6.1 (no changes needed). + + -- Daniel Kahn Gillmor Fri, 24 Jun 2022 22:38:56 -0400 + +pinentry (1.2.0-1) unstable; urgency=medium + + * New upstream release to unstable + * d/gbp.conf: use DEP-14 branch naming (return to unstable) + * standards version: bump to 4.6.0 (no changes needed) + * ensure qt5 works on wayland + * refresh version info patch + * Drop fix for rpath, fixed upstream + * drop tweaks for EFL configuration check + + -- Daniel Kahn Gillmor Thu, 28 Apr 2022 08:33:01 -0400 + +pinentry (1.1.1-1) experimental; urgency=medium + + * new upstream release 1.1.1 + * dh 13 already does --fail-missing by default + * drop --as-needed linking flag, bullseye does this by default + * move to debian/sid branch for packaging + * update upstream signing keys + * drop patches already upstream + * standards-version: bump to 4.5.1 (no changes needed) + * refresh patches + * avoid rpath for pinentry-qt + * clean up use of pkg-config for EFL pinentry + * avoid trying to build pinentry-efl + + -- Daniel Kahn Gillmor Wed, 17 Feb 2021 15:43:06 -0500 pinentry (1.1.0-4) unstable; urgency=medium diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/clean b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/clean similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/clean rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/clean diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/compat b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/compat similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/compat rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/compat diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/control b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control similarity index 98% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/control rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control index 3ab6941e..24220bcd 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/control +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/control @@ -15,7 +15,7 @@ Build-Depends: pkg-config, libtqt3-mt-dev, tqt3-apps-dev, texinfo, -Standards-Version: 4.5.0 +Standards-Version: 4.6.1 Homepage: https://www.gnupg.org/related_software/pinentry/ Vcs-Git: https://salsa.debian.org/debian/pinentry.git Vcs-Browser: https://salsa.debian.org/debian/pinentry diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/copyright b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright similarity index 98% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/copyright rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright index a00f024f..3711cad2 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/copyright +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/copyright @@ -4,7 +4,7 @@ Upstream-Contact: gnupg-devel@gnupg.org Source: https://gnupg.org/ftp/gcrypt/pinentry/ Files: * -Copyright: 2002-2015, g10 Code GmbH +Copyright: 2002-2021, g10 Code GmbH License: GPL-2+ Files: fltk/* @@ -93,7 +93,7 @@ Copyright: 2002 Klarälvdalens Datakonsult AB (KDAB) License: GPL-2+ Files: debian/* -Copyright: 2004-2015 Peter Eisentraut +Copyright: 2004-2022 Peter Eisentraut Marcus Brinkmann Michael Brame Daniel Kahn Gillmor diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/gbp.conf b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/gbp.conf rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf index 13680f4c..0c87d574 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/gbp.conf +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/gbp.conf @@ -1,7 +1,7 @@ [DEFAULT] pristine-tar = True upstream-vcs-tag = pinentry-%(version)s -debian-branch = debian/master +debian-branch = debian/unstable [import-orig] filter = [ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/not-installed b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/not-installed similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/not-installed rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/not-installed diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch new file mode 100644 index 00000000..ac9b9137 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0001-avoid-self-describing-as-a-beta.patch @@ -0,0 +1,51 @@ +From: Daniel Kahn Gillmor +Date: Wed, 13 May 2015 16:09:21 -0400 +Subject: avoid self-describing as a beta + +Using autoreconf against the source as distributed in tarball form +invariably results in a package that thinks it's a "beta" package, +which produces the "THIS IS A DEVELOPMENT VERSION" warning string. + +since we use dh_autoreconf, i need this patch to avoid producing +builds that announce themselves as DEVELOPMENT VERSIONs. + +See discussion at: + + http://lists.gnupg.org/pipermail/gnupg-devel/2014-November/029065.html +--- + autogen.sh | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/autogen.sh b/autogen.sh +index 9b36158..f381d48 100755 +--- a/autogen.sh ++++ b/autogen.sh +@@ -249,7 +249,7 @@ if [ "$myhost" = "find-version" ]; then + fi + + beta=no +- if [ -e .git ]; then ++ if false; then + ingit=yes + tmp=$(git describe --match "${matchstr1}" --long 2>/dev/null) + tmp=$(echo "$tmp" | sed s/^"$package"//) +@@ -265,8 +265,8 @@ if [ "$myhost" = "find-version" ]; then + rvd=$((0x$(echo ${rev} | dd bs=1 count=4 2>/dev/null))) + else + ingit=no +- beta=yes +- tmp="-unknown" ++ beta=no ++ tmp="" + rev="0000000" + rvd="0" + fi +@@ -453,7 +453,7 @@ EOF + fi + + # Check the git setup. +-if [ -d .git ]; then ++if false; then + CP="cp -p" + # If we have a GNU cp we can add -v + if cp --version >/dev/null 2>/dev/null; then diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch new file mode 100644 index 00000000..294ff005 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch @@ -0,0 +1,62 @@ +From: Vincent Bernat +Date: Mon, 6 Feb 2017 02:38:59 -0500 +Subject: gtk2: When X11 input grabbing fails, try again over ~0.4 seconds. + +* gtk+-2/pinentry-gtk-2.c (grab_keyboard): Delay 1 ms before retrying +keyboard grab, limit to about 0.2 seconds. +(grab_pointer): Delay 1 ms before retrying pointer_grab, limit to +about 0.2 seconds. + +-- + +These changes were proposed by Vincent Bernat in +https://bugs.debian.org/851707#124 + +Debian-bug-id: 851707 +Signed-off-by: Daniel Kahn Gillmor +--- + gtk+-2/pinentry-gtk-2.c | 10 ++++++---- + 1 file changed, 6 insertions(+), 4 deletions(-) + +diff --git a/gtk+-2/pinentry-gtk-2.c b/gtk+-2/pinentry-gtk-2.c +index 6d626cc..f329910 100644 +--- a/gtk+-2/pinentry-gtk-2.c ++++ b/gtk+-2/pinentry-gtk-2.c +@@ -161,7 +161,7 @@ static int + grab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) + { + GdkGrabStatus err; +- int tries = 0, max_tries = 4096; ++ int tries = 0, max_tries = 2048; + (void)data; + + if (! pinentry->grab) +@@ -170,7 +170,8 @@ grab_keyboard (GtkWidget *win, GdkEvent *event, gpointer data) + do + err = gdk_keyboard_grab (gtk_widget_get_window (win), + FALSE, gdk_event_get_time (event)); +- while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE); ++ while (tries++ < max_tries && err == GDK_GRAB_NOT_VIEWABLE ++ && (usleep(100), TRUE)); + + if (err) + { +@@ -194,7 +195,7 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) + { + GdkGrabStatus err; + GdkCursor *cursor; +- int tries = 0, max_tries = 4096; ++ int tries = 0, max_tries = 2048; + (void)data; + + /* Change the cursor for the duration of the grab to indicate that +@@ -216,7 +217,8 @@ grab_pointer (GtkWidget *win, GdkEvent *event, gpointer data) + cursor, + gdk_event_get_time (event)); + while (tries++ < max_tries && (err == GDK_GRAB_NOT_VIEWABLE +- || err == GDK_GRAB_ALREADY_GRABBED)); ++ || err == GDK_GRAB_ALREADY_GRABBED) ++ && (usleep (100), TRUE)); + + if (err) + { diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series new file mode 100644 index 00000000..6be995ed --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/patches/series @@ -0,0 +1,2 @@ +0001-avoid-self-describing-as-a-beta.patch +0002-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.1 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.1 similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.1 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.install b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.install similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.install rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.install diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.manpages b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.manpages similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.manpages rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.manpages diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.postinst b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.postinst similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.postinst rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.postinst diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.prerm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.prerm similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/pinentry-tqt.prerm rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/pinentry-tqt.prerm diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/rules b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules similarity index 82% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/rules rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules index 745411ce..6e5f6619 100755 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/rules +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/rules @@ -2,7 +2,7 @@ QT_SELECT = qt5 export QT_SELECT -SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --enable-fallback-curses +SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --enable-fallback-curses --disable-pinentry-efl export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow %: @@ -14,6 +14,7 @@ override_dh_auto_configure: --disable-pinentry-tty \ --disable-pinentry-curses \ --disable-pinentry-qt \ + --disable-pinentry-qt4 \ --disable-pinentry-fltk \ --disable-pinentry-gtk2 \ --disable-pinentry-gnome3 \ @@ -21,11 +22,7 @@ override_dh_auto_configure: override_dh_auto_build: dh_auto_build --builddirectory=build-no-libsecret - -override_dh_missing: - dh_missing --fail-missing + dh_auto_build override_dh_installdocs: dh_installdocs -A NEWS AUTHORS - -LDFLAGS += -Wl,--as-needed diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/source/format b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/format similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/source/format rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/format diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/source/options b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/options similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/source/options rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/source/options diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control new file mode 100644 index 00000000..af216f95 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/control @@ -0,0 +1,4 @@ +Tests: simple-tty +Depends: + pinentry-tty, + python3, diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/tests/simple-tty b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/simple-tty similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/tests/simple-tty rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/tests/simple-tty diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc new file mode 100644 index 00000000..8e2ce73d --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/upstream/signing-key.asc @@ -0,0 +1,103 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQINBFMjh+8BEADUIP+QH8EirR4MvDr/Veg9fELo7vLWGXXt3yjVW1rARX6pyJy9 +OR46NpwH65p7R2X6Gqgm1NBEmY6weoloRZodV5MrvoLurR0NPjX9bOatsjCH8o4I +nB4W1mdVzrP1FTauG2OfBCUm1FRnKGCdndCAG8AiE6gTtr8SdvVa/2aPhsOGUEjd +f1To8X6OPyRMeNgAkPyQhHDOWgEAxzIz5z8MEnoyt5Gl1d6G5qciKxWGx/0V4x9E +6UGbuAsuepKlusKCz8JlEe+nOTRfrivO8+kOQ106z/WJgauIRwjd3x0WjpvYFGyQ +BfztPiCLobjvWaFW2I0Mh5DlG5q9hrWvw5RzOFD/Qct+oGRnvpY6iUzGZaM8jZcB +X5Knhr6yvUNr8BtON/LJ0Y2wae+sWwGotTZOlUsOyjmgnx326CkgeAQ9Moonjvqw +73TqgOMpmtTwWkWrZylGkGgD0CoJVg5R9NNKWIthTSpuRm1TKle69IoguWLSvtin +upWl6mN7EmXCkatjJEmR+wCAczkquWk3Qo966w6r/WLKbDkd8RrPCh5WjvpqnLKA +C9Zuk4ssw1i1Pwv+FhCZbvJ/UgkBq1UjoBEzbSpq1W3ul+W2x0DGRmENY6aRvJqi +8aNBX6vzD17epe9qkRbriGA8nK9j18ZnfHLGlPGDwkgOpRF8gHmRCkSi/QARAQAB +tC9EYW1pZW4gR291dHRlLUdhdHRhdCA8ZGdvdXR0ZWdhdHRhdEBpbmNlbnAub3Jn +PokCVAQTAQgAPgIbAwIeAQIXgAIZAQcLBwgJCgMCBhUICgsJAgUWAgMBABYhBE+i +CCNi/nOtA7iIMKjccGfiX7q7BQJcvj4oAAoJEKjccGfiX7q7NZAQAKl2rh+SsUpV +tFBrpdgNSUwSIiXF3bKMGKi363BEHe1/LYlKKKmFNHBJ3Xfu/7xLwAftg8skZS4d +5Bujzb6uolBUqIfp7iNk8xX0x+5D+0et8hGa7hHtaL21WUm2TKmLPsFS2HCDJsLW +SUBh5zWqVHOPvmNl10hWr5MV+MJA6yl0TP4hEpudvrtMOCe9ohKVuul3P5xxeYEq +9tfvtnFSk84N8/pRs0pB7+hjGm0DvKfwdqWZ78Z+wyB6WLy/7OGxv86ojqWJA9NV +YrwZAzqmw4o0ZhFiIFidqp07YT+jGvUYcDVSEW2Tkg4KIkbEO5+Bhv55xSj1zfdS +kQIJeCELfop/zPFXUCHZ5TOUOBI1zMV803eIbMX8HwfoGwyOe5kKv4GJj6WxvIeB +iD1cTRGgMOCkQrLIdyyuiYVCX6ntdiGQAsc7XJNGM/K4V2BTiUja0ZrNBujuOijD +OQYSrYY9FujmUCu8TSl7E/AHu9OKXTCTaQWQjBUp20ZWmuVrpdl3onsrPp7chICt +P+PIgPtcAci7gSVFt3QKCxA5LydqKxs162swS7OW6PADA7k35WhptSHMRM+1nDQ2 +h/milyTPBtRYlKZABj58ZAad3WJWLf6CpiDwKngntPYiSc8OwHRLZQSVDNYLDiC9 +P7Atp1PEXDt97MMjNfeVYGzJSgVblxvUtC1EYW1pZW4gR291dHRlLUdhdHRhdCA8 +ZGdvdXR0ZWdhdHRhdEBmc2ZlLm9yZz6JAoMEEwEIAG00Gmh0dHA6Ly93d3cuaW5j +ZW5wLm9yZy9vcGVucGdwLWtleXNpZ25pbmctcG9saWN5LnR4dAIbAwULCQgHAgYV +CAkKCwIEFgIDAQIeAQIXgBYhBE+iCCNi/nOtA7iIMKjccGfiX7q7BQJcvj4xAAoJ +EKjccGfiX7q723QQALv29z/hJgrawAbcu2xZ568Ncy+oNUbdOurumnlVdgBoQx2b +i7zUswEGZfXcLteS4KN+M9u3M/Ph7pp47mluQJj4lK/W7w9qm3AsVwQiPFMTgp+f +0jFN0jUll2OXyJC0gxJUoYGIxehylyReV5XkdWeFGkKX0au+nE1IvZDI2D+pAPHL +Pq/3LzY5UK7m6w51983heD2m2qtXucydL9kIQjA5Dkao9MwaaBs3a4TluGj6eMOP +tw7JpbGRFmvOP7AM9JvN7GQZ5x95qV03hiRWx50gfuSkynVdu2QTTOQiY1mkMswz +8ZRjoxxMS9Ybc66zzh4pKwOg1cQiSrfKrHytQczMuX6CG4VnqSzI9VVyF49ZThNq +hiZSLFbZivBLmqwutgP8IU2RcepDQgdiyd3J/aVkbuaCMlrdnC9qwwVB8wdLCQTo ++cY9IqhrMV5J3vRksGNHs0YzlBCrqmjqtxlXsP1GWgHZKEIc147E+LWMApbn1xP5 +WJuFQ4E2esvgdaL6+CAjomW0EIuno23cO6ycokc29pE7TxpyHPgrpc6Szwbdrn7O +cthUHP8N4QEzLfzfbM5g09nNQyEwzcVcOS40VQn79EmnSbyBHJXWZo8K5AS7lN5c +aqa2jnomFAbbCG8mk27O99WWsrMovFfPf0OTcguyy/mvZixJdlXH5qwuh9OxtCVE +YW1pZW4gR291dHRlLUdhdHRhdCA8ZGdnQGluY2VucC5vcmc+iQKABBMBCABqMRpo +dHRwczovL2luY2VucC5vcmcvb3BlbnBncC1rZXlzaWduaW5nLXBvbGljeS50eHQC +GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQRPoggjYv5zrQO4iDCo3HBn4l+6 +uwUCXL4+MQAKCRCo3HBn4l+6uwoGD/4mOKfPL6sDoujPnWv610BsJhxDW1mttBK7 +YiNPdEXDjVAUXawgD48igCVHYFrKKLkXINHFgusgSJtJB1KeHqlxFg4r39gIU783 +3tdDXMPyU8su/ZF5su2W3J3fP5reww/yyG4Bmmc1fHlwNr9tCVqixnqv3KpNJoK3 +BsrtpJOR7rU6SvihKAM8pGWfkBjyn2UVqpoG2sCRhuHIwGx/0Tw2/zwA4zEO++WB +oJFaXW/FWxAEYwMO1EdeuJH3xLK65CtA33A4K6rDgEvR+6ZojRXxsfJfwSTchyuq +tFe4VlPsSduW6DO376rTOizjavANedjRrti5K8Xicvvx07w0zkUKYYHM9WYrTOOk +cLZNuIL430VMEHN47ajLSxib2MIPzjNAJF1luXDKkRiHnwPSDRZAiOEmi9HI8DyT +xfKHNkNJOtZSuBHqqkPNYrvXvjkLrlzMckplbnzrCbfLi3Zew8D9qC7DDwtYO/Z1 +tpHWeeF7mJJbN/VnDKf6+Aon/OBNCjGAVXz/T55PpKNBTv/ezeolPcIn1njZjbQl +W1KHrfa7YJYHRsPhn8qxYaqNrDFWIkRJAHyMgFFYNQRowqmblT+lIwuD1v/ZWDXz +oUVkt2tC4UagtQO/r/IuJVNbdZtyfSzGV+Lkb4bo2gs3i4qLieHVcPBdVXaRF6YS +lM/q8JLxA7kBDQRTI4j+AQgA6GEmtBA2fHPaVeK5V2+Nq2wWX179WZDyKtB9PDiy +FYv1ao3IXtYpfBfnIxDenJHZ8TJlWLD9NCCq6+aeh6V1dzo4OnwJVf7OxVTuGcvJ +81SAxS2fAn9vMTv7/AjyJq7baXl+zP4V6b7yFKgr1tPSqMcMM7u7RZN1nHJsY1I1 +Qo5Nv/7iCs/USc1/pzurJiIMQtD11noC0L49kxV8r3BsCBjXhZN8HGwbt02WX0ae +UJ7pm0xjrr9QJr9/6rLy2RWw2qWceMUsAeV/IYuD/h1r7SYGl8rFxC2BRsJqaUfU ++XkyvlXekZzhTjIjCCGxEYX5uN1wXdVaki9c41f1iuGoBwARAQABiQNVBBgBAgAg +AhsCFiEET6III2L+c60DuIgwqNxwZ+JfursFAly+Pk4BKcBdIAQZAQIABgUCUyOI +/gAKCRCqQ3PmyCx4rV29CACX5k+60iH6j+aKD325pOSBadOomJYvQybd81vjorDV +JusBX7zuFhyN98fhHkdTS5rWip82jtK/hWtqV5xEi1TuaPd7096g7pwl8gN51Fcp +0iqyy2ge51PB+WiqXiqcaRNZYBMMc6+/uE3lknLrXuVcxARwLWB/UviPmLgm0UMZ +aaSddh9itb3TiyJ63ykxeejqjpoi6dbmj7NP3nuxPAyQXbIGT2jH7JGzLKy6tIWB +yulbPAbtI7ZtGXvBqhZ5qWIYU5fUmENpqZJLlgzZz0fjrExwn64q2rb1t3Oe2iay +eMdxhHBT5s/vGmcorCy1c6Tf0iGODJc/ELfRETU0WXqrCRCo3HBn4l+6u5CMD/4t +5I209CXriZ8H0ExNDhqQw7FD/Xyt3oBPqWmdaktu1fqueCxAqWUYay+XjiTwURIF +dTYGl3REmI9wO13CPtQbDSxcZdEdZlAPxPDEefcAwd2gdPxkRtg5iv82JW0YL9Vi +ZF7zCjA+Ob/fV3dGlSABTR+B7W34HXo7N1D+gBXIQcm6ApawTCGhk/GPz88bF4+w +Y+zTL8H1cqz6GdfQsBeAKULisOA58aQluLd+lS6i4B6FnKyTbyqsvVBv5VC8RAbe +QaSSxmx1JCMbFEMudjkyW8X3w9OPHiIxQ2xoT1jcWshY1IlIL77dd3NtH4q+1zKO +oXEfDibEF8ua3Ji/qa8AjbqQB0jN/o/WnUJo6U16A2wQDyBPOP/Xg7cfu9MRaMos +y43V3CI/RiXyIKF0IVWGuAyK8peap8sMozwaNaYV8fNMLZrV0gjqohCDx0/NOddO +QxxvlxDKKtO8oMQZ17dHVdWeLb228aZrYaKubBg1EG3mJoNOYiHXmuwh4I4n+QXi +jC5d9MSNqA0Dx7fRwd/H2Xqfe9b56rhcxyoXDXL0KawBLB7BEHgD8hhBObWcV4SX +27CUliI5bAn6jTXMflbax7JeCUM7ftvuHbLScQz+qY7V/HKEAWcMa5aSBe9XGRrn +M3gZOVwKd3sMndhDdNSurBwXhKPR9hewfxKwFKaMgLgzBFsW830WCSsGAQQB2kcP +AQEHQPN1KutRNEw5ruEupwj5X47kn+dBPssCpVlxRfq+ix8BiQLfBBgBCABSFiEE +T6III2L+c60DuIgwqNxwZ+JfursFAlsW830xGmh0dHBzOi8vaW5jZW5wLm9yZy9v +cGVucGdwLWtleXNpZ25pbmctcG9saWN5LnR4dAIbAgCBCRCo3HBn4l+6u3YgBBkW +CAAdFiEEgMwbjQTCYt3+4ZgMb38PkdE4/HsFAlsW830ACgkQb38PkdE4/Hvh8QEA +6wYmL9DVE++/LXXS/rFC/PqEvR1Xg/INIEqFX4n6A5cA/3Z+OCyTRXlNL5/0VGOf +6fL9D7PIeSxuZMpR2f9m5dcE3egQAISwpiN5d9GjTyOAOcz06TGacLWgSnHXfZbH +7cbBZtde7iYbrkN1O1+hRksoj/VnGL3+fOwI2qhO7Xx4JN0dUddB36ga1ZOGyxS8 +n19KUO285uuSs/a+hQIqI2VC9V2plgPCg1afFEpwn7VjJa0BH63mjjoCVv+hzDFs +FcIr+c10C9rKL2MpoiywDGoW2lRj7DOOPiS1+KC+JApEcia7WlW5mvk7WfFmP8F4 +CR/NpMyc29+GWcr3rBFRQqftIyDUhYV5+RZhgvRzhGztxQ//2euLUI/puZxmffs4 ++kbp06Z6naMkjgGCSUNJGlhp3mlzsBMLK97/rMP4SZ4kumrO8ldx2Otv85B+onMU +KyzSkOWUiF88w/ihcUxxmWUkZEOn5T/EC4JTQZpghiwezoDCf5JOBGFp1ahzqZCL +lzLNEWdPK6Z/tOtzpGS9XNr8S9iOtjAfThb8Uu4pYs2pkjzdrJnHsUp8S6QhH9a4 +1CnDaDgw3qvasBfhi+Sl+nSiOJYo0cJrmBBtiMDj8c46JSnxg+9N3sahbak4OpXO +cPEex59sFWknX5fKt7OX0ksJxceEWzNxMwiMZLdn6OzFk25stRzqQTnplfWY+UEn +mIUH+Z72NjFdY6JVTksGeCXlSDxz1em8pBl68U97dY6jPC7tpPnc3HFJp53p8/7J +zYsuZj9nmDMEX0PliRYJKwYBBAHaRw8BAQdAz75Hlekc16JhhfI0MKdEVxLdkxhc +MCO0ZG6WMBAmNpe0H1dlcm5lciBLb2NoIChkaXN0IHNpZ25pbmcgMjAyMCmImgQT +FgoAQhYhBG2qbmSnbShAVxtJAlKIl7gmQDraBQJfQ+w1AhsDBQkShccRBQsJCAcC +AyICAQYVCgkICwIEFgIDAQIeBwIXgAAKCRBSiJe4JkA62nmuAP9uL/HOdB0gvwWr +H+FpURJLs4bnaZaPIk9ARrU0EXRgJgD/YCGfHQXpIPT0ZaXuwJexK04Z+qMFR/bM +1q1Leo5CjgY= +=278x +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/watch b/debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/watch similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/debian/watch rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/debian/watch diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/depcomp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/depcomp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/depcomp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/depcomp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/HACKING b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING similarity index 96% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/HACKING rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING index f48721ee..bfdbdde8 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/HACKING +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/HACKING @@ -22,7 +22,7 @@ or smaller, so that the generated ChangeLog lines, each with its leading TAB, will not exceed 80 columns. - For more infomration please check the HACHING file from the GnuPG + For more information please check the HACKING file from the GnuPG project. * String translation diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.am similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.am diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in similarity index 93% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in index 678205f6..e127328f 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -32,7 +32,17 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -96,18 +106,16 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(pinentry_TEXINFOS) $(top_srcdir)/build-aux/mdate-sh \ - $(srcdir)/version.texi $(srcdir)/stamp-vti \ - $(top_srcdir)/build-aux/texinfo.tex mdate-sh texinfo.tex ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \ + $(srcdir)/stamp-vti $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -201,6 +209,9 @@ am__uninstall_files_from_dir = { \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(pinentry_TEXINFOS) $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/mdate-sh \ + $(top_srcdir)/build-aux/texinfo.tex mdate-sh texinfo.tex DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -225,6 +236,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -234,6 +247,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -247,11 +261,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -260,6 +275,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -268,6 +285,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -281,16 +300,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -340,6 +366,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -368,14 +395,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -441,15 +467,16 @@ $(srcdir)/stamp-vti: pinentry.texi $(top_srcdir)/configure echo "@set UPDATED $$1 $$2 $$3"; \ echo "@set UPDATED-MONTH $$2 $$3"; \ echo "@set EDITION $(VERSION)"; \ - echo "@set VERSION $(VERSION)") > vti.tmp - @cmp -s vti.tmp $(srcdir)/version.texi \ - || (echo "Updating $(srcdir)/version.texi"; \ - cp vti.tmp $(srcdir)/version.texi) - -@rm -f vti.tmp + echo "@set VERSION $(VERSION)") > vti.tmp$$$$ && \ + (cmp -s vti.tmp$$$$ $(srcdir)/version.texi \ + || (echo "Updating $(srcdir)/version.texi" && \ + cp vti.tmp$$$$ $(srcdir)/version.texi.tmp$$$$ && \ + mv $(srcdir)/version.texi.tmp$$$$ $(srcdir)/version.texi)) && \ + rm -f vti.tmp$$$$ $(srcdir)/version.texi.$$$$ @cp $(srcdir)/version.texi $@ mostlyclean-vti: - -rm -f vti.tmp + -rm -f vti.tmp* $(srcdir)/version.texi.tmp* maintainer-clean-vti: @MAINTAINER_MODE_TRUE@ -rm -f $(srcdir)/stamp-vti $(srcdir)/version.texi @@ -553,7 +580,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -800,6 +830,8 @@ uninstall-am: uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-dvi-am uninstall-html-am uninstall-info-am \ uninstall-pdf-am uninstall-ps-am +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/gpl.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/gpl.texi similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/gpl.texi rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/gpl.texi diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/mdate-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/mdate-sh similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/mdate-sh rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/mdate-sh diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.info b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info similarity index 90% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.info rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info index 03622b89..a560bfaa 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.info +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.info @@ -1,4 +1,4 @@ -This is pinentry.info, produced by makeinfo version 6.3 from +This is pinentry.info, produced by makeinfo version 6.5 from pinentry.texi. INFO-DIR-SECTION GNU Utilities @@ -8,8 +8,8 @@ END-INFO-DIR-ENTRY This file documents the use and the internals of the PINENTRY. - This is edition 1.1.0, last updated 3 December 2017, of 'The -'PINEntry' Manual', for version 1.1.0. + This is edition 1.2.1, last updated 25 August 2021, of 'The +'PINEntry' Manual', for version 1.2.1. Published by g10 Code GmbH Hüttenstr. 61 @@ -124,15 +124,15 @@ File: pinentry.info, Node: Front ends, Next: Protocol, Prev: Using pinentry, ************ There are several different flavors of PINENTRY. Concretely, there are -Gtk+2, Qt 4, Gnome 3, Emacs, curses and tty variants. These different -implementations provide higher levels of integration with a specific -environment. For instance, the Gnome 3 PINENTRY uses Gnome 3 widgets to -display the prompts. For Gnome 3 users, this higher level of -integration provides a more consistent aesthetic. However, this comes -at a cost. Because this PINENTRY uses so many components, there is a -larger chance of a failure. In particular, there is a larger chance -that the passphrase is saved in memory and that memory is exposed to an -attacker (consider the OpenSSL Heartbeat vulnerability). +Gtk+2, Qt 4/5, TQt, EFL, FLTK, Gnome 3, Emacs, curses and tty variants. +These different implementations provide higher levels of integration +with a specific environment. For instance, the Gnome 3 PINENTRY uses +Gnome 3 widgets to display the prompts. For Gnome 3 users, this higher +level of integration provides a more consistent aesthetic. However, +this comes at a cost. Because this PINENTRY uses so many components, +there is a larger chance of a failure. In particular, there is a larger +chance that the passphrase is saved in memory and that memory is exposed +to an attacker (consider the OpenSSL Heartbeat vulnerability). To understand how many components touch the passphrase, consider again the Gnome 3 implementation. When a user presses a button on the @@ -288,6 +288,57 @@ encoded as '%25', etc.). With STRING being a percent escaped string shown as the tooltip. +'Enable enforcement of passphrase constraints' + This will make the pinentry check whether the new passphrase + entered by the user satisfies the passphrase constraints before + passing the passphrase to gpg-agent and closing the pinentry. This + gives the user the chance to modify the passphrase until the + constraints are satisfied without retyping the passphrase. + C: OPTION constraints-enforce + S: OK + + To inform the user about the constraints a short hint and a longer + hint can be set using + C: OPTION constraints-hint-short=At least 8 characters + S: OK + C: OPTION constraints-hint-long=The passphrase must ... + S: OK + + Additionally, a title for the dialog showing details in case of + unsatisfied constraints can be set using + C: OPTION constraints-error-title=Passphrase Not Allowed + S: OK + + All strings have to be percent escaped. + +'Enable an action for generating a passphrase' + Adds an action for generating a random passphrase to the GETPIN + window. The action is only available when asking for a new + passphrase, i.e. if SETREPEAT has been called. + C: SETGENPIN Suggest + S: OK + + If you want to provide a tooltip for the action, you may use + C: SETGENPIN_TT Suggest a random passphrase + S: OK + +'Enable passphrase formatting' + Passphrase formatting will group the characters of the passphrase + into groups of five characters separated by non-breaking spaces or + a similar separator. This is useful in combination with passphrase + generation to make the generated passphrase easier readable. + C: OPTION formatted-passphrase + S: OK + + Note: If passphrase formatting is enabled, then, depending on the + concrete pinentry, all occurrences of the character used as + separator may be stripped from the entered passphrase. + + To provide a hint for the user that is shown if passphrase + formatting is enabled use + C: OPTION formatted-passphrase-hint=Blanks are not part of the passphrase. + S: OK + 'Ask for a PIN' The meat of this tool is to ask for a passphrase of PIN, it is done with this command: @@ -366,7 +417,7 @@ encoded as '%25', etc.). C: getpin S: S PASSWORD_FROM_CACHE S: D 1234 - C: OK + S: OK Note: if 'allow-external-password-cache' is not specified, an external password cache must not be used: this can lead to subtle @@ -536,6 +587,49 @@ relevant elements that describe the layout: 'quality_bar_tt' A tooltip for the quality bar. +'constraints_enforce' + If this is not 0, then passphrase constraints are enforced by + gpg-agent. In this case pinentry can use the + 'pinentry_inq_checkpin' function for checking whether the new + passphrase satisfies the constraints before passing it to + gpg-agent. + +'constraints_hint_short' + A short translated hint for the user with the constraints for new + passphrases to be displayed near the passphrase input field. + +'constraints_hint_short' + A longer translated hint for the user with the constraints for new + passphrases to be displayed for example as tooltip. + +'constraints_error_title' + A short translated title for an error dialog informing the user + about unsatisfied passphrase constraints. + +'genpin_label' + If this is set, a generate action should be shown. The value of + this field is a label for the action. + + Note: Call the 'pinentry_inq_genpin' function to request a randomly + generated passphrase. + +'genpin_tt' + The tooltip for the generate action. + +'formatted_passphrase' + If this is not 0, then passphrase formatting should be enabled. If + it is enabled, then the unmasked passphrase should be grouped into + groups of five characters separated by non-breaking spaces or a + similar separator. + + To simplify the implementation all occurrences of the character + used as separator can be stripped from the entered passphrase, if + formatting is enabled. + +'formatted_passphrase_hint' + A hint to be shown if passphrase formatting is enabled. It should + be shown near the passphrase input field. + 'default_pwmngr' If 'may_cache_password' and 'keyinfo' are set and the user consents, then the PINENTRY may cache the password with an external @@ -556,6 +650,9 @@ relevant elements that describe the layout: Tooltip for an action that would hide the password revealed by the action labeld with 'default-tt-visi' +'default-capshint' + A hint to be shown if Caps Lock is on. + When the handler is done, it should store the passphrase in 'pin', if appropriate. This variable is allocated in secure memory. Use 'pinentry_setbufferlen' to size the buffer. @@ -980,13 +1077,13 @@ Index  Tag Table: -Node: Top816 -Node: Using pinentry2241 -Node: Front ends4092 -Node: Protocol7644 -Node: Implementation Details16103 -Node: Copying23985 -Node: Option Index43164 -Node: Index44246 +Node: Top815 +Node: Using pinentry2240 +Node: Front ends4091 +Node: Protocol7660 +Node: Implementation Details18285 +Node: Copying27843 +Node: Option Index47022 +Node: Index48104  End Tag Table diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi similarity index 84% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.texi rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi index 44e2eb1f..11728909 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/pinentry.texi +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/pinentry.texi @@ -100,7 +100,7 @@ This manual documents how to use the @pinentry{} and its protocol. The @pinentry{} is a small GUI application used to enter PINs or passphrases. It is usually invoked by @sc{gpg-agent} (@pxref{Invoking GPG-AGENT, ,Invoking the gpg-agent, gnupg, - The `GNU Privacy Guard' Manual}, for details). + The `GNU Privacy Guard' Manual}, for details). @pinentry{} comes in several flavors to fit the look and feel of the used GUI toolkit: A @sc{GTK+} based one named @code{pinentry-gtk}; a @@ -152,7 +152,7 @@ Here is a list of options supported by all flavors of pinentry: @table @gnupgtabopt @item --version @opindex version -Print the program version and licensing information. +Print the program version and licensing information. @item --help @opindex help @@ -198,10 +198,10 @@ indefinitely, set this to 0, which is the default. @itemx --ttytype @var{string} @itemx --lc-ctype @var{string} @itemx --lc-messages @var{string} -@opindex display -@opindex ttyname -@opindex ttytype -@opindex lc-ctype +@opindex display +@opindex ttyname +@opindex ttytype +@opindex lc-ctype @opindex lc-messa These options are used to pass localization information to @pinentry{}. They are required because @pinentry{} is usually called @@ -214,16 +214,16 @@ options using Assuan protocol options. @chapter Front Ends There are several different flavors of @pinentry{}. Concretely, there -are Gtk+2, Qt@tie{}4, Gnome@tie{}3, Emacs, curses and tty variants. -These different implementations provide higher levels of integration -with a specific environment. For instance, the Gnome@tie{}3 -@pinentry{} uses Gnome@tie{}3 widgets to display the prompts. For -Gnome@tie{}3 users, this higher level of integration provides a more -consistent aesthetic. However, this comes at a cost. Because this -@pinentry{} uses so many components, there is a larger chance of a -failure. In particular, there is a larger chance that the passphrase -is saved in memory and that memory is exposed to an attacker (consider -the OpenSSL Heartbeat vulnerability). +are Gtk+2, Qt@tie{}4/5, TQt, EFL, FLTK, Gnome@tie{}3, Emacs, curses and +tty variants. These different implementations provide higher levels +of integration with a specific environment. For instance, the +Gnome@tie{}3 @pinentry{} uses Gnome@tie{}3 widgets to display the +prompts. For Gnome@tie{}3 users, this higher level of integration +provides a more consistent aesthetic. However, this comes at a cost. +Because this @pinentry{} uses so many components, there is a larger +chance of a failure. In particular, there is a larger chance that the +passphrase is saved in memory and that memory is exposed to an +attacker (consider the OpenSSL Heartbeat vulnerability). To understand how many components touch the passphrase, consider again the Gnome@tie{}3 implementation. When a user presses a button on the @@ -274,7 +274,7 @@ available. If this is not the case, then they fallback to the curses front end. This can also be disabled by passing @code{--disable-fallback-curses} to @code{configure} at build time. -@c +@c @c Assuan Protocol @c @node Protocol @@ -408,6 +408,74 @@ If you want to show a tooltip for the quality bar, you may use With STRING being a percent escaped string shown as the tooltip. +@item Enable enforcement of passphrase constraints +This will make the pinentry check whether the new passphrase entered by +the user satisfies the passphrase constraints before passing the passphrase +to gpg-agent and closing the pinentry. This gives the user the chance to +modify the passphrase until the constraints are satisfied without retyping +the passphrase. +@example + C: OPTION constraints-enforce + S: OK +@end example + +To inform the user about the constraints a short hint and a longer hint +can be set using +@example + C: OPTION constraints-hint-short=At least 8 characters + S: OK + C: OPTION constraints-hint-long=The passphrase must ... + S: OK +@end example + +Additionally, a title for the dialog showing details in case of unsatisfied +constraints can be set using +@example + C: OPTION constraints-error-title=Passphrase Not Allowed + S: OK +@end example + +All strings have to be percent escaped. + + +@item Enable an action for generating a passphrase +Adds an action for generating a random passphrase to the GETPIN window. +The action is only available when asking for a new passphrase, i.e. if +SETREPEAT has been called. +@example + C: SETGENPIN Suggest + S: OK +@end example + +If you want to provide a tooltip for the action, you may use +@example + C: SETGENPIN_TT Suggest a random passphrase + S: OK +@end example + + +@item Enable passphrase formatting +Passphrase formatting will group the characters of the passphrase into +groups of five characters separated by non-breaking spaces or a similar +separator. This is useful in combination with passphrase generation to make +the generated passphrase easier readable. +@example + C: OPTION formatted-passphrase + S: OK +@end example + +Note: If passphrase formatting is enabled, then, depending on the concrete +pinentry, all occurrences of the character used as separator may be stripped +from the entered passphrase. + +To provide a hint for the user that is shown if passphrase formatting is +enabled use +@example + C: OPTION formatted-passphrase-hint=Blanks are not part of the passphrase. + S: OK +@end example + + @item Ask for a PIN The meat of this tool is to ask for a passphrase of PIN, it is done with this command: @@ -499,7 +567,7 @@ the passphrase retry counter. C: getpin S: S PASSWORD_FROM_CACHE S: D 1234 - C: OK + S: OK @end example Note: if @code{allow-external-password-cache} is not specified, an @@ -679,6 +747,47 @@ password quality widget correspondingly. @item @code{quality_bar_tt} A tooltip for the quality bar. +@item @code{constraints_enforce} +If this is not 0, then passphrase constraints are enforced by gpg-agent. +In this case pinentry can use the @code{pinentry_inq_checkpin} function +for checking whether the new passphrase satisfies the constraints before +passing it to gpg-agent. + +@item @code{constraints_hint_short} +A short translated hint for the user with the constraints for new +passphrases to be displayed near the passphrase input field. + +@item @code{constraints_hint_short} +A longer translated hint for the user with the constraints for new +passphrases to be displayed for example as tooltip. + +@item @code{constraints_error_title} +A short translated title for an error dialog informing the user about +unsatisfied passphrase constraints. + +@item @code{genpin_label} +If this is set, a generate action should be shown. The value of this +field is a label for the action. + +Note: Call the @code{pinentry_inq_genpin} function to request a randomly +generated passphrase. + +@item @code{genpin_tt} +The tooltip for the generate action. + +@item @code{formatted_passphrase} +If this is not 0, then passphrase formatting should be enabled. If it is +enabled, then the unmasked passphrase should be grouped into groups of five +characters separated by non-breaking spaces or a similar separator. + +To simplify the implementation all occurrences of the character used as +separator can be stripped from the entered passphrase, if formatting is +enabled. + +@item @code{formatted_passphrase_hint} +A hint to be shown if passphrase formatting is enabled. It should be shown +near the passphrase input field. + @item @code{default_pwmngr} If @code{may_cache_password} and @code{keyinfo} are set and the user consents, then the @pinentry{} may cache the password with an external @@ -699,6 +808,9 @@ Tooltip for an action that would reveal the entered password. Tooltip for an action that would hide the password revealed by the action labeld with @code{default-tt-visi} +@item @code{default-capshint} +A hint to be shown if Caps Lock is on. + @end table When the handler is done, it should store the passphrase in @@ -751,5 +863,3 @@ was pressed. @c --------------------------------------------------------------------- @bye - - diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti new file mode 100644 index 00000000..77a967c8 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/stamp-vti @@ -0,0 +1,4 @@ +@set UPDATED 25 August 2021 +@set UPDATED-MONTH August 2021 +@set EDITION 1.2.1 +@set VERSION 1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/texinfo.tex b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/texinfo.tex similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/doc/texinfo.tex rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/texinfo.tex diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi new file mode 100644 index 00000000..77a967c8 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/doc/version.texi @@ -0,0 +1,4 @@ +@set UPDATED 25 August 2021 +@set UPDATED-MONTH August 2021 +@set EDITION 1.2.1 +@set VERSION 1.2.1 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am new file mode 100644 index 00000000..23399b07 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.am @@ -0,0 +1,38 @@ +# Makefile.am - PIN entry EFL frontend. +# Copyright (C) 2017 Obsidian-Studios, Inc. +# Author William L. Thomson Jr. +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +## Process this file with automake to produce Makefile.in + +bin_PROGRAMS = pinentry-efl + +if FALLBACK_CURSES +ncurses_include = $(NCURSES_INCLUDE) +libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) +else +ncurses_include = +libcurses = +endif + +AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ + -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry +LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ + $(COMMON_LIBS) $(EFL_LIBS) $(libcurses) + +pinentry_efl_SOURCES = pinentry-efl.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in new file mode 100644 index 00000000..4d5cec7d --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/Makefile.in @@ -0,0 +1,690 @@ +# Makefile.in generated by automake 1.16.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2020 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program 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. + +@SET_MAKE@ + +# Makefile.am - PIN entry EFL frontend. +# Copyright (C) 2017 Obsidian-Studios, Inc. +# Author William L. Thomson Jr. +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = pinentry-efl$(EXEEXT) +subdir = efl +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ + $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am_pinentry_efl_OBJECTS = pinentry-efl.$(OBJEXT) +pinentry_efl_OBJECTS = $(am_pinentry_efl_OBJECTS) +pinentry_efl_LDADD = $(LDADD) +am__DEPENDENCIES_1 = +@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ +@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ +@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ +@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) +pinentry_efl_DEPENDENCIES = ../pinentry/libpinentry.a \ + ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-efl.Po +am__mv = mv -f +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(pinentry_efl_SOURCES) +DIST_SOURCES = $(pinentry_efl_SOURCES) +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMMON_CFLAGS = @COMMON_CFLAGS@ +COMMON_LIBS = @COMMON_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FLTKCFLAGS = @FLTKCFLAGS@ +FLTKCXXFLAGS = @FLTKCXXFLAGS@ +FLTKLIBS = @FLTKLIBS@ +FLTK_CONFIG = @FLTK_CONFIG@ +GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ +GNOME3_CFLAGS = @GNOME3_CFLAGS@ +GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ +GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ +GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ +GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ +GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ +GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ +GREP = @GREP@ +GTK2_CFLAGS = @GTK2_CFLAGS@ +GTK2_LIBS = @GTK2_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ +LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ +LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ +LIBCURSES = @LIBCURSES@ +LIBICONV = @LIBICONV@ +LIBNCURSES = @LIBNCURSES@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ +LIBSECRET_LIBS = @LIBSECRET_LIBS@ +LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MOC = @MOC@ +MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ +NCURSES_CFLAGS = @NCURSES_CFLAGS@ +NCURSES_INCLUDE = @NCURSES_INCLUDE@ +NCURSES_LIBS = @NCURSES_LIBS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ +PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ +PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ +PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ +PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ +PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ +PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +QTCHOOSER = @QTCHOOSER@ +RANLIB = @RANLIB@ +RCC = @RCC@ +RCC2 = @RCC2@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TQT_MOC = @TQT_MOC@ +VERSION = @VERSION@ +WINDRES = @WINDRES@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +@FALLBACK_CURSES_FALSE@ncurses_include = +@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) +@FALLBACK_CURSES_FALSE@libcurses = +@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) +AM_CPPFLAGS = $(COMMON_CFLAGS) $(EFL_CFLAGS) $(ncurses_include) \ + -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry + +LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ + $(COMMON_LIBS) $(EFL_LIBS) $(libcurses) + +pinentry_efl_SOURCES = pinentry-efl.c +all: all-am + +.SUFFIXES: +.SUFFIXES: .c .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu efl/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu efl/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +pinentry-efl$(EXEEXT): $(pinentry_efl_OBJECTS) $(pinentry_efl_DEPENDENCIES) $(EXTRA_pinentry_efl_DEPENDENCIES) + @rm -f pinentry-efl$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(pinentry_efl_OBJECTS) $(pinentry_efl_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-efl.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.c.o: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< + +.c.obj: +@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-am +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-am + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-am + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile $(PROGRAMS) +installdirs: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f ./$(DEPDIR)/pinentry-efl.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f ./$(DEPDIR)/pinentry-efl.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: install-am install-strip + +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ + distclean distclean-compile distclean-generic distclean-tags \ + distdir dvi dvi-am html html-am info info-am install \ + install-am install-binPROGRAMS install-data install-data-am \ + install-dvi install-dvi-am install-exec install-exec-am \ + install-html install-html-am install-info install-info-am \ + install-man install-pdf install-pdf-am install-ps \ + install-ps-am install-strip installcheck installcheck-am \ + installdirs maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c new file mode 100644 index 00000000..58796ba1 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/efl/pinentry-efl.c @@ -0,0 +1,621 @@ +/* pinentry-efl.c + Copyright (C) 2017 Obsidian-Studios, Inc. + Author William L. Thomson Jr. + + Based on pinentry-gtk2.c + Copyright (C) 1999 Robert Bihlmeyer + Copyright (C) 2001, 2002, 2007, 2015 g10 Code GmbH + Copyright (C) 2004 by Albrecht Dreß + + pinentry-efl is a pinentry application for the EFL widget set. + It tries to follow the Gnome Human Interface Guide as close as + possible. + + This program 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. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wstrict-prototypes" +#endif +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) +#pragma GCC diagnostic pop +#endif + +#ifdef HAVE_GETOPT_H +#include +#else +#include "getopt.h" +#endif /* HAVE_GETOPT_H */ + +#include "pinentry.h" + +#ifdef FALLBACK_CURSES +#include "pinentry-curses.h" +#endif + +#define PGMNAME "pinentry-efl" + +#ifndef VERSION +#define VERSION +#endif + +#define ENTRY_HIDE "Hide entry" +#define ENTRY_SHOW "Show entry" + +typedef enum { CONFIRM_CANCEL, CONFIRM_OK, CONFIRM_NOTOK } confirm_value_t; + +static const int WIDTH = 480; +static const int BUTTON_HEIGHT = 27; +static const int BUTTON_WIDTH = 70; +static const int BUTTON_ICON_SIZE = 13; +static const int PADDING = 5; + +static Eina_Bool got_input; +static Ecore_Timer *timer; +static Evas_Object *check_label; +static Evas_Object *error_label; +static Evas_Object *entry; +static Evas_Object *repeat_entry; +static Evas_Object *qualitybar; +static Evas_Object *win; +static char **pargv; +static int grab_failed; +static int passphrase_ok; +static int confirm_mode; +static int pargc; +static confirm_value_t confirm_value; +static pinentry_t pinentry; + +pinentry_cmd_handler_t pinentry_cmd_handler; + +static void +quit (void) +{ + evas_object_del(win); + elm_exit(); + ecore_main_loop_quit (); +} + +static void +delete_event (void *data EINA_UNUSED, + Evas_Object *obj EINA_UNUSED, + void *event EINA_UNUSED) +{ + pinentry->close_button = 1; + quit (); +} + +static void +changed_text_handler (void *data EINA_UNUSED, + Evas_Object *obj, + void *event EINA_UNUSED) +{ + const char *s; + int length; + int percent; + + got_input = EINA_TRUE; + + if (pinentry->repeat_passphrase && repeat_entry) + { + elm_object_text_set (repeat_entry, ""); + elm_object_text_set (error_label, ""); + } + + if (!qualitybar || !pinentry->quality_bar) + return; + + s = elm_object_text_get (obj); + if (!s) + s = ""; + length = strlen (s); + percent = length? pinentry_inq_quality (pinentry, s, length) : 0; + evas_object_color_set(qualitybar, + 255 - ( 2.55 * percent ), + 2.55 * percent, 0, 255); + elm_progressbar_value_set (qualitybar, (double) percent / 100.0); +} + +static void +on_check (void *data EINA_UNUSED, Evas_Object *obj, void *event EINA_UNUSED) +{ + if(elm_check_state_get(obj)) + { + elm_entry_password_set(entry, EINA_FALSE); + elm_object_text_set(check_label,ENTRY_HIDE); + } + else + { + elm_entry_password_set(entry, EINA_TRUE); + elm_object_text_set(check_label,ENTRY_SHOW); + } + evas_object_size_hint_min_set(check_label, + ELM_SCALE_SIZE(BUTTON_WIDTH), + ELM_SCALE_SIZE(BUTTON_HEIGHT)); + evas_object_size_hint_align_set(check_label, 0, 1); +} + +static void +on_click (void *data, Evas_Object *obj EINA_UNUSED, void *event EINA_UNUSED) +{ + if (confirm_mode) + { + confirm_value = (confirm_value_t) data; + quit (); + return; + } + + if (data) + { + const char *s; + const char *s2; + + s = elm_entry_entry_get (entry); + if (!s) + s = ""; + + if (pinentry->repeat_passphrase && repeat_entry) + { + s2 = elm_entry_entry_get (repeat_entry); + if (!s2) + s2 = ""; + if (strcmp (s, s2)) + { + elm_object_text_set(error_label, + pinentry->repeat_error_string? + pinentry->repeat_error_string: + "not correctly repeated"); + elm_object_focus_set(entry,EINA_TRUE); + return; + } + pinentry->repeat_okay = 1; + } + + passphrase_ok = 1; + pinentry_setbufferlen (pinentry, strlen (s) + 1); + if (pinentry->pin) + strncpy (pinentry->pin, s, strlen(s) + 1); + } + quit (); +} + +static void +enter_callback (void *data, Evas_Object * obj, void *event_info EINA_UNUSED) +{ + if (data) + elm_object_focus_set (data, 1); + else + on_click ((void *) CONFIRM_OK, obj, NULL); +} + +static Eina_Bool +timeout_cb (const void * data) +{ + pinentry_t pe = (pinentry_t)data; + if (!got_input) + { + ecore_main_loop_quit(); + if (pe) + pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); + } + + timer = NULL; + return ECORE_CALLBACK_DONE; +} + +static void +create_window (void) +{ + char *txt; + Evas_Object *icon; + Evas_Object *obj; + Evas_Object *table; + int btn_txt_len = 0; + int row = 0; + int ok_len = 0; + + win = elm_win_util_dialog_add(NULL,"pinentry","enter pin"); + elm_win_autodel_set(win, EINA_TRUE); + elm_win_center(win,EINA_TRUE,EINA_TRUE); + evas_object_smart_callback_add(win, "delete,request", delete_event, NULL); + + table = elm_table_add(win); + elm_table_padding_set(table,ELM_SCALE_SIZE(PADDING),0); + evas_object_size_hint_padding_set (table, + ELM_SCALE_SIZE(PADDING), + ELM_SCALE_SIZE(PADDING), + ELM_SCALE_SIZE(PADDING), + ELM_SCALE_SIZE(PADDING)); + evas_object_show(table); + + if (pinentry->title) + { + txt = elm_entry_utf8_to_markup(pinentry->title); + elm_win_title_set ( win, txt ); + free (txt); + } + + /* Description Label */ + if (pinentry->description) + { + char* aligned; + int len; + + obj = elm_label_add(table); + elm_label_line_wrap_set (obj, ELM_WRAP_WORD); + txt = elm_entry_utf8_to_markup(pinentry->description); + len = strlen(txt)+20; // 20 chars for align tag + aligned = calloc(len+1,sizeof(char)); + if(aligned) + { + snprintf(aligned,len, "%s",txt); + elm_object_text_set(obj,aligned); + free (aligned); + } else + elm_object_text_set(obj,txt); + free (txt); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); + elm_table_pack(table, obj, 1, row, 5, 1); + evas_object_show(obj); + row++; + } + if (!confirm_mode && (pinentry->error || pinentry->repeat_passphrase)) + { + /* Error Label */ + if (pinentry->error) + txt = elm_entry_utf8_to_markup(pinentry->error); + else + txt = ""; + obj = elm_label_add(table); + evas_object_color_set(obj, 255, 0, 0, 255); + elm_object_text_set(obj,txt); + elm_object_style_set(obj,"slide_bounce"); + elm_label_slide_duration_set(obj, 10); + elm_label_slide_mode_set(obj, ELM_LABEL_SLIDE_MODE_ALWAYS); + elm_label_slide_go(obj); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0); + elm_table_pack(table, obj, 1, row, 5, 1); + evas_object_show(obj); + if (pinentry->error) + free (txt); + row++; + } + + qualitybar = NULL; + + if (!confirm_mode) + { + + if (pinentry->prompt) + { + /* Entry/Prompt Label */ + obj = elm_label_add(table); + txt = elm_entry_utf8_to_markup(pinentry->prompt); + elm_object_text_set(obj,txt); + free (txt); + evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); + elm_table_pack(table, obj, 1, row, 1, 1); + evas_object_show(obj); + } + + entry = elm_entry_add(table); + elm_entry_scrollable_set(entry, EINA_TRUE); + elm_scroller_policy_set(entry, + ELM_SCROLLER_POLICY_OFF, + ELM_SCROLLER_POLICY_OFF); + elm_entry_password_set(entry, EINA_TRUE); + elm_entry_single_line_set(entry, EINA_TRUE); + evas_object_size_hint_weight_set(entry, 0, 0); + evas_object_size_hint_align_set(entry, EVAS_HINT_FILL, 0); + elm_table_pack(table, entry, 2, row, 4, 1); + evas_object_smart_callback_add(entry, + "changed", + changed_text_handler, + NULL); + evas_object_show(entry); + row++; + + /* Check box */ + obj = elm_check_add(table); + evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); + elm_table_pack(table, obj, 1, row, 1, 1); + evas_object_smart_callback_add(obj, "changed", on_check, NULL); + evas_object_show(obj); + + /* Check Label */ + check_label = elm_label_add(table); + on_check((void *)NULL, obj, (void *)NULL); + elm_table_pack(table, check_label, 2, row, 4, 1); + evas_object_show(check_label); + row++; + + if (pinentry->quality_bar) + { + /* Quality Bar Label */ + obj = elm_label_add(table); + txt = elm_entry_utf8_to_markup(pinentry->quality_bar); + elm_object_text_set(obj,txt); + free (txt); + evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); + elm_table_pack(table, obj, 1, row, 1, 1); + evas_object_show(obj); + + qualitybar = elm_progressbar_add(table); + evas_object_color_set(qualitybar, 255, 0, 0, 255); + evas_object_show(qualitybar); + if (pinentry->quality_bar_tt) + elm_object_tooltip_text_set (qualitybar, + pinentry->quality_bar_tt); + evas_object_size_hint_weight_set(qualitybar, EVAS_HINT_EXPAND, 0); + evas_object_size_hint_align_set(qualitybar, EVAS_HINT_FILL, 0); + elm_table_pack(table, qualitybar, 2, row, 4, 1); + row++; + } + + if (pinentry->repeat_passphrase) + { + /* Repeat Label */ + obj = elm_label_add(table); + txt = elm_entry_utf8_to_markup(pinentry->repeat_passphrase); + elm_object_text_set(obj,txt); + free (txt); + evas_object_size_hint_weight_set(obj, 0, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(obj, 1, EVAS_HINT_FILL); + elm_table_pack(table, obj, 1, row, 1, 1); + evas_object_show(obj); + + repeat_entry = elm_entry_add(table); + elm_entry_scrollable_set(repeat_entry, EINA_TRUE); + elm_scroller_policy_set(repeat_entry, + ELM_SCROLLER_POLICY_OFF, + ELM_SCROLLER_POLICY_OFF); + elm_entry_password_set(repeat_entry, EINA_TRUE); + elm_entry_single_line_set(repeat_entry, EINA_TRUE); + evas_object_size_hint_weight_set(repeat_entry, 0, 0); + evas_object_size_hint_align_set(repeat_entry, EVAS_HINT_FILL, 0); + elm_table_pack(table, repeat_entry, 2, row, 4, 1); + evas_object_smart_callback_add (repeat_entry, "activated", + enter_callback, NULL); + evas_object_show(repeat_entry); + evas_object_smart_callback_add (entry, + "activated", + enter_callback, + repeat_entry); + evas_object_smart_callback_add(repeat_entry, + "activated", + on_click, + (void *) CONFIRM_OK); + row++; + } + else + evas_object_smart_callback_add(entry, + "activated", + on_click, + (void *) CONFIRM_OK); + } + + /* Cancel Button */ + if (!pinentry->one_button) + { + obj = elm_button_add(table); + icon = elm_icon_add (table); + evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + if (elm_icon_standard_set (icon, "dialog-cancel") || + elm_icon_standard_set (icon, "window-close")) + { + evas_object_size_hint_min_set(icon, + ELM_SCALE_SIZE(BUTTON_ICON_SIZE), + ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); + elm_object_part_content_set(obj, "icon", icon); + evas_object_show (icon); + } + else + evas_object_del(icon); + if (pinentry->cancel || pinentry->default_cancel) + { + if(pinentry->cancel) + txt = elm_entry_utf8_to_markup(pinentry->cancel); + else + txt = elm_entry_utf8_to_markup(pinentry->default_cancel); + if(txt[0]=='_') + elm_object_text_set(obj,txt+1); + else + elm_object_text_set(obj,txt); + btn_txt_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); + free (txt); + } + else + elm_object_text_set(obj, "Cancel"); //STOCK_CANCEL + evas_object_size_hint_align_set(obj, 0, 0); + if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) + evas_object_size_hint_min_set(obj, + btn_txt_len, + ELM_SCALE_SIZE(BUTTON_HEIGHT)); + else + evas_object_size_hint_min_set(obj, + ELM_SCALE_SIZE(BUTTON_WIDTH), + ELM_SCALE_SIZE(BUTTON_HEIGHT)); + elm_table_pack(table, obj, 4, row, 1, 1); + evas_object_smart_callback_add(obj, + "clicked", + on_click, + (void *) CONFIRM_CANCEL); + evas_object_show(obj); + } + + /* OK Button */ + obj = elm_button_add(table); + icon = elm_icon_add (table); + evas_object_size_hint_aspect_set (icon, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + if (elm_icon_standard_set (icon, "dialog-ok") || + elm_icon_standard_set (icon, "list-add")) + { + evas_object_size_hint_min_set(icon, + ELM_SCALE_SIZE(BUTTON_ICON_SIZE), + ELM_SCALE_SIZE(BUTTON_ICON_SIZE)); + elm_object_part_content_set(obj, "icon", icon); + evas_object_show (icon); + } + else + evas_object_del(icon); + if (pinentry->ok || pinentry->default_ok) + { + if(pinentry->ok) + txt = elm_entry_utf8_to_markup(pinentry->ok); + else + txt = elm_entry_utf8_to_markup(pinentry->default_ok); + if(txt[0]=='_') + elm_object_text_set(obj,txt+1); + else + elm_object_text_set(obj,txt); + ok_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5)); + if(ok_len>btn_txt_len) + btn_txt_len = ok_len; + free (txt); + } + else + elm_object_text_set(obj,"OK"); //STOCK_OK + evas_object_size_hint_align_set(obj, 0, 0); + if(btn_txt_len>ELM_SCALE_SIZE(BUTTON_WIDTH)) + evas_object_size_hint_min_set(obj, + btn_txt_len, + ELM_SCALE_SIZE(BUTTON_HEIGHT)); + else + evas_object_size_hint_min_set(obj, + ELM_SCALE_SIZE(BUTTON_WIDTH), + ELM_SCALE_SIZE(BUTTON_HEIGHT)); + elm_table_pack(table, obj, 5, row, 1, 1); + evas_object_smart_callback_add(obj, "clicked", on_click, (void *) CONFIRM_OK); + evas_object_show(obj); + + /* Key/Lock Icon */ + obj = elm_icon_add (win); + evas_object_size_hint_aspect_set (obj, EVAS_ASPECT_CONTROL_BOTH, 1, 1); + if (elm_icon_standard_set (obj, "dialog-password")) + { + double ic_size = WIDTH/5; + if(row==0) + ic_size = ic_size/3.5; + else if(row<4) + ic_size = ic_size - ic_size/row; + evas_object_size_hint_min_set(obj, + ELM_SCALE_SIZE(ic_size), + ELM_SCALE_SIZE(ic_size)); + evas_object_size_hint_weight_set(obj, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, 0.5); + elm_table_pack(table, obj, 0, 0, 1, row? row:1); + evas_object_show (obj); + } + else + evas_object_del(obj); + + /* Box for padding */ + obj = elm_box_add (win); + elm_box_pack_end (obj, table); + evas_object_show (obj); + + elm_win_resize_object_add(win,obj); + + if(entry) + elm_object_focus_set (entry, EINA_TRUE); + + evas_object_show(win); + elm_win_activate(win); + + if (pinentry->timeout > 0) + timer = ecore_timer_add (pinentry->timeout, + (Ecore_Task_Cb)timeout_cb, + pinentry); +} + +static int +efl_cmd_handler (pinentry_t pe) +{ + int want_pass = !!pe->pin; + + got_input = EINA_FALSE; + pinentry = pe; + confirm_value = CONFIRM_CANCEL; + passphrase_ok = 0; + confirm_mode = want_pass ? 0 : 1; + /* init ecore-x explicitly using DISPLAY since this can launch + * from console + */ + if (pe->display) + ecore_x_init (pe->display); + elm_init (pargc, pargv); + create_window (); + ecore_main_loop_begin (); + + if (timer) + { + ecore_timer_del (timer); + timer = NULL; + } + + if (confirm_value == CONFIRM_CANCEL || grab_failed) + pe->canceled = 1; + + pinentry = NULL; + if (want_pass) + { + if (passphrase_ok && pe->pin) + return strlen (pe->pin); + else + return -1; + } + else + return (confirm_value == CONFIRM_OK) ? 1 : 0; +} + +int +main (int argc, char *argv[]) +{ + pinentry_init (PGMNAME); + +#ifdef FALLBACK_CURSES + if (pinentry_have_display (argc, argv)) + { +#endif + + pinentry_cmd_handler = efl_cmd_handler; + pargc = argc; + pargv = argv; + +#ifdef FALLBACK_CURSES + } + else + { + pinentry_cmd_handler = curses_cmd_handler; + } +#endif + + pinentry_parse_opts (argc, argv); + if (pinentry_loop ()) + return 1; + + return 0; +} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am similarity index 95% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am index c75c93de..6bb806bd 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.am @@ -23,6 +23,6 @@ bin_PROGRAMS = pinentry-emacs AM_CPPFLAGS = $(COMMON_CFLAGS) $(NEMACS_INCLUDE) -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(LIBEMACS) $(LIBICONV) + $(COMMON_LIBS) $(LIBEMACS) $(LIBICONV) pinentry_emacs_SOURCES = pinentry-emacs.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in index e2b6bdda..97da3707 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-emacs$(EXEEXT) subdir = emacs -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -121,7 +130,7 @@ pinentry_emacs_LDADD = $(LDADD) am__DEPENDENCIES_1 = pinentry_emacs_DEPENDENCIES = ../pinentry/libpinentry.a \ ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -136,7 +145,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-emacs.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -176,6 +186,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -200,6 +212,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -209,6 +223,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -222,11 +237,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -235,6 +251,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -243,6 +261,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -256,16 +276,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -315,6 +342,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -325,7 +353,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(COMMON_CFLAGS) $(NEMACS_INCLUDE) -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(LIBEMACS) $(LIBICONV) + $(COMMON_LIBS) $(LIBEMACS) $(LIBICONV) pinentry_emacs_SOURCES = pinentry-emacs.c all: all-am @@ -344,14 +372,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu emacs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu emacs/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -415,7 +442,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -483,7 +516,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -555,7 +591,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-emacs.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -601,7 +637,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-emacs.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -621,7 +657,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -635,6 +671,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/pinentry-emacs.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/pinentry-emacs.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c index 57505020..116cddc8 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/emacs/pinentry-emacs.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/emacs/pinentry-emacs.c @@ -37,11 +37,11 @@ main (int argc, char *argv[]) { pinentry_init ("pinentry-emacs"); + pinentry_parse_opts (argc, argv); + if (!pinentry_emacs_init ()) return 1; - pinentry_parse_opts (argc, argv); - if (pinentry_loop ()) return 1; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am similarity index 93% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am index 598c4c4e..660ab4ce 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.am @@ -13,7 +13,7 @@ endif AM_CPPFLAGS = $(COMMON_CFLAGS) $(FLTKCXXFLAGS) $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry AM_CXXFLAGS = -std=c++11 -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCAP) $(FLTKLIBS) $(libcurses) +LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(FLTKLIBS) $(libcurses) pinentry_fltk_SOURCES = main.cxx pinwindow.cxx pinwindow.h \ passwindow.cxx passwindow.h \ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in similarity index 90% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in index e976508b..78a8c57a 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -18,7 +18,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -83,16 +93,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-fltk$(EXEEXT) subdir = fltk -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -110,8 +119,7 @@ am__DEPENDENCIES_1 = @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) pinentry_fltk_DEPENDENCIES = ../pinentry/libpinentry.a \ ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -126,7 +134,9 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/main.Po ./$(DEPDIR)/passwindow.Po \ + ./$(DEPDIR)/pinwindow.Po ./$(DEPDIR)/qualitypasswindow.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) @@ -179,6 +189,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -203,6 +215,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -212,6 +226,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -225,11 +240,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -238,6 +254,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -246,6 +264,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -259,16 +279,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -318,6 +345,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -332,7 +360,7 @@ top_srcdir = @top_srcdir@ @FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) AM_CPPFLAGS = $(COMMON_CFLAGS) $(FLTKCXXFLAGS) $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry AM_CXXFLAGS = -std=c++11 -LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(LIBCAP) $(FLTKLIBS) $(libcurses) +LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a $(COMMON_LIBS) $(FLTKLIBS) $(libcurses) pinentry_fltk_SOURCES = main.cxx pinwindow.cxx pinwindow.h \ passwindow.cxx passwindow.h \ qualitypasswindow.cxx qualitypasswindow.h @@ -354,14 +382,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu fltk/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu fltk/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -425,10 +452,16 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwindow.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinwindow.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qualitypasswindow.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/passwindow.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinwindow.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qualitypasswindow.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cxx.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -496,7 +529,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -568,7 +604,10 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/passwindow.Po + -rm -f ./$(DEPDIR)/pinwindow.Po + -rm -f ./$(DEPDIR)/qualitypasswindow.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -614,7 +653,10 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/passwindow.Po + -rm -f ./$(DEPDIR)/pinwindow.Po + -rm -f ./$(DEPDIR)/qualitypasswindow.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -634,7 +676,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -648,6 +690,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/encrypt.xpm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/encrypt.xpm similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/encrypt.xpm rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/encrypt.xpm diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/icon.xpm b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/icon.xpm similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/icon.xpm rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/icon.xpm diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/main.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx similarity index 86% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/main.cxx rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx index 8e7e7262..2afad1cd 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/main.cxx +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/main.cxx @@ -78,6 +78,44 @@ static std::string escape_accel_utf8(const char *s) return result; } +// For button labels +// Accelerator '_' (used e.g. by GPG2) is converted to '&' (for FLTK) +// '&' is escaped as in escape_accel_utf8() +static std::string convert_accel_utf8(const char *s) +{ + static bool last_was_underscore = false; + std::string result; + if (NULL != s) + { + result.reserve(strlen(s)); + for (const char *p = s; *p; ++p) + { + // & => && + if ('&' == *p) + result.push_back(*p); + // _ => & (handle '__' as escaped underscore) + if ('_' == *p) + { + if (last_was_underscore) + { + result.push_back(*p); + last_was_underscore = false; + } + else + last_was_underscore = true; + } + else + { + if (last_was_underscore) + result.push_back('&'); + result.push_back(*p); + last_was_underscore = false; + } + } + } + return result; +} + class cancel_exception { @@ -111,8 +149,8 @@ static int fltk_cmd_handler(pinentry_t pe) // TODO: Add parent window to pinentry-fltk window //if (pe->parent_wid){} std::string title = !is_empty(pe->title)?pe->title:PGMNAME; - std::string ok = escape_accel_utf8(pe->ok?pe->ok:(pe->default_ok?pe->default_ok:OK_STRING)); - std::string cancel = escape_accel_utf8(pe->cancel?pe->cancel:(pe->default_cancel?pe->default_cancel:CANCEL_STRING)); + std::string ok = convert_accel_utf8(pe->ok?pe->ok:(pe->default_ok?pe->default_ok:OK_STRING)); + std::string cancel = convert_accel_utf8(pe->cancel?pe->cancel:(pe->default_cancel?pe->default_cancel:CANCEL_STRING)); if (!!pe->pin) // password (or confirmation) { @@ -241,12 +279,12 @@ static int fltk_cmd_handler(pinentry_t pe) if (pe->one_button) { fl_ok = ok.c_str(); - fl_message(message); + fl_message("%s", message); result = 1; // OK } else if (pe->notok) { - switch (fl_choice(message, ok.c_str(), cancel.c_str(), pe->notok)) + switch (fl_choice("%s", ok.c_str(), cancel.c_str(), pe->notok, message)) { case 0: result = 1; break; case 2: result = 0; break; @@ -256,7 +294,7 @@ static int fltk_cmd_handler(pinentry_t pe) } else { - switch (fl_choice(message, ok.c_str(), cancel.c_str(), NULL)) + switch (fl_choice("%s", ok.c_str(), cancel.c_str(), NULL, message)) { case 0: result = 1; break; default: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/passwindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.cxx similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/passwindow.cxx rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.cxx diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/passwindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/passwindow.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/passwindow.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/pinwindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.cxx similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/pinwindow.cxx rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.cxx diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/pinwindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/pinwindow.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/pinwindow.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/qualitypasswindow.cxx b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.cxx similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/qualitypasswindow.cxx rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.cxx diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/qualitypasswindow.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/fltk/qualitypasswindow.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/fltk/qualitypasswindow.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am similarity index 95% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am index 6b7064fd..96ae5a61 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.am @@ -32,6 +32,6 @@ endif AM_CPPFLAGS = $(COMMON_CFLAGS) $(GNOME3_CFLAGS) \ $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(GNOME3_LIBS) $(libcurses) + $(COMMON_LIBS) $(GNOME3_LIBS) $(libcurses) pinentry_gnome3_SOURCES = pinentry-gnome3.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in index 6ee497e2..9d4c480e 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-gnome3$(EXEEXT) subdir = gnome3 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -125,8 +134,7 @@ am__DEPENDENCIES_1 = @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) pinentry_gnome3_DEPENDENCIES = ../pinentry/libpinentry.a \ ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -141,7 +149,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-gnome3.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -181,6 +190,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -205,6 +216,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -214,6 +227,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -227,11 +241,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -240,6 +255,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -248,6 +265,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -261,16 +280,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -320,6 +346,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -336,7 +363,7 @@ AM_CPPFLAGS = $(COMMON_CFLAGS) $(GNOME3_CFLAGS) \ $(ncurses_include) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(GNOME3_LIBS) $(libcurses) + $(COMMON_LIBS) $(GNOME3_LIBS) $(libcurses) pinentry_gnome3_SOURCES = pinentry-gnome3.c all: all-am @@ -355,14 +382,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gnome3/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gnome3/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -426,7 +452,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gnome3.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gnome3.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -494,7 +526,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -566,7 +601,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-gnome3.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -612,7 +647,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-gnome3.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -632,7 +667,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -646,6 +681,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/pinentry-gnome3.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c similarity index 98% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/pinentry-gnome3.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c index b395676d..0b8d8d18 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gnome3/pinentry-gnome3.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gnome3/pinentry-gnome3.c @@ -214,7 +214,6 @@ create_prompt (pinentry_t pe, int confirm) ui/frob-system-prompt.c for example conversion using %lu */ snprintf (window_id, sizeof (window_id), "%lu", (long unsigned int)pe->parent_wid); - window_id[sizeof (window_id) - 1] = '\0'; gcr_prompt_set_caller_window (prompt, window_id); #ifdef HAVE_LIBSECRET @@ -446,15 +445,15 @@ pe_gnome_screen_locked (void) NULL, ((const GVariantType *) "(b)"), G_DBUS_CALL_FLAGS_NO_AUTO_START, - 0, + -1, NULL, &error); g_object_unref(dbus); if (!reply) { - /* G_IO_ERROR_TIMED_OUT is the expected response when there is + /* G_IO_ERROR_IS_DIRECTORY is the expected response when there is * no gnome screensaver at all, don't be noisy in that case: */ - if (!(error && error->code == G_IO_ERROR_TIMED_OUT)) + if (!(error && error->code == G_IO_ERROR_IS_DIRECTORY)) fprintf (stderr, "Failed to get d-bus reply for org.gnome.ScreenSaver.GetActive (%d): %s\n", error ? error->code : -1, error ? error->message : ""); diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am similarity index 96% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am index a908f81d..0523b0bf 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.am @@ -32,6 +32,6 @@ endif AM_CPPFLAGS = $(COMMON_CFLAGS) $(GTK2_CFLAGS) $(ncurses_include) \ -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(GTK2_LIBS) $(libcurses) + $(COMMON_LIBS) $(GTK2_LIBS) $(libcurses) pinentry_gtk_2_SOURCES = pinentry-gtk-2.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in index 9bc0fe8f..e7280593 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-gtk-2$(EXEEXT) subdir = gtk+-2 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -125,8 +134,7 @@ am__DEPENDENCIES_1 = @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) pinentry_gtk_2_DEPENDENCIES = ../pinentry/libpinentry.a \ ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_2) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -141,7 +149,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-gtk-2.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -181,6 +190,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -205,6 +216,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -214,6 +227,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -227,11 +241,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -240,6 +255,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -248,6 +265,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -261,16 +280,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -320,6 +346,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -336,7 +363,7 @@ AM_CPPFLAGS = $(COMMON_CFLAGS) $(GTK2_CFLAGS) $(ncurses_include) \ -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(GTK2_LIBS) $(libcurses) + $(COMMON_LIBS) $(GTK2_LIBS) $(libcurses) pinentry_gtk_2_SOURCES = pinentry-gtk-2.c all: all-am @@ -355,14 +382,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu gtk+-2/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu gtk+-2/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -426,7 +452,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gtk-2.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-gtk-2.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -494,7 +526,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -566,7 +601,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-gtk-2.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -612,7 +647,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-gtk-2.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -632,7 +667,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -646,6 +681,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/pinentry-gtk-2.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c similarity index 97% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/pinentry-gtk-2.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c index c8036284..32112ae3 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/gtk+-2/pinentry-gtk-2.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/gtk+-2/pinentry-gtk-2.c @@ -71,9 +71,6 @@ static GtkWidget *entry; static GtkWidget *repeat_entry; static GtkWidget *error_label; static GtkWidget *qualitybar; -#if !GTK_CHECK_VERSION (2, 12, 0) -static GtkTooltips *tooltips; -#endif static gboolean got_input; static guint timeout_source; static int confirm_mode; @@ -402,14 +399,12 @@ changed_text_handler (GtkWidget *widget) else if (percent < 0) { snprintf (textbuf, sizeof textbuf, "(%d%%)", -percent); - textbuf[sizeof textbuf -1] = 0; color.red = 0xffff; percent = -percent; } else { snprintf (textbuf, sizeof textbuf, "%d%%", percent); - textbuf[sizeof textbuf -1] = 0; color.green = 0xffff; } gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), @@ -419,6 +414,23 @@ changed_text_handler (GtkWidget *widget) } +/* Called upon a press on Backspace in the entry widget. + Used to completely disable echoing if we got no prior input. */ +static void +backspace_handler (GtkWidget *widget, gpointer data) +{ + (void)widget; + (void)data; + + if (!got_input) + { + gtk_entry_set_invisible_char (GTK_ENTRY (entry), 0); + if (repeat_entry) + gtk_entry_set_invisible_char (GTK_ENTRY (repeat_entry), 0); + } +} + + #ifdef HAVE_LIBSECRET static void may_save_passphrase_toggled (GtkWidget *widget, gpointer data) @@ -568,10 +580,6 @@ create_window (pinentry_t ctx) repeat_entry = NULL; -#if !GTK_CHECK_VERSION (2, 12, 0) - tooltips = gtk_tooltips_new (); -#endif - /* FIXME: check the grabbing code against the one we used with the old gpg-agent */ win = gtk_window_new (GTK_WINDOW_TOPLEVEL); @@ -713,6 +721,14 @@ create_window (pinentry_t ctx) gtk_widget_set_size_request (entry, 200, -1); g_signal_connect (G_OBJECT (entry), "changed", G_CALLBACK (changed_text_handler), entry); + + /* Enable disabling echo if we're not asking for a PIN. */ + if (pinentry->prompt && !strstr (pinentry->prompt, "PIN")) + { + g_signal_connect (G_OBJECT (entry), "backspace", + G_CALLBACK (backspace_handler), entry); + } + hbox = gtk_hbox_new (FALSE, HIG_TINY); gtk_box_pack_start (GTK_BOX (hbox), entry, TRUE, TRUE, 0); /* There was a wish in issue #2139 that this button should not @@ -739,13 +755,8 @@ create_window (pinentry_t ctx) gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (qualitybar), 0.0); if (pinentry->quality_bar_tt && !pinentry->grab) { -#if !GTK_CHECK_VERSION (2, 12, 0) - gtk_tooltips_set_tip (GTK_TOOLTIPS (tooltips), qualitybar, - pinentry->quality_bar_tt, ""); -#else gtk_widget_set_tooltip_text (qualitybar, pinentry->quality_bar_tt); -#endif } gtk_table_attach (GTK_TABLE (table), qualitybar, 1, 2, nrow, nrow+1, GTK_EXPAND|GTK_FILL, GTK_EXPAND|GTK_FILL, 0, 0); @@ -879,7 +890,7 @@ create_window (pinentry_t ctx) gtk_container_add (GTK_CONTAINER(bbox), w); if (!confirm_mode) { - GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT); + gtk_widget_set_can_default (w, TRUE); gtk_widget_grab_default (w); } diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/install-sh b/debian/pinentry-tqt/pinentry-tqt-1.2.1/install-sh similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/install-sh rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/install-sh diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/ChangeLog b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/ChangeLog similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/ChangeLog rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/ChangeLog diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.am similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.am diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in similarity index 90% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in index 8e3263d0..0fb709b6 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -14,7 +14,17 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -78,15 +88,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = m4 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -111,6 +121,7 @@ am__can_run_installinfo = \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in ChangeLog DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -135,6 +146,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -144,6 +157,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -157,11 +171,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -170,6 +185,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -178,6 +195,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -191,16 +210,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -250,6 +276,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -276,14 +303,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -301,7 +327,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -444,6 +473,8 @@ uninstall-am: maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ pdf-am ps ps-am tags-am uninstall uninstall-am +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/curses.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 similarity index 90% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/curses.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 index 792159c8..572d3214 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/curses.m4 +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/curses.m4 @@ -43,14 +43,12 @@ AC_DEFUN([IU_LIB_NCURSES], [ # Use ncurses header files instead of the ordinary ones, if possible; # is there a better way of doing this, that avoids looking in specific # directories? - AC_ARG_WITH(ncurses-include-dir, -[ --with-ncurses-include-dir=DIR - Set directory containing the include files for + AC_ARG_WITH([ncurses-include-dir], + AS_HELP_STRING([--with-ncurses-include-dir=DIR], + [Set directory containing the include files for use with -lncurses, when it isn't installed as the default curses library. If DIR is "none", - then no special ncurses include files are used. - --without-ncurses-include-dir - Equivalent to --with-ncurses-include-dir=none])dnl + then no special ncurses include files are used.])) if test "${with_ncurses_include_dir+set}" = set; then AC_MSG_CHECKING(for ncurses include dir) case "$with_ncurses_include_dir" in @@ -112,9 +110,9 @@ AC_DEFUN([IU_LIB_TERMCAP], [ fi AC_SUBST(LIBTERMCAP)])dnl -dnl IU_LIB_CURSES -- checke for curses, and associated libraries +dnl IU_LIB_CURSES -- check for curses, and associated libraries dnl -dnl Checks for varions libraries implementing the curses interface, and if +dnl Checks for various libraries implementing the curses interface, and if dnl found, defines LIBCURSES to be the appropriate linker specification, dnl *including* any termcap libraries if needed (some versions of curses dnl don't need termcap). @@ -132,9 +130,7 @@ AC_DEFUN([IU_LIB_CURSES], [ AC_CACHE_CHECK(whether curses needs $LIBTERMCAP, inetutils_cv_curses_needs_termcap, LIBS="$LIBCURSES" - AC_TRY_LINK([#include ], [initscr ();], - [inetutils_cv_curses_needs_termcap=no], - [inetutils_cv_curses_needs_termcap=yes])) + AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], [[initscr ();]])],[inetutils_cv_curses_needs_termcap=no],[inetutils_cv_curses_needs_termcap=yes])) if test $inetutils_cv_curses_needs_termcap = yes; then LIBCURSES="$LIBCURSES $LIBTERMCAP" fi diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/glib.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/glib.m4 similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/glib.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/glib.m4 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 new file mode 100644 index 00000000..4b5cd40b --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gpg-error.m4 @@ -0,0 +1,208 @@ +# gpg-error.m4 - autoconf macro to detect libgpg-error. +# Copyright (C) 2002, 2003, 2004, 2011, 2014, 2018, 2020, 2021 +# 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. +# +# Last-changed: 2022-02-15 + + +dnl AM_PATH_GPG_ERROR([MINIMUM-VERSION, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND ]]]) +dnl +dnl Test for libgpg-error and define GPG_ERROR_CFLAGS, GPG_ERROR_LIBS, +dnl GPG_ERROR_MT_CFLAGS, and GPG_ERROR_MT_LIBS. The _MT_ variants are +dnl used for programs requireing real multi thread support. +dnl +dnl If a prefix option is not used, the config script is first +dnl searched in $SYSROOT/bin and then along $PATH. If the used +dnl config script does not match the host specification the script +dnl is added to the gpg_config_script_warn variable. +dnl +AC_DEFUN([AM_PATH_GPG_ERROR], +[ AC_REQUIRE([AC_CANONICAL_HOST]) + gpg_error_config_prefix="" + dnl --with-libgpg-error-prefix=PFX is the preferred name for this option, + dnl since that is consistent with how our three siblings use the directory/ + dnl package name in --with-$dir_name-prefix=PFX. + AC_ARG_WITH(libgpg-error-prefix, + AS_HELP_STRING([--with-libgpg-error-prefix=PFX], + [prefix where GPG Error is installed (optional)]), + [gpg_error_config_prefix="$withval"]) + + dnl Accept --with-gpg-error-prefix and make it work the same as + dnl --with-libgpg-error-prefix above, for backwards compatibility, + dnl but do not document this old, inconsistently-named option. + AC_ARG_WITH(gpg-error-prefix,, + [gpg_error_config_prefix="$withval"]) + + if test x"${GPG_ERROR_CONFIG}" = x ; then + if test x"${gpg_error_config_prefix}" != x ; then + GPG_ERROR_CONFIG="${gpg_error_config_prefix}/bin/gpg-error-config" + else + case "${SYSROOT}" in + /*) + if test -x "${SYSROOT}/bin/gpg-error-config" ; then + GPG_ERROR_CONFIG="${SYSROOT}/bin/gpg-error-config" + fi + ;; + '') + ;; + *) + AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) + ;; + esac + fi + fi + + AC_PATH_PROG(GPG_ERROR_CONFIG, gpg-error-config, no) + min_gpg_error_version=ifelse([$1], ,1.33,$1) + ok=no + + AC_PATH_PROG(GPGRT_CONFIG, gpgrt-config, no, [$prefix/bin:$PATH]) + if test "$GPGRT_CONFIG" != "no"; then + # Determine gpgrt_libdir + # + # Get the prefix of gpgrt-config assuming it's something like: + # /bin/gpgrt-config + gpgrt_prefix=${GPGRT_CONFIG%/*/*} + possible_libdir1=${gpgrt_prefix}/lib + # Determine by using system libdir-format with CC, it's like: + # Normal style: /usr/lib + # GNU cross style: /usr//lib + # Debian style: /usr/lib/ + # Fedora/openSUSE style: /usr/lib, /usr/lib32 or /usr/lib64 + # It is assumed that CC is specified to the one of host on cross build. + if libdir_candidates=$(${CC:-cc} -print-search-dirs | \ + sed -n -e "/^libraries/{s/libraries: =//;s/:/\\ +/g;p;}"); then + # From the output of -print-search-dirs, select valid pkgconfig dirs. + libdir_candidates=$(for dir in $libdir_candidates; do + if p=$(cd $dir 2>/dev/null && pwd); then + test -d "$p/pkgconfig" && echo $p; + fi + done) + + for possible_libdir0 in $libdir_candidates; do + # possible_libdir0: + # Fallback candidate, the one of system-installed (by $CC) + # (/usr//lib, /usr/lib/ or /usr/lib32) + # possible_libdir1: + # Another candidate, user-locally-installed + # (/lib) + # possible_libdir2 + # Most preferred + # (//lib, + # /lib/ or /lib32) + if test "${possible_libdir0##*/}" = "lib"; then + possible_prefix0=${possible_libdir0%/lib} + possible_prefix0_triplet=${possible_prefix0##*/} + if test -z "$possible_prefix0_triplet"; then + continue + fi + possible_libdir2=${gpgrt_prefix}/$possible_prefix0_triplet/lib + else + possible_prefix0=${possible_libdir0%%/lib*} + possible_libdir2=${gpgrt_prefix}${possible_libdir0#$possible_prefix0} + fi + if test -f ${possible_libdir2}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir2} + elif test -f ${possible_libdir1}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir1} + elif test -f ${possible_libdir0}/pkgconfig/gpg-error.pc; then + gpgrt_libdir=${possible_libdir0} + fi + if test -n "$gpgrt_libdir"; then break; fi + done + else + # When we cannot determine system libdir-format, use this: + gpgrt_libdir=${possible_libdir1} + fi + else + unset GPGRT_CONFIG + fi + + if test -n "$gpgrt_libdir"; then + GPGRT_CONFIG="$GPGRT_CONFIG --libdir=$gpgrt_libdir" + if $GPGRT_CONFIG gpg-error >/dev/null 2>&1; then + GPG_ERROR_CONFIG="$GPGRT_CONFIG gpg-error" + AC_MSG_NOTICE([Use gpgrt-config with $gpgrt_libdir as gpg-error-config]) + gpg_error_config_version=`$GPG_ERROR_CONFIG --modversion` + else + unset GPGRT_CONFIG + fi + elif test "$GPG_ERROR_CONFIG" != "no"; then + gpg_error_config_version=`$GPG_ERROR_CONFIG --version` + unset GPGRT_CONFIG + fi + if test "$GPG_ERROR_CONFIG" != "no"; then + req_major=`echo $min_gpg_error_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` + req_minor=`echo $min_gpg_error_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + major=`echo $gpg_error_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $gpg_error_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'` + if test "$major" -gt "$req_major"; then + ok=yes + else + if test "$major" -eq "$req_major"; then + if test "$minor" -ge "$req_minor"; then + ok=yes + fi + fi + fi + fi + AC_MSG_CHECKING(for GPG Error - version >= $min_gpg_error_version) + if test $ok = yes; then + GPG_ERROR_CFLAGS=`$GPG_ERROR_CONFIG --cflags` + GPG_ERROR_LIBS=`$GPG_ERROR_CONFIG --libs` + if test -z "$GPGRT_CONFIG"; then + GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --mt --cflags 2>/dev/null` + GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --mt --libs 2>/dev/null` + else + GPG_ERROR_MT_CFLAGS=`$GPG_ERROR_CONFIG --variable=mtcflags 2>/dev/null` + GPG_ERROR_MT_CFLAGS="$GPG_ERROR_CFLAGS${GPG_ERROR_CFLAGS:+ }$GPG_ERROR_MT_CFLAGS" + GPG_ERROR_MT_LIBS=`$GPG_ERROR_CONFIG --variable=mtlibs 2>/dev/null` + GPG_ERROR_MT_LIBS="$GPG_ERROR_LIBS${GPG_ERROR_LIBS:+ }$GPG_ERROR_MT_LIBS" + fi + AC_MSG_RESULT([yes ($gpg_error_config_version)]) + ifelse([$2], , :, [$2]) + if test -z "$GPGRT_CONFIG"; then + gpg_error_config_host=`$GPG_ERROR_CONFIG --host 2>/dev/null || echo none` + else + gpg_error_config_host=`$GPG_ERROR_CONFIG --variable=host 2>/dev/null || echo none` + fi + if test x"$gpg_error_config_host" != xnone ; then + if test x"$gpg_error_config_host" != x"$host" ; then + AC_MSG_WARN([[ +*** +*** The config script "$GPG_ERROR_CONFIG" was +*** built for $gpg_error_config_host and thus may not match the +*** used host $host. +*** You may want to use the configure option --with-libgpg-error-prefix +*** to specify a matching config script or use \$SYSROOT. +***]]) + gpg_config_script_warn="$gpg_config_script_warn libgpg-error" + fi + fi + else + GPG_ERROR_CFLAGS="" + GPG_ERROR_LIBS="" + GPG_ERROR_MT_CFLAGS="" + GPG_ERROR_MT_LIBS="" + AC_MSG_RESULT(no) + ifelse([$3], , :, [$3]) + fi + AC_SUBST(GPG_ERROR_CFLAGS) + AC_SUBST(GPG_ERROR_LIBS) + AC_SUBST(GPG_ERROR_MT_CFLAGS) + AC_SUBST(GPG_ERROR_MT_LIBS) +]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/gtk.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gtk.m4 similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/gtk.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/gtk.m4 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 new file mode 100644 index 00000000..a285e9da --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/iconv.m4 @@ -0,0 +1,288 @@ +# iconv.m4 serial 21 +dnl Copyright (C) 2000-2002, 2007-2014, 2016-2019 Free Software Foundation, +dnl Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +dnl From Bruno Haible. + +AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], +[ + dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. + AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) + AC_REQUIRE([AC_LIB_RPATH]) + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_LIB_LINKFLAGS_BODY([iconv]) +]) + +AC_DEFUN([AM_ICONV_LINK], +[ + dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and + dnl those with the standalone portable GNU libiconv installed). + AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles + + dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV + dnl accordingly. + AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) + + dnl Add $INCICONV to CPPFLAGS before performing the following checks, + dnl because if the user has installed libiconv and not disabled its use + dnl via --without-libiconv-prefix, he wants to use it. The first + dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed. + am_save_CPPFLAGS="$CPPFLAGS" + AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) + + AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ + am_cv_func_iconv="no, consider installing GNU libiconv" + am_cv_lib_iconv=no + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_func_iconv=yes]) + if test "$am_cv_func_iconv" != yes; then + am_save_LIBS="$LIBS" + LIBS="$LIBS $LIBICONV" + AC_LINK_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + ]], + [[iconv_t cd = iconv_open("",""); + iconv(cd,NULL,NULL,NULL,NULL); + iconv_close(cd);]])], + [am_cv_lib_iconv=yes] + [am_cv_func_iconv=yes]) + LIBS="$am_save_LIBS" + fi + ]) + if test "$am_cv_func_iconv" = yes; then + AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ + dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11, + dnl Solaris 10. + am_save_LIBS="$LIBS" + if test $am_cv_lib_iconv = yes; then + LIBS="$LIBS $LIBICONV" + fi + am_cv_func_iconv_works=no + for ac_iconv_const in '' 'const'; do + AC_RUN_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include + +#ifndef ICONV_CONST +# define ICONV_CONST $ac_iconv_const +#endif + ]], + [[int result = 0; + /* Test against AIX 5.1 bug: Failures are not distinguishable from successful + returns. */ + { + iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); + if (cd_utf8_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\342\202\254"; /* EURO SIGN */ + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_utf8_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 1; + iconv_close (cd_utf8_to_88591); + } + } + /* Test against Solaris 10 bug: Failures are not distinguishable from + successful returns. */ + { + iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); + if (cd_ascii_to_88591 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\263"; + char buf[10]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_ascii_to_88591, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res == 0) + result |= 2; + iconv_close (cd_ascii_to_88591); + } + } + /* Test against AIX 6.1..7.1 bug: Buffer overrun. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304"; + static char buf[2] = { (char)0xDE, (char)0xAD }; + ICONV_CONST char *inptr = input; + size_t inbytesleft = 1; + char *outptr = buf; + size_t outbytesleft = 1; + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD) + result |= 4; + iconv_close (cd_88591_to_utf8); + } + } +#if 0 /* This bug could be worked around by the caller. */ + /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ + { + iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); + if (cd_88591_to_utf8 != (iconv_t)(-1)) + { + static ICONV_CONST char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; + char buf[50]; + ICONV_CONST char *inptr = input; + size_t inbytesleft = strlen (input); + char *outptr = buf; + size_t outbytesleft = sizeof (buf); + size_t res = iconv (cd_88591_to_utf8, + &inptr, &inbytesleft, + &outptr, &outbytesleft); + if ((int)res > 0) + result |= 8; + iconv_close (cd_88591_to_utf8); + } + } +#endif + /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is + provided. */ + { + /* Try standardized names. */ + iconv_t cd1 = iconv_open ("UTF-8", "EUC-JP"); + /* Try IRIX, OSF/1 names. */ + iconv_t cd2 = iconv_open ("UTF-8", "eucJP"); + /* Try AIX names. */ + iconv_t cd3 = iconv_open ("UTF-8", "IBM-eucJP"); + /* Try HP-UX names. */ + iconv_t cd4 = iconv_open ("utf8", "eucJP"); + if (cd1 == (iconv_t)(-1) && cd2 == (iconv_t)(-1) + && cd3 == (iconv_t)(-1) && cd4 == (iconv_t)(-1)) + result |= 16; + if (cd1 != (iconv_t)(-1)) + iconv_close (cd1); + if (cd2 != (iconv_t)(-1)) + iconv_close (cd2); + if (cd3 != (iconv_t)(-1)) + iconv_close (cd3); + if (cd4 != (iconv_t)(-1)) + iconv_close (cd4); + } + return result; +]])], + [am_cv_func_iconv_works=yes], , + [case "$host_os" in + aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; + *) am_cv_func_iconv_works="guessing yes" ;; + esac]) + test "$am_cv_func_iconv_works" = no || break + done + LIBS="$am_save_LIBS" + ]) + case "$am_cv_func_iconv_works" in + *no) am_func_iconv=no am_cv_lib_iconv=no ;; + *) am_func_iconv=yes ;; + esac + else + am_func_iconv=no am_cv_lib_iconv=no + fi + if test "$am_func_iconv" = yes; then + AC_DEFINE([HAVE_ICONV], [1], + [Define if you have the iconv() function and it works.]) + fi + if test "$am_cv_lib_iconv" = yes; then + AC_MSG_CHECKING([how to link with libiconv]) + AC_MSG_RESULT([$LIBICONV]) + else + dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV + dnl either. + CPPFLAGS="$am_save_CPPFLAGS" + LIBICONV= + LTLIBICONV= + fi + AC_SUBST([LIBICONV]) + AC_SUBST([LTLIBICONV]) +]) + +dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to +dnl avoid warnings like +dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required". +dnl This is tricky because of the way 'aclocal' is implemented: +dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN. +dnl Otherwise aclocal's initial scan pass would miss the macro definition. +dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions. +dnl Otherwise aclocal would emit many "Use of uninitialized value $1" +dnl warnings. +m4_define([gl_iconv_AC_DEFUN], + m4_version_prereq([2.64], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [m4_ifdef([gl_00GNULIB], + [[AC_DEFUN_ONCE( + [$1], [$2])]], + [[AC_DEFUN( + [$1], [$2])]])])) +gl_iconv_AC_DEFUN([AM_ICONV], +[ + AM_ICONV_LINK + if test "$am_cv_func_iconv" = yes; then + AC_MSG_CHECKING([for iconv declaration]) + AC_CACHE_VAL([am_cv_proto_iconv], [ + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM( + [[ +#include +#include +extern +#ifdef __cplusplus +"C" +#endif +#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus) +size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); +#else +size_t iconv(); +#endif + ]], + [[]])], + [am_cv_proto_iconv_arg1=""], + [am_cv_proto_iconv_arg1="const"]) + am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) + am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` + AC_MSG_RESULT([ + $am_cv_proto_iconv]) + else + dnl When compiling GNU libiconv on a system that does not have iconv yet, + dnl pick the POSIX compliant declaration without 'const'. + am_cv_proto_iconv_arg1="" + fi + AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], + [Define as const if the declaration of iconv() needs const.]) + dnl Also substitute ICONV_CONST in the gnulib generated . + m4_ifdef([gl_ICONV_H_DEFAULTS], + [AC_REQUIRE([gl_ICONV_H_DEFAULTS]) + if test -n "$am_cv_proto_iconv_arg1"; then + ICONV_CONST="const" + fi + ]) +]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/libassuan.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 similarity index 75% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/libassuan.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 index c953843e..df504841 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/libassuan.m4 +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/libassuan.m4 @@ -8,6 +8,8 @@ dnl dnl This file is distributed in the hope that it will be useful, but dnl WITHOUT ANY WARRANTY, to the extent permitted by law; without even the dnl implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +dnl SPDX-License-Identifier: FSFULLR +# Last-changed: 2020-11-17 dnl dnl Common code used for libassuan detection [internal] @@ -16,30 +18,26 @@ dnl AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], [ AC_REQUIRE([AC_CANONICAL_HOST]) AC_ARG_WITH(libassuan-prefix, - AC_HELP_STRING([--with-libassuan-prefix=PFX], + AS_HELP_STRING([--with-libassuan-prefix=PFX], [prefix where LIBASSUAN is installed (optional)]), libassuan_config_prefix="$withval", libassuan_config_prefix="") if test x$libassuan_config_prefix != x ; then - libassuan_config_args="$libassuan_config_args --prefix=$libassuan_config_prefix" if test x${LIBASSUAN_CONFIG+set} != xset ; then LIBASSUAN_CONFIG=$libassuan_config_prefix/bin/libassuan-config fi - else - case "${SYSROOT}" in - /*) - if test -x "${SYSROOT}/bin/libassuan-config" ; then - LIBASSUAN_CONFIG="${SYSROOT}/bin/libassuan-config" - fi - ;; - '') - ;; - *) - AC_MSG_WARN([Ignoring \$SYSROOT as it is not an absolute path.]) - ;; - esac fi - AC_PATH_TOOL(LIBASSUAN_CONFIG, libassuan-config, no) + use_gpgrt_config="" + if test x"${LIBASSUAN_CONFIG}" = x -a x"$GPGRT_CONFIG" != x -a "$GPGRT_CONFIG" != "no"; then + if $GPGRT_CONFIG libassuan --exists; then + LIBASSUAN_CONFIG="$GPGRT_CONFIG libassuan" + AC_MSG_NOTICE([Use gpgrt-config as libassuan-config]) + use_gpgrt_config=yes + fi + fi + if test -z "$use_gpgrt_config"; then + AC_PATH_PROG(LIBASSUAN_CONFIG, libassuan-config, no) + fi tmp=ifelse([$1], ,1:0.9.2,$1) if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then @@ -52,8 +50,7 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], AC_MSG_CHECKING(for LIBASSUAN - version >= $min_libassuan_version) ok=no - if test "$LIBASSUAN_CONFIG" != "no" \ - && test -f "$LIBASSUAN_CONFIG" ; then + if test "$LIBASSUAN_CONFIG" != "no"; then req_major=`echo $min_libassuan_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\1/'` req_minor=`echo $min_libassuan_version | \ @@ -61,7 +58,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], req_micro=`echo $min_libassuan_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` - libassuan_config_version=`$LIBASSUAN_CONFIG --version` + if test -z "$use_gpgrt_config"; then + libassuan_config_version=`$LIBASSUAN_CONFIG --version` + else + libassuan_config_version=`$LIBASSUAN_CONFIG --modversion` + fi major=`echo $libassuan_config_version | \ sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` minor=`echo $libassuan_config_version | \ @@ -94,7 +95,11 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], if test $ok = yes; then if test "$req_libassuan_api" -gt 0 ; then - tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` + if test -z "$use_gpgrt_config"; then + tmp=`$LIBASSUAN_CONFIG --api-version 2>/dev/null || echo 0` + else + tmp=`$LIBASSUAN_CONFIG --variable=api_version 2>/dev/null || echo 0` + fi if test "$tmp" -gt 0 ; then AC_MSG_CHECKING([LIBASSUAN API version]) if test "$req_libassuan_api" -eq "$tmp" ; then @@ -109,16 +114,20 @@ AC_DEFUN([_AM_PATH_LIBASSUAN_COMMON], if test $ok = yes; then if test x"$host" != x ; then - libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` + if test -z "$use_gpgrt_config"; then + libassuan_config_host=`$LIBASSUAN_CONFIG --host 2>/dev/null || echo none` + else + libassuan_config_host=`$LIBASSUAN_CONFIG --variable=host 2>/dev/null || echo none` + fi if test x"$libassuan_config_host" != xnone ; then if test x"$libassuan_config_host" != x"$host" ; then AC_MSG_WARN([[ *** -*** The config script $LIBASSUAN_CONFIG was +*** The config script "$LIBASSUAN_CONFIG" was *** built for $libassuan_config_host and thus may not match the *** used host $host. *** You may want to use the configure option --with-libassuan-prefix -*** to specify a matching config script or use \$SYSROOT. +*** to specify a matching config script. ***]]) fi fi @@ -150,8 +159,8 @@ dnl AC_DEFUN([AM_PATH_LIBASSUAN], [ _AM_PATH_LIBASSUAN_COMMON($1) if test $ok = yes; then - LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG $libassuan_config_args --cflags` - LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG $libassuan_config_args --libs` + LIBASSUAN_CFLAGS=`$LIBASSUAN_CONFIG --cflags` + LIBASSUAN_LIBS=`$LIBASSUAN_CONFIG --libs` ifelse([$2], , :, [$2]) else LIBASSUAN_CFLAGS="" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/pkg.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/pkg.m4 similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/pkg.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/pkg.m4 diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/qt.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 similarity index 61% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/qt.m4 rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 index 35d9ae2e..fdf99913 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/m4/qt.m4 +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt.m4 @@ -17,19 +17,18 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -dnl Autoconf macro to find either Qt4 or Qt5 +dnl Autoconf macro to find Qt5 dnl dnl sets PINENTRY_QT_LIBS and PINENTRY_QT_CFLAGS dnl -dnl if QT5 was found have_qt5_libs is set to yes -dnl if QT4 was found have_qt4_libs is set to yes +dnl if Qt5 was found have_qt5_libs is set to yes dnl dnl The moc lookup code is based on libpoppler (rev. d821207) AC_DEFUN([FIND_QT], [ AC_ARG_ENABLE(pinentry-qt5, - AC_HELP_STRING([--disable-pinentry-qt5], + AS_HELP_STRING([--disable-pinentry-qt5], [Don't use qt5 even if it is available.]), enable_pinentry_qt5=$enableval, enable_pinentry_qt5="try") @@ -57,6 +56,28 @@ AC_DEFUN([FIND_QT], PINENTRY_QT_CFLAGS="$PINENTRY_QT_CFLAGS -std=c++11" fi + qtlibdir=`"$PKG_CONFIG" --variable libdir Qt5Core` + if test -n "$qtlibdir"; then + if test "$enable_rpath" != "no"; then + PINENTRY_QT_LDFLAGS="$PINENTRY_QT_LDFLAGS -Wl,-rpath \"$qtlibdir\"" + fi + fi + + if test "$have_x11" = "yes"; then + PKG_CHECK_MODULES( + PINENTRY_QT_X11_EXTRAS, + Qt5X11Extras >= 5.1.0, + [have_qt5_x11extras="yes"], + [ + AC_MSG_WARN([pinentry-qt will be built without Caps Lock warning on X11]) + have_qt5_x11extras="no" + ]) + if test "$have_qt5_x11extras" = "yes"; then + PINENTRY_QT_CFLAGS="$LIBX11_CFLAGS $PINENTRY_QT_CFLAGS $PINENTRY_QT_X11_EXTRAS_CFLAGS" + PINENTRY_QT_LIBS="$LIBX11_LIBS $PINENTRY_QT_LIBS $PINENTRY_QT_X11_EXTRAS_LIBS" + fi + fi + AC_CHECK_TOOL(MOC, moc) AC_MSG_CHECKING([moc version]) mocversion=`$MOC -v 2>&1` @@ -82,31 +103,32 @@ AC_DEFUN([FIND_QT], MOC=$MOC2 fi fi - fi - if test "$have_qt5_libs" != "yes"; then - PKG_CHECK_MODULES(PINENTRY_QT, - QtCore >= 4.6.0 QtGui >= 4.6.0, - [have_qt4_libs="yes"], - [have_qt4_libs="no"]) - if test "$have_qt4_libs" = "yes"; then - AC_CHECK_TOOL(MOC, moc) - AC_MSG_CHECKING([moc version]) - mocversion=`$MOC -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - AC_MSG_RESULT([no]) - # moc was not the qt4 one, try with moc-qt4 - AC_CHECK_TOOL(MOC2, moc-qt4) - mocversion=`$MOC2 -v 2>&1` - mocversiongrep=`echo $mocversion | grep "Qt 4"` - if test x"$mocversiongrep" != x"$mocversion"; then - # no valid moc found - have_qt4_libs="no"; - MOC="not found" + + AC_CHECK_TOOL(RCC, rcc) + AC_MSG_CHECKING([rcc version]) + rccversion=`$RCC -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then + AC_MSG_RESULT([no]) + # rcc was not the qt5 one, try with rcc-qt5 + AC_CHECK_TOOL(RCC2, rcc-qt5) + rccversion=`$RCC2 -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc-qt5 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then + AC_CHECK_TOOL(QTCHOOSER, qtchooser) + qt5tooldir=`QT_SELECT=qt5 qtchooser -print-env | grep QTTOOLDIR | cut -d '=' -f 2 | cut -d \" -f 2` + rccversion=`$qt5tooldir/rcc -v 2>&1` + rccversiongrep=`echo $rccversion | grep -E "Qt 5|rcc 5"` + if test x"$rccversiongrep" != x"$rccversion"; then + # no valid rcc found + have_qt5_libs="no"; else - MOC=$MOC2 + RCC=$qt5tooldir/rcc fi + else + RCC=$RCC2 fi fi + fi ]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 new file mode 100644 index 00000000..9212e574 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/m4/qt4.m4 @@ -0,0 +1,58 @@ +dnl qt4.m4 +dnl Copyright (C) 2015 Intevation GmbH +dnl +dnl This file is part of PINENTRY. +dnl +dnl PINENTRY is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 2 of the License, or +dnl (at your option) any later version. +dnl +dnl PINENTRY is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with this program; if not, write to the Free Software +dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA + +dnl Autoconf macro to find either Qt4 +dnl +dnl sets PINENTRY_QT4_LIBS and PINENTRY_QT4_CFLAGS +dnl +dnl if Qt4 was found have_qt4_libs is set to yes +dnl +dnl The moc lookup code is based on libpoppler (rev. d821207) + +AC_DEFUN([FIND_QT4], +[ + have_qt4_libs="no"; + + if test "$enable_pinentry_qt4" != "no"; then + PKG_CHECK_MODULES(PINENTRY_QT4, + QtCore >= 4.6.0 QtGui >= 4.6.0, + [have_qt4_libs="yes"], + [have_qt4_libs="no"]) + fi + if test "$have_qt4_libs" = "yes"; then + AC_CHECK_TOOL(MOC4, moc) + AC_MSG_CHECKING([moc version]) + mocversion=`$MOC4 -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 4"` + if test x"$mocversiongrep" != x"$mocversion"; then + AC_MSG_RESULT([no]) + # moc was not the qt4 one, try with moc-qt4 + AC_CHECK_TOOL(MOC42, moc-qt4) + mocversion=`$MOC42 -v 2>&1` + mocversiongrep=`echo $mocversion | grep "Qt 4"` + if test x"$mocversiongrep" != x"$mocversion"; then + # no valid moc found + have_qt4_libs="no"; + MOC4="not found" + else + MOC4=$MOC42 + fi + fi + fi +]) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/missing b/debian/pinentry-tqt/pinentry-tqt-1.2.1/missing similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/missing rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/missing diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/mkinstalldirs b/debian/pinentry-tqt/pinentry-tqt-1.2.1/mkinstalldirs similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/mkinstalldirs rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/mkinstalldirs diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.am similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.am diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in similarity index 87% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in index 1bd15103..5d4f9154 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -98,16 +108,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = pinentry -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -148,7 +157,11 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/argparse.Po \ + ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po \ + ./$(DEPDIR)/password-cache.Po ./$(DEPDIR)/pinentry-emacs.Po \ + ./$(DEPDIR)/pinentry.Po am__mv = mv -f AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) @@ -193,6 +206,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -217,6 +232,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -226,6 +243,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -239,11 +257,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -252,6 +271,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -260,6 +281,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -273,16 +296,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -332,6 +362,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -369,14 +400,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu pinentry/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu pinentry/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -407,11 +437,17 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/password-cache.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/argparse.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/password-cache.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-emacs.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -493,7 +529,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -562,7 +601,11 @@ clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/argparse.Po + -rm -f ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po + -rm -f ./$(DEPDIR)/password-cache.Po + -rm -f ./$(DEPDIR)/pinentry-emacs.Po + -rm -f ./$(DEPDIR)/pinentry.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -608,7 +651,11 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/argparse.Po + -rm -f ./$(DEPDIR)/libpinentry_curses_a-pinentry-curses.Po + -rm -f ./$(DEPDIR)/password-cache.Po + -rm -f ./$(DEPDIR)/pinentry-emacs.Po + -rm -f ./$(DEPDIR)/pinentry.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -628,18 +675,20 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/argparse.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.c similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/argparse.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/argparse.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/argparse.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/argparse.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/password-cache.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.c similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/password-cache.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/password-cache.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/password-cache.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/password-cache.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-curses.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c similarity index 80% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-curses.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c index 89bb5b6e..cc4cecbe 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-curses.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.c @@ -29,7 +29,29 @@ #include #include #include -#include +#if defined(HAVE_LANGINFO_H) +# include +#elif defined(HAVE_W32_SYSTEM) +# include +# ifndef WIN32_LEAN_AND_MEAN +# define WIN32_LEAN_AND_MEAN +# endif +# include +/* A simple replacement for nl_langinfo that only understands + CODESET. */ +# define CODESET 1 +char * +nl_langinfo (int ignore) +{ + static char codepage[20]; + UINT cp = GetACP (); + + (void)ignore; + + sprintf (codepage, "CP%u", cp); + return codepage; +} +#endif #include #include #include @@ -94,6 +116,8 @@ struct dialog int pin_max; /* Length of PIN. */ int pin_len; + int got_input; + int no_echo; int ok_y; int ok_x; @@ -108,11 +132,154 @@ struct dialog pinentry_t pinentry; }; typedef struct dialog *dialog_t; + +/* Flag to remember whether a warning has been printed. */ +static int lc_ctype_unknown_warning; + +static char * +pinentry_utf8_to_local (const char *lc_ctype, const char *text) +{ + iconv_t cd; + const char *input = text; + size_t input_len = strlen (text) + 1; + char *output; + size_t output_len; + char *output_buf; + size_t processed; + char *old_ctype; + char *target_encoding; + const char *pgmname = pinentry_get_pgmname (); + + /* If no locale setting could be determined, simply copy the + string. */ + if (!lc_ctype) + { + if (! lc_ctype_unknown_warning) + { + fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", + pgmname); + lc_ctype_unknown_warning = 1; + } + return strdup (text); + } + + old_ctype = strdup (setlocale (LC_CTYPE, NULL)); + if (!old_ctype) + return NULL; + setlocale (LC_CTYPE, lc_ctype); + target_encoding = nl_langinfo (CODESET); + if (!target_encoding) + target_encoding = "?"; + setlocale (LC_CTYPE, old_ctype); + free (old_ctype); + + /* This is overkill, but simplifies the iconv invocation greatly. */ + output_len = input_len * MB_LEN_MAX; + output_buf = output = malloc (output_len); + if (!output) + return NULL; + cd = iconv_open (target_encoding, "UTF-8"); + if (cd == (iconv_t) -1) + { + fprintf (stderr, "%s: can't convert from UTF-8 to %s: %s\n", + pgmname, target_encoding, strerror (errno)); + free (output_buf); + return NULL; + } + processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, + &output, &output_len); + iconv_close (cd); + if (processed == (size_t) -1 || input_len) + { + fprintf (stderr, "%s: error converting from UTF-8 to %s: %s\n", + pgmname, target_encoding, strerror (errno)); + free (output_buf); + return NULL; + } + return output_buf; +} + +/* Convert TEXT which is encoded according to LC_CTYPE to UTF-8. With + SECURE set to true, use secure memory for the returned buffer. + Return NULL on error. */ +static char * +pinentry_local_to_utf8 (char *lc_ctype, char *text, int secure) +{ + char *old_ctype; + char *source_encoding; + iconv_t cd; + const char *input = text; + size_t input_len = strlen (text) + 1; + char *output; + size_t output_len; + char *output_buf; + size_t processed; + const char *pgmname = pinentry_get_pgmname (); + + /* If no locale setting could be determined, simply copy the + string. */ + if (!lc_ctype) + { + if (! lc_ctype_unknown_warning) + { + fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", + pgmname); + lc_ctype_unknown_warning = 1; + } + output_buf = secure? secmem_malloc (input_len) : malloc (input_len); + if (output_buf) + strcpy (output_buf, input); + return output_buf; + } + + old_ctype = strdup (setlocale (LC_CTYPE, NULL)); + if (!old_ctype) + return NULL; + setlocale (LC_CTYPE, lc_ctype); + source_encoding = nl_langinfo (CODESET); + setlocale (LC_CTYPE, old_ctype); + free (old_ctype); + + /* This is overkill, but simplifies the iconv invocation greatly. */ + output_len = input_len * MB_LEN_MAX; + output_buf = output = secure? secmem_malloc (output_len):malloc (output_len); + if (!output) + return NULL; + + cd = iconv_open ("UTF-8", source_encoding); + if (cd == (iconv_t) -1) + { + fprintf (stderr, "%s: can't convert from %s to UTF-8: %s\n", + pgmname, source_encoding? source_encoding : "?", + strerror (errno)); + if (secure) + secmem_free (output_buf); + else + free (output_buf); + return NULL; + } + processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, + &output, &output_len); + iconv_close (cd); + if (processed == (size_t) -1 || input_len) + { + fprintf (stderr, "%s: error converting from %s to UTF-8: %s\n", + pgmname, source_encoding? source_encoding : "?", + strerror (errno)); + if (secure) + secmem_free (output_buf); + else + free (output_buf); + return NULL; + } + return output_buf; +} #ifdef HAVE_NCURSESW typedef wchar_t CH; #define STRLEN(x) wcslen (x) +#define STRWIDTH(x) wcswidth (x, wcslen (x)) #define ADDCH(x) addnwstr (&x, 1); #define CHWIDTH(x) wcwidth (x) #define NULLCH L'\0' @@ -121,6 +288,7 @@ typedef wchar_t CH; #else typedef char CH; #define STRLEN(x) strlen (x) +#define STRWIDTH(x) strlen (x) #define ADDCH(x) addch ((unsigned char) x) #define CHWIDTH(x) 1 #define NULLCH '\0' @@ -128,13 +296,14 @@ typedef char CH; #define SPCH ' ' #endif -/* Return the next line up to MAXLEN columns wide in START and LEN. +/* Return the next line up to MAXWIDTH columns wide in START and LEN. + Return value is the width needed for the line. The first invocation should have 0 as *LEN. If the line ends with a \n, it is a normal line that will be continued. If it is a '\0' the end of the text is reached after this line. In all other cases there is a forced line break. A full line is returned and will be continued in the next line. */ -static void +static int collect_line (int maxwidth, CH **start_p, int *len_p) { int last_space = 0; @@ -153,11 +322,11 @@ collect_line (int maxwidth, CH **start_p, int *len_p) while (width < maxwidth - 1 && *end != NULLCH && *end != NLCH) { - len++; - end++; if (*end == SPCH) last_space = len; width += CHWIDTH (*end); + len++; + end++; } if (*end != NULLCH && *end != NLCH && last_space != 0) @@ -169,6 +338,7 @@ collect_line (int maxwidth, CH **start_p, int *len_p) (*start_p)[len] = NLCH; } *len_p = len + 1; + return width; } #ifdef HAVE_NCURSESW @@ -309,6 +479,7 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) } \ dialog->which = pinentry_utf8_to_local (pinentry->lc_ctype, \ new ? new : default); \ + free (new); \ if (!dialog->which) \ { \ err = 1; \ @@ -340,9 +511,10 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) do { - collect_line (size_x - 4, &start, &len); - if (len > description_x) - description_x = len; + int width = collect_line (size_x - 4, &start, &len); + + if (width > description_x) + description_x = width; y++; } while (start[len - 1]); @@ -412,7 +584,7 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) new_x = MIN_PINENTRY_LENGTH; if (prompt) { - new_x += STRLEN (prompt) + 1; /* One space after prompt. */ + new_x += STRWIDTH (prompt) + 1; /* One space after prompt. */ } if (new_x > size_x - 4) new_x = size_x - 4; @@ -541,11 +713,12 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) if (prompt) { CH *p = prompt; - i = STRLEN (prompt); + i = STRWIDTH (prompt); if (i > x - 4 - MIN_PINENTRY_LENGTH) i = x - 4 - MIN_PINENTRY_LENGTH; dialog->pin_x += i + 1; dialog->pin_size -= i + 1; + i = STRLEN (prompt); while (i-- > 0) { ADDCH (*(p++)); @@ -596,6 +769,9 @@ dialog_create (pinentry_t pinentry, dialog_t dialog) addstr (dialog->ok); } + dialog->got_input = 0; + dialog->no_echo = 0; + out: if (description) free (description); @@ -730,6 +906,12 @@ dialog_input (dialog_t diag, int alt, int chr) diag->pin_loc = diag->pin_len; } } + else if (!diag->got_input) + { + diag->no_echo = 1; + move (diag->pin_y, diag->pin_x); + addstr ("[no echo]"); + } break; case 'l' - 'a' + 1: /* control-l */ @@ -801,19 +983,24 @@ dialog_input (dialog_t diag, int alt, int chr) break; } - if (old_loc < diag->pin_loc) - { - move (diag->pin_y, diag->pin_x + old_loc); - while (old_loc++ < diag->pin_loc) - addch ('*'); - } - else if (old_loc > diag->pin_loc) + diag->got_input = 1; + + if (!diag->no_echo) { + if (old_loc < diag->pin_loc) + { + move (diag->pin_y, diag->pin_x + old_loc); + while (old_loc++ < diag->pin_loc) + addch ('*'); + } + else if (old_loc > diag->pin_loc) + { + move (diag->pin_y, diag->pin_x + diag->pin_loc); + while (old_loc-- > diag->pin_loc) + addch ('_'); + } move (diag->pin_y, diag->pin_x + diag->pin_loc); - while (old_loc-- > diag->pin_loc) - addch ('_'); } - move (diag->pin_y, diag->pin_x + diag->pin_loc); } static int @@ -851,6 +1038,9 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) { pinentry->specific_err = gpg_error_from_syserror (); pinentry->specific_err_loc = "open_tty_for_read"; +#ifdef HAVE_NCURSESW + free (old_ctype); +#endif return confirm_mode? 0 : -1; } ttyfo = fopen (tty_name, "w"); @@ -861,9 +1051,23 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) errno = err; pinentry->specific_err = gpg_error_from_syserror (); pinentry->specific_err_loc = "open_tty_for_write"; +#ifdef HAVE_NCURSESW + free (old_ctype); +#endif return confirm_mode? 0 : -1; } screen = newterm (tty_type, ttyfo, ttyfi); + if (!screen) + { + pinentry->specific_err = gpg_error (GPG_ERR_WINDOW_TOO_SMALL); + pinentry->specific_err_loc = "curses_init"; + fclose (ttyfo); + fclose (ttyfi); +#ifdef HAVE_NCURSESW + free (old_ctype); +#endif + return confirm_mode? 0 : -1; + } set_term (screen); } else @@ -875,6 +1079,9 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) errno = ENOTTY; pinentry->specific_err = gpg_error_from_syserror (); pinentry->specific_err_loc = "isatty"; +#ifdef HAVE_NCURSESW + free (old_ctype); +#endif return confirm_mode? 0 : -1; } init_screen = 1; @@ -900,8 +1107,17 @@ dialog_run (pinentry_t pinentry, const char *tty_name, const char *tty_type) if (has_colors ()) { start_color (); + + /* Ncurses has use_default_colors, an extentions to the curses + library, which allows use of -1 to select default color. */ #ifdef NCURSES_VERSION use_default_colors (); +#else + /* With no extention, we need to specify color explicitly. */ + if (pinentry->color_fg == PINENTRY_COLOR_DEFAULT) + pinentry->color_fg = PINENTRY_COLOR_WHITE; + if (pinentry->color_bg == PINENTRY_COLOR_DEFAULT) + pinentry->color_bg = PINENTRY_COLOR_BLACK; #endif if (pinentry->color_so == PINENTRY_COLOR_DEFAULT) @@ -1188,7 +1404,7 @@ curses_cmd_handler (pinentry_t pinentry) } #endif - rc = dialog_run (pinentry, pinentry->ttyname, pinentry->ttytype); + rc = dialog_run (pinentry, pinentry->ttyname, pinentry->ttytype_l); do_touch_file (pinentry); return rc; } diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-curses.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-curses.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-curses.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c similarity index 97% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c index 190ea9dc..9685b67d 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.c @@ -498,7 +498,7 @@ set_labels (pinentry_t pe) set_label (pe, "SETOK", pe->default_ok); if (pe->cancel) set_label (pe, "SETCANCEL", pe->cancel); - else if (pe->default_ok) + else if (pe->default_cancel) set_label (pe, "SETCANCEL", pe->default_cancel); if (pe->notok) set_label (pe, "SETNOTOK", pe->notok); @@ -680,6 +680,22 @@ pinentry_enable_emacs_cmd_handler (void) pinentry_cmd_handler = initial_emacs_cmd_handler; } + +/* Returns true if the Emacs pinentry is enabled. The value is 1 + * before the first connection with Emacs has been done and 2 if the + * connection to Emacs has been establish. Returns false if the Emacs + * pinentry is not enabled. */ +int +pinentry_emacs_status (void) +{ + if (pinentry_cmd_handler == initial_emacs_cmd_handler) + return 1; + else if (pinentry_cmd_handler == emacs_cmd_handler) + return 2; + else + return 0; +} + int pinentry_emacs_init (void) { diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h similarity index 93% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h index 00b44131..b05d53bc 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry-emacs.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry-emacs.h @@ -32,6 +32,9 @@ extern "C" { receiving an Assuan request "OPTION allow-emacs-prompt". */ void pinentry_enable_emacs_cmd_handler (void); +/* Return info on whether emacs support is enabled. */ +int pinentry_emacs_status (void); + /* Initialize the Emacs interface, return true if success. */ int pinentry_emacs_init (void); diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c similarity index 82% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c index 30c333b4..ea11b67f 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.c @@ -1,5 +1,5 @@ /* pinentry.c - The PIN entry support library - * Copyright (C) 2002, 2003, 2007, 2008, 2010, 2015, 2016 g10 Code GmbH + * Copyright (C) 2002, 2003, 2007, 2008, 2010, 2015, 2016, 2021 g10 Code GmbH * * This file is part of PINENTRY. * @@ -27,6 +27,8 @@ #endif #include #include +#include +#include #include #include #ifndef HAVE_W32_SYSTEM @@ -35,20 +37,11 @@ #ifndef HAVE_W32CE_SYSTEM # include #endif -#ifdef HAVE_LANGINFO_H -#include -#endif #include #ifdef HAVE_W32CE_SYSTEM # include #endif -#undef WITH_UTF8_CONVERSION -#if defined FALLBACK_CURSES || defined PINENTRY_CURSES || defined PINENTRY_GTK -# include -# define WITH_UTF8_CONVERSION 1 -#endif - #include #include "memory.h" @@ -79,17 +72,11 @@ static const char *flavor_flag; /* Because gtk_init removes the --display arg from the command lines * and our command line parser is called after gtk_init (so that it * does not see gtk specific options) we don't have a way to get hold - * of the --display option. Our solution is to remember --disable in + * of the --display option. Our solution is to remember --display in * the call to pinentry_have_display and set it then in our * parser. */ static char *remember_display; -/* Flag to remember whether a warning has been printed. */ -#ifdef WITH_UTF8_CONVERSION -static int lc_ctype_unknown_warning; -#endif - - static void pinentry_reset (int use_defaults) { @@ -97,7 +84,7 @@ pinentry_reset (int use_defaults) Don't reset them. */ int grab = pinentry.grab; char *ttyname = pinentry.ttyname; - char *ttytype = pinentry.ttytype; + char *ttytype = pinentry.ttytype_l; char *ttyalert = pinentry.ttyalert; char *lc_ctype = pinentry.lc_ctype; char *lc_messages = pinentry.lc_messages; @@ -109,10 +96,15 @@ pinentry_reset (int use_defaults) char *default_cf_visi = pinentry.default_cf_visi; char *default_tt_visi = pinentry.default_tt_visi; char *default_tt_hide = pinentry.default_tt_hide; + char *default_capshint = pinentry.default_capshint; char *touch_file = pinentry.touch_file; unsigned long owner_pid = pinentry.owner_pid; int owner_uid = pinentry.owner_uid; char *owner_host = pinentry.owner_host; + int constraints_enforce = pinentry.constraints_enforce; + char *constraints_hint_short = pinentry.constraints_hint_short; + char *constraints_hint_long = pinentry.constraints_hint_long; + char *constraints_error_title = pinentry.constraints_error_title; /* These options are set from the command line. Don't reset them. */ @@ -135,7 +127,7 @@ pinentry_reset (int use_defaults) if (use_defaults) { free (pinentry.ttyname); - free (pinentry.ttytype); + free (pinentry.ttytype_l); free (pinentry.ttyalert); free (pinentry.lc_ctype); free (pinentry.lc_messages); @@ -146,9 +138,13 @@ pinentry_reset (int use_defaults) free (pinentry.default_cf_visi); free (pinentry.default_tt_visi); free (pinentry.default_tt_hide); + free (pinentry.default_capshint); free (pinentry.touch_file); free (pinentry.owner_host); free (pinentry.display); + free (pinentry.constraints_hint_short); + free (pinentry.constraints_hint_long); + free (pinentry.constraints_error_title); } free (pinentry.title); @@ -163,6 +159,7 @@ pinentry_reset (int use_defaults) free (pinentry.repeat_error_string); free (pinentry.quality_bar); free (pinentry.quality_bar_tt); + free (pinentry.formatted_passphrase_hint); free (pinentry.keyinfo); free (pinentry.specific_err_info); @@ -194,7 +191,7 @@ pinentry_reset (int use_defaults) { pinentry.grab = grab; pinentry.ttyname = ttyname; - pinentry.ttytype = ttytype; + pinentry.ttytype_l = ttytype; pinentry.ttyalert = ttyalert; pinentry.lc_ctype = lc_ctype; pinentry.lc_messages = lc_messages; @@ -206,10 +203,15 @@ pinentry_reset (int use_defaults) pinentry.default_cf_visi = default_cf_visi; pinentry.default_tt_visi = default_tt_visi; pinentry.default_tt_hide = default_tt_hide; + pinentry.default_capshint = default_capshint; pinentry.touch_file = touch_file; pinentry.owner_pid = owner_pid; pinentry.owner_uid = owner_uid; pinentry.owner_host = owner_host; + pinentry.constraints_enforce = constraints_enforce; + pinentry.constraints_hint_short = constraints_hint_short; + pinentry.constraints_hint_long = constraints_hint_long; + pinentry.constraints_error_title = constraints_error_title; pinentry.debug = debug; pinentry.display = display; @@ -238,150 +240,6 @@ pinentry_assuan_reset_handler (assuan_context_t ctx, char *line) -#ifdef WITH_UTF8_CONVERSION -char * -pinentry_utf8_to_local (const char *lc_ctype, const char *text) -{ - iconv_t cd; - const char *input = text; - size_t input_len = strlen (text) + 1; - char *output; - size_t output_len; - char *output_buf; - size_t processed; - char *old_ctype; - char *target_encoding; - - /* If no locale setting could be determined, simply copy the - string. */ - if (!lc_ctype) - { - if (! lc_ctype_unknown_warning) - { - fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", - this_pgmname); - lc_ctype_unknown_warning = 1; - } - return strdup (text); - } - - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - if (!old_ctype) - return NULL; - setlocale (LC_CTYPE, lc_ctype); - target_encoding = nl_langinfo (CODESET); - if (!target_encoding) - target_encoding = "?"; - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - - /* This is overkill, but simplifies the iconv invocation greatly. */ - output_len = input_len * MB_LEN_MAX; - output_buf = output = malloc (output_len); - if (!output) - return NULL; - - cd = iconv_open (target_encoding, "UTF-8"); - if (cd == (iconv_t) -1) - { - fprintf (stderr, "%s: can't convert from UTF-8 to %s: %s\n", - this_pgmname, target_encoding, strerror (errno)); - free (output_buf); - return NULL; - } - processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, - &output, &output_len); - iconv_close (cd); - if (processed == (size_t) -1 || input_len) - { - fprintf (stderr, "%s: error converting from UTF-8 to %s: %s\n", - this_pgmname, target_encoding, strerror (errno)); - free (output_buf); - return NULL; - } - return output_buf; -} -#endif /*WITH_UTF8_CONVERSION*/ - - -/* Convert TEXT which is encoded according to LC_CTYPE to UTF-8. With - SECURE set to true, use secure memory for the returned buffer. - Return NULL on error. */ -#ifdef WITH_UTF8_CONVERSION -char * -pinentry_local_to_utf8 (char *lc_ctype, char *text, int secure) -{ - char *old_ctype; - char *source_encoding; - iconv_t cd; - const char *input = text; - size_t input_len = strlen (text) + 1; - char *output; - size_t output_len; - char *output_buf; - size_t processed; - - /* If no locale setting could be determined, simply copy the - string. */ - if (!lc_ctype) - { - if (! lc_ctype_unknown_warning) - { - fprintf (stderr, "%s: no LC_CTYPE known - assuming UTF-8\n", - this_pgmname); - lc_ctype_unknown_warning = 1; - } - output_buf = secure? secmem_malloc (input_len) : malloc (input_len); - if (output_buf) - strcpy (output_buf, input); - return output_buf; - } - - old_ctype = strdup (setlocale (LC_CTYPE, NULL)); - if (!old_ctype) - return NULL; - setlocale (LC_CTYPE, lc_ctype); - source_encoding = nl_langinfo (CODESET); - setlocale (LC_CTYPE, old_ctype); - free (old_ctype); - - /* This is overkill, but simplifies the iconv invocation greatly. */ - output_len = input_len * MB_LEN_MAX; - output_buf = output = secure? secmem_malloc (output_len):malloc (output_len); - if (!output) - return NULL; - - cd = iconv_open ("UTF-8", source_encoding); - if (cd == (iconv_t) -1) - { - fprintf (stderr, "%s: can't convert from %s to UTF-8: %s\n", - this_pgmname, source_encoding? source_encoding : "?", - strerror (errno)); - if (secure) - secmem_free (output_buf); - else - free (output_buf); - return NULL; - } - processed = iconv (cd, (ICONV_CONST char **)&input, &input_len, - &output, &output_len); - iconv_close (cd); - if (processed == (size_t) -1 || input_len) - { - fprintf (stderr, "%s: error converting from %s to UTF-8: %s\n", - this_pgmname, source_encoding? source_encoding : "?", - strerror (errno)); - if (secure) - secmem_free (output_buf); - else - free (output_buf); - return NULL; - } - return output_buf; -} -#endif /*WITH_UTF8_CONVERSION*/ - - /* Copy TEXT or TEXTLEN to BUFFER and escape as required. Return a pointer to the end of the new buffer. Note that BUFFER must be large enough to keep the entire text; allocataing it 3 times of @@ -409,6 +267,32 @@ copy_and_escape (char *buffer, const void *text, size_t textlen) } +/* Perform percent unescaping in STRING and return the new valid length + of the string. A terminating Nul character is inserted at the end of + the unescaped string. + */ +static size_t +do_unescape_inplace (char *s) +{ + unsigned char *p, *p0; + + p = p0 = s; + while (*s) + { + if (*s == '%' && s[1] && s[2]) + { + s++; + *p++ = xtoi_2 (s); + s += 2; + } + else + *p++ = *s++; + } + *p = 0; + + return (p - p0); +} + /* Return a malloced copy of the commandline for PID. If this is not * possible NULL is returned. */ @@ -421,7 +305,6 @@ get_cmdline (unsigned long pid) size_t i, n; snprintf (buffer, sizeof buffer, "/proc/%lu/cmdline", pid); - buffer[sizeof buffer - 1] = 0; fp = fopen (buffer, "rb"); if (!fp) @@ -467,7 +350,6 @@ get_pid_name_for_uid (unsigned long pid, int uid) char *uidstr; snprintf (buffer, sizeof buffer, "/proc/%lu/status", pid); - buffer[sizeof buffer - 1] = 0; fp = fopen (buffer, "rb"); if (!fp) @@ -482,6 +364,7 @@ get_pid_name_for_uid (unsigned long pid, int uid) fclose (fp); if (n == 0) return NULL; + buffer[n] = 0; /* Fixme: Is it specified that "Name" is always the first line? For * robustness I would prefer to have a real parser here. -wk */ if (strncmp (buffer, "Name:\t", 6)) @@ -501,6 +384,13 @@ get_pid_name_for_uid (unsigned long pid, int uid) #endif /*!HAVE_W32_SYSTEM*/ +const char * +pinentry_get_pgmname (void) +{ + return this_pgmname; +} + + /* Return a malloced string with the title. The caller mus free the * string. If no title is available or the title string has an error * NULL is returned. */ @@ -520,7 +410,7 @@ pinentry_get_title (pinentry_t pe) char *cmdline = NULL; if (pe->owner_host && - !uname (&utsbuf) && utsbuf.nodename && + !uname (&utsbuf) && !strcmp (utsbuf.nodename, pe->owner_host)) { pidname = get_pid_name_for_uid (pe->owner_pid, pe->owner_uid); @@ -537,7 +427,6 @@ pinentry_get_title (pinentry_t pe) else snprintf (buf, sizeof buf, "[%lu] ", pe->owner_pid); - buf[sizeof buf - 1] = 0; free (pidname); free (cmdline); title = strdup (buf); @@ -625,6 +514,122 @@ pinentry_inq_quality (pinentry_t pin, const char *passphrase, size_t length) } +/* Run a checkpin inquiry */ +char * +pinentry_inq_checkpin (pinentry_t pin, const char *passphrase, size_t length) +{ + assuan_context_t ctx = pin->ctx_assuan; + const char prefix[] = "INQUIRE CHECKPIN "; + char *command; + char *line; + size_t linelen; + int gotvalue = 0; + char *value = NULL; + int rc; + + if (!ctx) + return 0; /* Can't run the callback. */ + + if (length > 300) + length = 300; /* Limit so that it definitely fits into an Assuan + line. */ + + command = secmem_malloc (strlen (prefix) + 3*length + 1); + if (!command) + return 0; + strcpy (command, prefix); + copy_and_escape (command + strlen(command), passphrase, length); + rc = assuan_write_line (ctx, command); + secmem_free (command); + if (rc) + { + fprintf (stderr, "ASSUAN WRITE LINE failed: rc=%d\n", rc); + return 0; + } + + for (;;) + { + do + { + rc = assuan_read_line (ctx, &line, &linelen); + if (rc) + { + fprintf (stderr, "ASSUAN READ LINE failed: rc=%d\n", rc); + return 0; + } + } + while (*line == '#' || !linelen); + if (line[0] == 'E' && line[1] == 'N' && line[2] == 'D' + && (!line[3] || line[3] == ' ')) + break; /* END command received*/ + if (line[0] == 'C' && line[1] == 'A' && line[2] == 'N' + && (!line[3] || line[3] == ' ')) + break; /* CAN command received*/ + if (line[0] == 'E' && line[1] == 'R' && line[2] == 'R' + && (!line[3] || line[3] == ' ')) + break; /* ERR command received*/ + if (line[0] != 'D' || line[1] != ' ' || linelen < 3 || gotvalue) + continue; + gotvalue = 1; + value = strdup (line + 2); + } + + return value; +} + + +/* Run a genpin inquiry */ +char * +pinentry_inq_genpin (pinentry_t pin) +{ + assuan_context_t ctx = pin->ctx_assuan; + const char prefix[] = "INQUIRE GENPIN"; + char *line; + size_t linelen; + int gotvalue = 0; + char *value = NULL; + int rc; + + if (!ctx) + return 0; /* Can't run the callback. */ + + rc = assuan_write_line (ctx, prefix); + if (rc) + { + fprintf (stderr, "ASSUAN WRITE LINE failed: rc=%d\n", rc); + return 0; + } + + for (;;) + { + do + { + rc = assuan_read_line (ctx, &line, &linelen); + if (rc) + { + fprintf (stderr, "ASSUAN READ LINE failed: rc=%d\n", rc); + free (value); + return 0; + } + } + while (*line == '#' || !linelen); + if (line[0] == 'E' && line[1] == 'N' && line[2] == 'D' + && (!line[3] || line[3] == ' ')) + break; /* END command received*/ + if (line[0] == 'C' && line[1] == 'A' && line[2] == 'N' + && (!line[3] || line[3] == ' ')) + break; /* CAN command received*/ + if (line[0] == 'E' && line[1] == 'R' && line[2] == 'R' + && (!line[3] || line[3] == ' ')) + break; /* ERR command received*/ + if (line[0] != 'D' || line[1] != ' ' || linelen < 3 || gotvalue) + continue; + gotvalue = 1; + value = strdup (line + 2); + } + + return value; +} /* Try to make room for at least LEN bytes in the pinentry. Returns new buffer on success and 0 on failure or when the old buffer is @@ -819,7 +824,6 @@ my_strusage( int level ) { snprintf (str, n, "Usage: %s [options] (-h for help)", this_pgmname); - str[n-1] = 0; } } p = str; @@ -950,8 +954,8 @@ pinentry_parse_opts (int argc, char *argv[]) } break; case 'N': - pinentry.ttytype = strdup (pargs.r.ret_str); - if (!pinentry.ttytype) + pinentry.ttytype_l = strdup (pargs.r.ret_str); + if (!pinentry.ttytype_l) { #ifndef HAVE_W32CE_SYSTEM fprintf (stderr, "%s: %s\n", this_pgmname, strerror (errno)); @@ -1070,10 +1074,10 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) } else if (!strcmp (key, "ttytype")) { - if (pinentry.ttytype) - free (pinentry.ttytype); - pinentry.ttytype = strdup (value); - if (!pinentry.ttytype) + if (pinentry.ttytype_l) + free (pinentry.ttytype_l); + pinentry.ttytype_l = strdup (value); + if (!pinentry.ttytype_l) return gpg_error_from_syserror (); } else if (!strcmp (key, "ttyalert")) @@ -1195,6 +1199,12 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) if (!pinentry.default_tt_hide) return gpg_error_from_syserror (); } + else if (!strcmp (key, "default-capshint")) + { + pinentry.default_capshint = strdup (value); + if (!pinentry.default_capshint) + return gpg_error_from_syserror (); + } else if (!strcmp (key, "allow-external-password-cache") && !*value) { pinentry.allow_external_password_cache = 1; @@ -1214,6 +1224,48 @@ option_handler (assuan_context_t ctx, const char *key, const char *value) if (!pinentry.invisible_char) return gpg_error_from_syserror (); } + else if (!strcmp (key, "formatted-passphrase") && !*value) + { + pinentry.formatted_passphrase = 1; + } + else if (!strcmp (key, "formatted-passphrase-hint")) + { + if (pinentry.formatted_passphrase_hint) + free (pinentry.formatted_passphrase_hint); + pinentry.formatted_passphrase_hint = strdup (value); + if (!pinentry.formatted_passphrase_hint) + return gpg_error_from_syserror (); + do_unescape_inplace(pinentry.formatted_passphrase_hint); + } + else if (!strcmp (key, "constraints-enforce") && !*value) + pinentry.constraints_enforce = 1; + else if (!strcmp (key, "constraints-hint-short")) + { + if (pinentry.constraints_hint_short) + free (pinentry.constraints_hint_short); + pinentry.constraints_hint_short = strdup (value); + if (!pinentry.constraints_hint_short) + return gpg_error_from_syserror (); + do_unescape_inplace(pinentry.constraints_hint_short); + } + else if (!strcmp (key, "constraints-hint-long")) + { + if (pinentry.constraints_hint_long) + free (pinentry.constraints_hint_long); + pinentry.constraints_hint_long = strdup (value); + if (!pinentry.constraints_hint_long) + return gpg_error_from_syserror (); + do_unescape_inplace(pinentry.constraints_hint_long); + } + else if (!strcmp (key, "constraints-error-title")) + { + if (pinentry.constraints_error_title) + free (pinentry.constraints_error_title); + pinentry.constraints_error_title = strdup (value); + if (!pinentry.constraints_error_title) + return gpg_error_from_syserror (); + do_unescape_inplace(pinentry.constraints_error_title); + } else return gpg_error (GPG_ERR_UNKNOWN_OPTION); return 0; @@ -1257,7 +1309,6 @@ write_status_error (assuan_context_t ctx, pinentry_t pe) pe->specific_err_loc? pe->specific_err_loc : "?", pe->specific_err, pe->specific_err_info? pe->specific_err_info : ""); - buf[sizeof buf -1] = 0; assuan_write_status (ctx, "ERROR", buf); } @@ -1507,6 +1558,53 @@ cmd_setqualitybar_tt (assuan_context_t ctx, char *line) return 0; } +/* Set the tooltip to be used for a generate action. */ +static gpg_error_t +cmd_setgenpin_tt (assuan_context_t ctx, char *line) +{ + char *newval; + + (void)ctx; + + if (*line) + { + newval = malloc (strlen (line) + 1); + if (!newval) + return gpg_error_from_syserror (); + + strcpy_escaped (newval, line); + } + else + newval = NULL; + if (pinentry.genpin_tt) + free (pinentry.genpin_tt); + pinentry.genpin_tt = newval; + return 0; +} + +/* Set the label to be used for a generate action. */ +static gpg_error_t +cmd_setgenpin_label (assuan_context_t ctx, char *line) +{ + char *newval; + + (void)ctx; + + if (*line) + { + newval = malloc (strlen (line) + 1); + if (!newval) + return gpg_error_from_syserror (); + + strcpy_escaped (newval, line); + } + else + newval = NULL; + if (pinentry.genpin_label) + free (pinentry.genpin_label); + pinentry.genpin_label = newval; + return 0; +} static gpg_error_t cmd_getpin (assuan_context_t ctx, char *line) @@ -1613,6 +1711,10 @@ cmd_getpin (assuan_context_t ctx, char *line) if (pinentry.specific_err) { write_status_error (ctx, &pinentry); + + if (gpg_err_code (pinentry.specific_err) == GPG_ERR_FULLY_CANCELED) + assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1); + return pinentry.specific_err; } return (pinentry.locale_err @@ -1625,9 +1727,11 @@ cmd_getpin (assuan_context_t ctx, char *line) { if (pinentry.repeat_okay) assuan_write_status (ctx, "PIN_REPEATED", ""); + assuan_begin_confidential (ctx); result = assuan_send_data (ctx, pinentry.pin, strlen(pinentry.pin)); if (!result) result = assuan_send_data (ctx, NULL, 0); + assuan_end_confidential (ctx); if (/* GPG Agent says it's okay. */ pinentry.allow_external_password_cache && pinentry.keyinfo @@ -1683,6 +1787,10 @@ cmd_confirm (assuan_context_t ctx, char *line) if (pinentry.specific_err) { write_status_error (ctx, &pinentry); + + if (gpg_err_code (pinentry.specific_err) == GPG_ERR_FULLY_CANCELED) + assuan_set_flag (ctx, ASSUAN_FORCE_CLOSE, 1); + return pinentry.specific_err; } @@ -1706,6 +1814,33 @@ cmd_message (assuan_context_t ctx, char *line) return cmd_confirm (ctx, "--one-button"); } + +/* Return a staically allocated string with information on the mode, + * uid, and gid of DEVICE. On error "?" is returned if DEVICE is + * NULL, "-" is returned. */ +static const char * +device_stat_string (const char *device) +{ +#ifdef HAVE_STAT + static char buf[40]; + struct stat st; + + if (!device || !*device) + return "-"; + + if (stat (device, &st)) + return "?"; /* Error */ + snprintf (buf, sizeof buf, "%lo/%lu/%lu", + (unsigned long)st.st_mode, + (unsigned long)st.st_uid, + (unsigned long)st.st_gid); + return buf; +#else + return "-"; +#endif +} + + /* GETINFO Multipurpose function to return a variety of information. @@ -1714,14 +1849,14 @@ cmd_message (assuan_context_t ctx, char *line) version - Return the version of the program. pid - Return the process id of the server. flavor - Return information about the used pinentry flavor - ttyinfo - Return DISPLAY and ttyinfo. + ttyinfo - Return DISPLAY, ttyinfo and an emacs pinentry status */ static gpg_error_t cmd_getinfo (assuan_context_t ctx, char *line) { int rc; const char *s; - char buffer[100]; + char buffer[150]; if (!strcmp (line, "version")) { @@ -1732,7 +1867,6 @@ cmd_getinfo (assuan_context_t ctx, char *line) { snprintf (buffer, sizeof buffer, "%lu", (unsigned long)getpid ()); - buffer[sizeof buffer -1] = 0; rc = assuan_send_data (ctx, buffer, strlen (buffer)); } else if (!strcmp (line, "flavor")) @@ -1746,18 +1880,31 @@ cmd_getinfo (assuan_context_t ctx, char *line) s, flavor_flag? ":":"", flavor_flag? flavor_flag : ""); - buffer[sizeof buffer -1] = 0; rc = assuan_send_data (ctx, buffer, strlen (buffer)); /* if (!rc) */ /* rc = assuan_write_status (ctx, "FEATURES", "tabbing foo bar"); */ } else if (!strcmp (line, "ttyinfo")) { - snprintf (buffer, sizeof buffer, "%s %s %s", + char emacs_status[10]; +#ifdef INSIDE_EMACS + snprintf (emacs_status, sizeof emacs_status, + "%d", pinentry_emacs_status ()); +#else + strcpy (emacs_status, "-"); +#endif + snprintf (buffer, sizeof buffer, "%s %s %s %s %lu/%lu %s", pinentry.ttyname? pinentry.ttyname : "-", - pinentry.ttytype? pinentry.ttytype : "-", - pinentry.display? pinentry.display : "-" ); - buffer[sizeof buffer -1] = 0; + pinentry.ttytype_l? pinentry.ttytype_l : "-", + pinentry.display? pinentry.display : "-", + device_stat_string (pinentry.ttyname), +#ifdef HAVE_DOSISH_SYSTEM + 0l, 0l, +#else + (unsigned long)geteuid (), (unsigned long)getegid (), +#endif + emacs_status + ); rc = assuan_send_data (ctx, buffer, strlen (buffer)); } else @@ -1816,6 +1963,8 @@ register_commands (assuan_context_t ctx) { "MESSAGE", cmd_message }, { "SETQUALITYBAR", cmd_setqualitybar }, { "SETQUALITYBAR_TT", cmd_setqualitybar_tt }, + { "SETGENPIN", cmd_setgenpin_label }, + { "SETGENPIN_TT", cmd_setgenpin_tt }, { "GETINFO", cmd_getinfo }, { "SETTITLE", cmd_settitle }, { "SETTIMEOUT", cmd_settimeout }, diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h similarity index 80% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h index 009e8848..b97f069b 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/pinentry/pinentry.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/pinentry/pinentry.h @@ -1,5 +1,5 @@ /* pinentry.h - The interface for the PIN entry support library. - * Copyright (C) 2002, 2003, 2010, 2015 g10 Code GmbH + * Copyright (C) 2002, 2003, 2010, 2015, 2021 g10 Code GmbH * * This file is part of PINENTRY. * @@ -75,7 +75,7 @@ struct pinentry supported. (Assuan: "OPTION ttyname TTYNAME".) */ char *ttyname; /* The type of the terminal. (Assuan: "OPTION ttytype TTYTYPE".) */ - char *ttytype; + char *ttytype_l; /* Set the alert mode (none, beep or flash). */ char *ttyalert; /* The LC_CTYPE value for the terminal. (Assuan: "OPTION lc-ctype @@ -170,10 +170,29 @@ struct pinentry "SETQUALITYBAR LABEL".) */ char *quality_bar; - /* The tooltip to be show for the qualitybar. Malloced or NULL. + /* The tooltip to be shown for the qualitybar. Malloced or NULL. (Assuan: "SETQUALITYBAR_TT TOOLTIP".) */ char *quality_bar_tt; + /* If this is not NULL, a generate action should be shown. + There will be an inquiry back to the caller to get such a + PIN. generate action. Malloced or NULL. + (Assuan: "SETGENPIN LABEL" .) */ + char *genpin_label; + + /* The tooltip to be shown for the generate action. Malloced or NULL. + (Assuan: "SETGENPIN_TT TOOLTIP".) */ + char *genpin_tt; + + /* Specifies whether passphrase formatting should be enabled. + (Assuan: "OPTION formatted-passphrase") */ + int formatted_passphrase; + + /* A hint to be shown near the passphrase input field if passphrase + formatting is enabled. Malloced or NULL. + (Assuan: "OPTION formatted-passphrase-hint=HINT".) */ + char *formatted_passphrase_hint; + /* For the curses pinentry, the color of error messages. */ pinentry_color_t color_fg; int color_fg_bright; @@ -202,6 +221,9 @@ struct pinentry /* (Assuan: "OPTION default-tt-hide Hide passphrase"). */ char *default_tt_hide; + /* (Assuan: "OPTION default-capshint + Caps Lock is on"). */ + char *default_capshint; /* Whether we are allowed to read the password from an external cache. (Assuan: "OPTION allow-external-password-cache") */ @@ -220,8 +242,8 @@ struct pinentry /* NOTE: If you add any additional fields to this structure, be sure to update the initializer in pinentry/pinentry.c!!! */ - /* For the quality indicator we need to do an inquiry. Thus we need - to save the assuan ctx. */ + /* For the quality indicator and genpin we need to do an inquiry. + Thus we need to save the assuan ctx. */ void *ctx_assuan; /* An UTF-8 string with an invisible character used to override the @@ -229,6 +251,26 @@ struct pinentry used. */ char *invisible_char; + /* Whether the passphrase constraints are enforced by gpg-agent. + (Assuan: "OPTION constraints-enforce") */ + int constraints_enforce; + + /* A short translated hint for the user with the constraints for new + passphrases to be displayed near the passphrase input field. + Malloced or NULL. + (Assuan: "OPTION constraints-hint-short=At least 8 characters".) */ + char *constraints_hint_short; + + /* A longer translated hint for the user with the constraints for new + passphrases to be displayed for example as tooltip. Malloced or NULL. + (Assuan: "OPTION constraints-hint-long=The passphrase must ...".) */ + char *constraints_hint_long; + + /* A short translated title for an error dialog informing the user about + unsatisfied passphrase constraints. Malloced or NULL. + (Assuan: "OPTION constraints-error-title=Passphrase Not Allowed".) */ + char *constraints_error_title; + }; typedef struct pinentry *pinentry_t; @@ -253,15 +295,7 @@ int pinentry_loop (void); */ int pinentry_loop2 (int infd, int outfd); - -/* Convert the UTF-8 encoded string TEXT to the encoding given in - LC_CTYPE. Return NULL on error. */ -char *pinentry_utf8_to_local (const char *lc_ctype, const char *text); - -/* Convert TEXT which is encoded according to LC_CTYPE to UTF-8. With - SECURE set to true, use secure memory for the returned buffer. - Return NULL on error. */ -char *pinentry_local_to_utf8 (char *lc_ctype, char *text, int secure); +const char *pinentry_get_pgmname (void); char *pinentry_get_title (pinentry_t pe); @@ -269,6 +303,15 @@ char *pinentry_get_title (pinentry_t pe); int pinentry_inq_quality (pinentry_t pin, const char *passphrase, size_t length); +/* Run a checkpin inquiry for PASSPHRASE of LENGTH. Returns NULL, if the + passphrase satisfies the constraints. Otherwise, returns a malloced error + string. */ +char *pinentry_inq_checkpin (pinentry_t pin, + const char *passphrase, size_t length); + +/* Run a genpin iquriry. Returns a malloced string or NULL */ +char *pinentry_inq_genpin (pinentry_t pin); + /* Try to make room for at least LEN bytes for the pin in the pinentry PIN. Returns new buffer on success and 0 on failure. */ char *pinentry_setbufferlen (pinentry_t pin, int len); diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am new file mode 100644 index 00000000..4b2cec2b --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.am @@ -0,0 +1,75 @@ +# Makefile.am +# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB +# Copyright (C) 2008, 2015 g10 Code GmbH +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# SPDX-License-Identifier: GPL-2.0+ + +## Process this file with automake to produce Makefile.in + +bin_PROGRAMS = pinentry-qt + +EXTRA_DIST = pinentryrc.qrc + +SUBDIRS = icons + + +if FALLBACK_CURSES +ncurses_include = $(NCURSES_INCLUDE) +libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) +else +ncurses_include = +libcurses = +endif + + +AM_CPPFLAGS = $(COMMON_CFLAGS) \ + -I$(top_srcdir) -I$(top_srcdir)/secmem \ + $(ncurses_include) -I$(top_srcdir)/pinentry +AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) +pinentry_qt_LDADD = \ + ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ + $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) +pinentry_qt_LDFLAGS = $(PINENTRY_QT_LDFLAGS) + +if BUILD_PINENTRY_QT +BUILT_SOURCES = \ + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc capslock.moc \ + pinentryrc.cpp +endif + +CLEANFILES = $(BUILT_SOURCES) + +if HAVE_W32_SYSTEM +pinentry_qt_platform_SOURCES = capslock_win.cpp +else +pinentry_qt_platform_SOURCES = capslock_unix.cpp +endif + +pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ + main.cpp pinentryconfirm.cpp pinentryconfirm.h \ + pinlineedit.h pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ + pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ + accessibility.h qti18n.cpp pinentryrc.qrc \ + $(pinentry_qt_platform_SOURCES) + +nodist_pinentry_qt_SOURCES = $(BUILT_SOURCES) + +.h.moc: + $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ + +pinentryrc.cpp: pinentryrc.qrc + $(RCC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in new file mode 100644 index 00000000..f3aeeea4 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/Makefile.in @@ -0,0 +1,902 @@ +# Makefile.in generated by automake 1.16.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2020 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program 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. + +@SET_MAKE@ + +# Makefile.am +# Copyright (C) 2002 g10 Code GmbH, Klarälvdalens Datakonsult AB +# Copyright (C) 2008, 2015 g10 Code GmbH +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# SPDX-License-Identifier: GPL-2.0+ + +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +bin_PROGRAMS = pinentry-qt$(EXEEXT) +subdir = qt +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ + $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +am__installdirs = "$(DESTDIR)$(bindir)" +PROGRAMS = $(bin_PROGRAMS) +am__pinentry_qt_SOURCES_DIST = pinentrydialog.h pinentrydialog.cpp \ + main.cpp pinentryconfirm.cpp pinentryconfirm.h pinlineedit.h \ + pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ + pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ + accessibility.h qti18n.cpp pinentryrc.qrc capslock_unix.cpp \ + capslock_win.cpp +@HAVE_W32_SYSTEM_FALSE@am__objects_1 = capslock_unix.$(OBJEXT) +@HAVE_W32_SYSTEM_TRUE@am__objects_1 = capslock_win.$(OBJEXT) +am_pinentry_qt_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ + pinentryconfirm.$(OBJEXT) pinlineedit.$(OBJEXT) \ + capslock.$(OBJEXT) pinentry_debug.$(OBJEXT) \ + accessibility.$(OBJEXT) qti18n.$(OBJEXT) $(am__objects_1) +@BUILD_PINENTRY_QT_TRUE@am__objects_2 = pinentryrc.$(OBJEXT) +nodist_pinentry_qt_OBJECTS = $(am__objects_2) +pinentry_qt_OBJECTS = $(am_pinentry_qt_OBJECTS) \ + $(nodist_pinentry_qt_OBJECTS) +am__DEPENDENCIES_1 = +@FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ +@FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ +@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ +@FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) +pinentry_qt_DEPENDENCIES = ../pinentry/libpinentry.a \ + $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +pinentry_qt_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(pinentry_qt_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) +depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/accessibility.Po \ + ./$(DEPDIR)/capslock.Po ./$(DEPDIR)/capslock_unix.Po \ + ./$(DEPDIR)/capslock_win.Po ./$(DEPDIR)/main.Po \ + ./$(DEPDIR)/pinentry_debug.Po ./$(DEPDIR)/pinentryconfirm.Po \ + ./$(DEPDIR)/pinentrydialog.Po ./$(DEPDIR)/pinentryrc.Po \ + ./$(DEPDIR)/pinlineedit.Po ./$(DEPDIR)/qti18n.Po +am__mv = mv -f +CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ + $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) +AM_V_CXX = $(am__v_CXX_@AM_V@) +am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@) +am__v_CXX_0 = @echo " CXX " $@; +am__v_CXX_1 = +CXXLD = $(CXX) +CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \ + -o $@ +AM_V_CXXLD = $(am__v_CXXLD_@AM_V@) +am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@) +am__v_CXXLD_0 = @echo " CXXLD " $@; +am__v_CXXLD_1 = +COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ + $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) +AM_V_CC = $(am__v_CC_@AM_V@) +am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) +am__v_CC_0 = @echo " CC " $@; +am__v_CC_1 = +CCLD = $(CC) +LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@ +AM_V_CCLD = $(am__v_CCLD_@AM_V@) +am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) +am__v_CCLD_0 = @echo " CCLD " $@; +am__v_CCLD_1 = +SOURCES = $(pinentry_qt_SOURCES) $(nodist_pinentry_qt_SOURCES) +DIST_SOURCES = $(am__pinentry_qt_SOURCES_DIST) +RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ + ctags-recursive dvi-recursive html-recursive info-recursive \ + install-data-recursive install-dvi-recursive \ + install-exec-recursive install-html-recursive \ + install-info-recursive install-pdf-recursive \ + install-ps-recursive install-recursive installcheck-recursive \ + installdirs-recursive pdf-recursive ps-recursive \ + tags-recursive uninstall-recursive +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ + distclean-recursive maintainer-clean-recursive +am__recursive_targets = \ + $(RECURSIVE_TARGETS) \ + $(RECURSIVE_CLEAN_TARGETS) \ + $(am__extra_recursive_targets) +AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ + distdir distdir-am +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +# Read a list of newline-separated strings from the standard input, +# and print each of them once, without duplicates. Input order is +# *not* preserved. +am__uniquify_input = $(AWK) '\ + BEGIN { nonempty = 0; } \ + { items[$$0] = 1; nonempty = 1; } \ + END { if (nonempty) { for (i in items) print i; }; } \ +' +# Make sure the list of sources is unique. This is necessary because, +# e.g., the same source file might be shared among _SOURCES variables +# for different programs/libraries. +am__define_uniq_tagged_files = \ + list='$(am__tagged_files)'; \ + unique=`for i in $$list; do \ + if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ + done | $(am__uniquify_input)` +ETAGS = etags +CTAGS = ctags +DIST_SUBDIRS = $(SUBDIRS) +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +am__relativize = \ + dir0=`pwd`; \ + sed_first='s,^\([^/]*\)/.*$$,\1,'; \ + sed_rest='s,^[^/]*/*,,'; \ + sed_last='s,^.*/\([^/]*\)$$,\1,'; \ + sed_butlast='s,/*[^/]*$$,,'; \ + while test -n "$$dir1"; do \ + first=`echo "$$dir1" | sed -e "$$sed_first"`; \ + if test "$$first" != "."; then \ + if test "$$first" = ".."; then \ + dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ + dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ + else \ + first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ + if test "$$first2" = "$$first"; then \ + dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ + else \ + dir2="../$$dir2"; \ + fi; \ + dir0="$$dir0"/"$$first"; \ + fi; \ + fi; \ + dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ + done; \ + reldir="$$dir2" +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMMON_CFLAGS = @COMMON_CFLAGS@ +COMMON_LIBS = @COMMON_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FLTKCFLAGS = @FLTKCFLAGS@ +FLTKCXXFLAGS = @FLTKCXXFLAGS@ +FLTKLIBS = @FLTKLIBS@ +FLTK_CONFIG = @FLTK_CONFIG@ +GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ +GNOME3_CFLAGS = @GNOME3_CFLAGS@ +GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ +GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ +GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ +GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ +GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ +GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ +GREP = @GREP@ +GTK2_CFLAGS = @GTK2_CFLAGS@ +GTK2_LIBS = @GTK2_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ +LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ +LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ +LIBCURSES = @LIBCURSES@ +LIBICONV = @LIBICONV@ +LIBNCURSES = @LIBNCURSES@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ +LIBSECRET_LIBS = @LIBSECRET_LIBS@ +LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MOC = @MOC@ +MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ +NCURSES_CFLAGS = @NCURSES_CFLAGS@ +NCURSES_INCLUDE = @NCURSES_INCLUDE@ +NCURSES_LIBS = @NCURSES_LIBS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ +PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ +PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ +PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ +PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ +PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ +PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +QTCHOOSER = @QTCHOOSER@ +RANLIB = @RANLIB@ +RCC = @RCC@ +RCC2 = @RCC2@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TQT_MOC = @TQT_MOC@ +VERSION = @VERSION@ +WINDRES = @WINDRES@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = pinentryrc.qrc +SUBDIRS = icons +@FALLBACK_CURSES_FALSE@ncurses_include = +@FALLBACK_CURSES_TRUE@ncurses_include = $(NCURSES_INCLUDE) +@FALLBACK_CURSES_FALSE@libcurses = +@FALLBACK_CURSES_TRUE@libcurses = ../pinentry/libpinentry-curses.a $(LIBCURSES) $(LIBICONV) +AM_CPPFLAGS = $(COMMON_CFLAGS) \ + -I$(top_srcdir) -I$(top_srcdir)/secmem \ + $(ncurses_include) -I$(top_srcdir)/pinentry + +AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) +pinentry_qt_LDADD = \ + ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ + $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) + +pinentry_qt_LDFLAGS = $(PINENTRY_QT_LDFLAGS) +@BUILD_PINENTRY_QT_TRUE@BUILT_SOURCES = \ +@BUILD_PINENTRY_QT_TRUE@ pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc capslock.moc \ +@BUILD_PINENTRY_QT_TRUE@ pinentryrc.cpp + +CLEANFILES = $(BUILT_SOURCES) +@HAVE_W32_SYSTEM_FALSE@pinentry_qt_platform_SOURCES = capslock_unix.cpp +@HAVE_W32_SYSTEM_TRUE@pinentry_qt_platform_SOURCES = capslock_win.cpp +pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ + main.cpp pinentryconfirm.cpp pinentryconfirm.h \ + pinlineedit.h pinlineedit.cpp capslock.cpp capslock.h capslock_p.h \ + pinentry_debug.cpp pinentry_debug.h util.h accessibility.cpp \ + accessibility.h qti18n.cpp pinentryrc.qrc \ + $(pinentry_qt_platform_SOURCES) + +nodist_pinentry_qt_SOURCES = $(BUILT_SOURCES) +all: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) all-recursive + +.SUFFIXES: +.SUFFIXES: .cpp .h .moc .o .obj +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu qt/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +install-binPROGRAMS: $(bin_PROGRAMS) + @$(NORMAL_INSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + if test -n "$$list"; then \ + echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ + $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ + fi; \ + for p in $$list; do echo "$$p $$p"; done | \ + sed 's/$(EXEEXT)$$//' | \ + while read p p1; do if test -f $$p \ + ; then echo "$$p"; echo "$$p"; else :; fi; \ + done | \ + sed -e 'p;s,.*/,,;n;h' \ + -e 's|.*|.|' \ + -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ + sed 'N;N;N;s,\n, ,g' | \ + $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ + { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ + if ($$2 == $$4) files[d] = files[d] " " $$1; \ + else { print "f", $$3 "/" $$4, $$1; } } \ + END { for (d in files) print "f", d, files[d] }' | \ + while read type dir files; do \ + if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ + test -z "$$files" || { \ + echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ + $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ + } \ + ; done + +uninstall-binPROGRAMS: + @$(NORMAL_UNINSTALL) + @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ + files=`for p in $$list; do echo "$$p"; done | \ + sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ + -e 's/$$/$(EXEEXT)/' \ + `; \ + test -n "$$list" || exit 0; \ + echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ + cd "$(DESTDIR)$(bindir)" && rm -f $$files + +clean-binPROGRAMS: + -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) + +pinentry-qt$(EXEEXT): $(pinentry_qt_OBJECTS) $(pinentry_qt_DEPENDENCIES) $(EXTRA_pinentry_qt_DEPENDENCIES) + @rm -f pinentry-qt$(EXEEXT) + $(AM_V_CXXLD)$(pinentry_qt_LINK) $(pinentry_qt_OBJECTS) $(pinentry_qt_LDADD) $(LIBS) + +mostlyclean-compile: + -rm -f *.$(OBJEXT) + +distclean-compile: + -rm -f *.tab.c + +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/accessibility.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock_unix.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/capslock_win.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry_debug.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryconfirm.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryrc.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinlineedit.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qti18n.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) + +.cpp.o: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $< + +.cpp.obj: +@am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` +@am__fastdepCXX_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` + +# This directory's subdirectories are mostly independent; you can cd +# into them and run 'make' without going through this Makefile. +# To change the values of 'make' variables: instead of editing Makefiles, +# (1) if the variable is set in 'config.status', edit 'config.status' +# (which will cause the Makefiles to be regenerated when you run 'make'); +# (2) otherwise, pass the desired values on the 'make' command line. +$(am__recursive_targets): + @fail=; \ + if $(am__make_keepgoing); then \ + failcom='fail=yes'; \ + else \ + failcom='exit 1'; \ + fi; \ + dot_seen=no; \ + target=`echo $@ | sed s/-recursive//`; \ + case "$@" in \ + distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ + *) list='$(SUBDIRS)' ;; \ + esac; \ + for subdir in $$list; do \ + echo "Making $$target in $$subdir"; \ + if test "$$subdir" = "."; then \ + dot_seen=yes; \ + local_target="$$target-am"; \ + else \ + local_target="$$target"; \ + fi; \ + ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ + || eval $$failcom; \ + done; \ + if test "$$dot_seen" = "no"; then \ + $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ + fi; test -z "$$fail" + +ID: $(am__tagged_files) + $(am__define_uniq_tagged_files); mkid -fID $$unique +tags: tags-recursive +TAGS: tags + +tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + set x; \ + here=`pwd`; \ + if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ + include_option=--etags-include; \ + empty_fix=.; \ + else \ + include_option=--include; \ + empty_fix=; \ + fi; \ + list='$(SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + test ! -f $$subdir/TAGS || \ + set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ + fi; \ + done; \ + $(am__define_uniq_tagged_files); \ + shift; \ + if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ + test -n "$$unique" || unique=$$empty_fix; \ + if test $$# -gt 0; then \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + "$$@" $$unique; \ + else \ + $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ + $$unique; \ + fi; \ + fi +ctags: ctags-recursive + +CTAGS: ctags +ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) + $(am__define_uniq_tagged_files); \ + test -z "$(CTAGS_ARGS)$$unique" \ + || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ + $$unique + +GTAGS: + here=`$(am__cd) $(top_builddir) && pwd` \ + && $(am__cd) $(top_srcdir) \ + && gtags -i $(GTAGS_ARGS) "$$here" +cscopelist: cscopelist-recursive + +cscopelist-am: $(am__tagged_files) + list='$(am__tagged_files)'; \ + case "$(srcdir)" in \ + [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ + *) sdir=$(subdir)/$(srcdir) ;; \ + esac; \ + for i in $$list; do \ + if test -f "$$i"; then \ + echo "$(subdir)/$$i"; \ + else \ + echo "$$sdir/$$i"; \ + fi; \ + done >> $(top_builddir)/cscope.files + +distclean-tags: + -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done + @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ + if test "$$subdir" = .; then :; else \ + $(am__make_dryrun) \ + || test -d "$(distdir)/$$subdir" \ + || $(MKDIR_P) "$(distdir)/$$subdir" \ + || exit 1; \ + dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ + $(am__relativize); \ + new_distdir=$$reldir; \ + dir1=$$subdir; dir2="$(top_distdir)"; \ + $(am__relativize); \ + new_top_distdir=$$reldir; \ + echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ + echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ + ($(am__cd) $$subdir && \ + $(MAKE) $(AM_MAKEFLAGS) \ + top_distdir="$$new_top_distdir" \ + distdir="$$new_distdir" \ + am__remove_distdir=: \ + am__skip_length_check=: \ + am__skip_mode_fix=: \ + distdir) \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) check-recursive +all-am: Makefile $(PROGRAMS) +installdirs: installdirs-recursive +installdirs-am: + for dir in "$(DESTDIR)$(bindir)"; do \ + test -z "$$dir" || $(MKDIR_P) "$$dir"; \ + done +install: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-recursive +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-recursive +install-data: install-data-recursive +uninstall: uninstall-recursive + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-recursive +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) +clean: clean-recursive + +clean-am: clean-binPROGRAMS clean-generic mostlyclean-am + +distclean: distclean-recursive + -rm -f ./$(DEPDIR)/accessibility.Po + -rm -f ./$(DEPDIR)/capslock.Po + -rm -f ./$(DEPDIR)/capslock_unix.Po + -rm -f ./$(DEPDIR)/capslock_win.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentry_debug.Po + -rm -f ./$(DEPDIR)/pinentryconfirm.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/pinentryrc.Po + -rm -f ./$(DEPDIR)/pinlineedit.Po + -rm -f ./$(DEPDIR)/qti18n.Po + -rm -f Makefile +distclean-am: clean-am distclean-compile distclean-generic \ + distclean-tags + +dvi: dvi-recursive + +dvi-am: + +html: html-recursive + +html-am: + +info: info-recursive + +info-am: + +install-data-am: + +install-dvi: install-dvi-recursive + +install-dvi-am: + +install-exec-am: install-binPROGRAMS + +install-html: install-html-recursive + +install-html-am: + +install-info: install-info-recursive + +install-info-am: + +install-man: + +install-pdf: install-pdf-recursive + +install-pdf-am: + +install-ps: install-ps-recursive + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-recursive + -rm -f ./$(DEPDIR)/accessibility.Po + -rm -f ./$(DEPDIR)/capslock.Po + -rm -f ./$(DEPDIR)/capslock_unix.Po + -rm -f ./$(DEPDIR)/capslock_win.Po + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentry_debug.Po + -rm -f ./$(DEPDIR)/pinentryconfirm.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/pinentryrc.Po + -rm -f ./$(DEPDIR)/pinlineedit.Po + -rm -f ./$(DEPDIR)/qti18n.Po + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-recursive + +mostlyclean-am: mostlyclean-compile mostlyclean-generic + +pdf: pdf-recursive + +pdf-am: + +ps: ps-recursive + +ps-am: + +uninstall-am: uninstall-binPROGRAMS + +.MAKE: $(am__recursive_targets) all check install install-am \ + install-exec install-strip + +.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ + am--depfiles check check-am clean clean-binPROGRAMS \ + clean-generic cscopelist-am ctags ctags-am distclean \ + distclean-compile distclean-generic distclean-tags distdir dvi \ + dvi-am html html-am info info-am install install-am \ + install-binPROGRAMS install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + installdirs-am maintainer-clean maintainer-clean-generic \ + mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ + ps ps-am tags tags-am uninstall uninstall-am \ + uninstall-binPROGRAMS + +.PRECIOUS: Makefile + + +.h.moc: + $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ + +pinentryrc.cpp: pinentryrc.qrc + $(RCC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp new file mode 100644 index 00000000..7372df74 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.cpp @@ -0,0 +1,70 @@ +/* accessibility.cpp - Helpers for making pinentry accessible + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "accessibility.h" + +#include +#include +#include +#include + +#include "pinentry_debug.h" + +namespace Accessibility +{ + +void setDescription(QWidget *w, const QString &text) +{ + if (w) { +#ifndef QT_NO_ACCESSIBILITY + w->setAccessibleDescription(text); +#endif + } +} + +void setName(QWidget *w, const QString &text) +{ + if (w) { +#ifndef QT_NO_ACCESSIBILITY + w->setAccessibleName(text); +#endif + } +} + +void selectLabelText(QLabel *label) +{ + if (!label || label->text().isEmpty()) { + return; + } + if (label->textFormat() == Qt::PlainText) { + label->setSelection(0, label->text().size()); + } else if (label->textFormat() == Qt::RichText) { + // unfortunately, there is no selectAll(); therefore, we need + // to determine the "visual" length of the text by stripping + // the label's text of all formatting information + QTextDocument temp; + temp.setHtml(label->text()); + label->setSelection(0, temp.toRawText().size()); + } else { + qDebug(PINENTRY_LOG) << "Label with unsupported text format" << label->textFormat() << "got focus"; + } +} + +} // namespace Accessibility diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h new file mode 100644 index 00000000..831964bb --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/accessibility.h @@ -0,0 +1,45 @@ +/* accessibility.h - Helpers for making pinentry accessible + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRY_QT_ACCESSIBILITY_H__ +#define __PINENTRY_QT_ACCESSIBILITY_H__ + +class QLabel; +class QString; +class QWidget; + +namespace Accessibility +{ + +/* Wrapper for QWidget::setAccessibleDescription which does nothing if + QT_NO_ACCESSIBILITY is defined. */ +void setDescription(QWidget *w, const QString &text); + +/* Wrapper for QWidget::setAccessibleName which does nothing if + QT_NO_ACCESSIBILITY is defined. */ +void setName(QWidget *w, const QString &text); + +/* Selects the text displayed by the label. Only QLabel with text format + Qt::PlainText or Qt::RichText are supported. */ +void selectLabelText(QLabel *label); + +} // namespace Accessibility + +#endif // __PINENTRY_QT_ACCESSIBILITY_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp new file mode 100644 index 00000000..2d20864d --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.cpp @@ -0,0 +1,53 @@ +/* capslock.cpp - Helper to check whether Caps Lock is on + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "capslock.h" +#include "capslock_p.h" + +#include + +#include + +CapsLockWatcher::Private::Private(CapsLockWatcher *q) + : q{q} +{ +#ifdef PINENTRY_QT_WAYLAND + if (qApp->platformName() == QLatin1String("wayland")) { + watchWayland(); + } +#endif +} + +CapsLockWatcher::CapsLockWatcher(QObject *parent) + : QObject{parent} + , d{new Private{this}} +{ + if (qApp->platformName() == QLatin1String("wayland")) { +#ifndef PINENTRY_QT_WAYLAND + qWarning() << "CapsLockWatcher was compiled without support for Wayland"; +#endif + } +} + +#include "capslock.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h new file mode 100644 index 00000000..b5a04855 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock.h @@ -0,0 +1,52 @@ +/* capslock.h - Helper to check whether Caps Lock is on + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRY_QT_CAPSLOCK_H__ +#define __PINENTRY_QT_CAPSLOCK_H__ + +#include + +#include + +enum class LockState +{ + Unknown = -1, + Off, + On +}; + +LockState capsLockState(); + +class CapsLockWatcher : public QObject +{ + Q_OBJECT + +public: + explicit CapsLockWatcher(QObject *parent = nullptr); + +Q_SIGNALS: + void stateChanged(bool locked); + +private: + class Private; + std::unique_ptr d; +}; + +#endif // __PINENTRY_QT_CAPSLOCK_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h new file mode 100644 index 00000000..8c6fc491 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_p.h @@ -0,0 +1,61 @@ +/* capslock_p.h - Helper to check whether Caps Lock is on + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRY_QT_CAPSLOCK_P_H__ +#define __PINENTRY_QT_CAPSLOCK_P_H__ + +#include "capslock.h" + +#ifdef PINENTRY_QT_WAYLAND +namespace KWayland +{ +namespace Client +{ +class Registry; +class Seat; +} +} +#endif + +class CapsLockWatcher::Private +{ +public: + explicit Private(CapsLockWatcher *); +#ifdef PINENTRY_QT_WAYLAND + void watchWayland(); +#endif + +private: +#ifdef PINENTRY_QT_WAYLAND + void registry_seatAnnounced(quint32, quint32); + void seat_hasKeyboardChanged(bool); + void keyboard_modifiersChanged(quint32); +#endif + +private: + CapsLockWatcher *const q; + +#ifdef PINENTRY_QT_WAYLAND + KWayland::Client::Registry *registry = nullptr; + KWayland::Client::Seat *seat = nullptr; +#endif +}; + +#endif // __PINENTRY_QT_CAPSLOCK_P_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp new file mode 100644 index 00000000..320f738b --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_unix.cpp @@ -0,0 +1,136 @@ +/* capslock_unix.cpp - Helper to check whether Caps Lock is on + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "capslock.h" +#include "capslock_p.h" + +#ifdef PINENTRY_QT_WAYLAND +# include +# include +# include +# include +#endif + +#include + +#ifdef PINENTRY_QT_X11 +# include +# include +# undef Status +#endif + +#include + +#ifdef PINENTRY_QT_WAYLAND +using namespace KWayland::Client; +#endif + +#ifdef PINENTRY_QT_WAYLAND +static bool watchingWayland = false; +#endif + +LockState capsLockState() +{ + static bool reportUnsupportedPlatform = true; +#ifdef PINENTRY_QT_X11 + if (qApp->platformName() == QLatin1String("xcb")) { + unsigned int state; + XkbGetIndicatorState(QX11Info::display(), XkbUseCoreKbd, &state); + return (state & 0x01) == 1 ? LockState::On : LockState::Off; + } +#endif +#ifdef PINENTRY_QT_WAYLAND + if (qApp->platformName() == QLatin1String("wayland")) { + if (!watchingWayland && reportUnsupportedPlatform) { + qDebug() << "Use CapsLockWatcher for checking for Caps Lock on Wayland"; + } + } else +#endif + if (reportUnsupportedPlatform) { + qWarning() << "Checking for Caps Lock not possible on unsupported platform:" << qApp->platformName(); + } + reportUnsupportedPlatform = false; + return LockState::Unknown; +} + +#ifdef PINENTRY_QT_WAYLAND +void CapsLockWatcher::Private::watchWayland() +{ + watchingWayland = true; + auto connection = ConnectionThread::fromApplication(q); + if (!connection) { + qWarning() << "Failed to get connection to Wayland server from QPA"; + return; + } + registry = new Registry{q}; + registry->create(connection); + if (!registry->isValid()) { + qWarning() << "Failed to create valid KWayland registry"; + return; + } + registry->setup(); + + connect(registry, &Registry::seatAnnounced, + q, [this] (quint32 name, quint32 version) { registry_seatAnnounced(name, version); }); +} + +void CapsLockWatcher::Private::registry_seatAnnounced(quint32 name, quint32 version) +{ + Q_ASSERT(registry); + seat = registry->createSeat(name, version, q); + if (!seat->isValid()) { + qWarning() << "Failed to create valid KWayland seat"; + return; + } + + connect(seat, &Seat::hasKeyboardChanged, + q, [this] (bool hasKeyboard) { seat_hasKeyboardChanged(hasKeyboard); }); +} + +void CapsLockWatcher::Private::seat_hasKeyboardChanged(bool hasKeyboard) +{ + Q_ASSERT(seat); + + if (!hasKeyboard) { + qDebug() << "Seat has no keyboard"; + return; + } + + auto keyboard = seat->createKeyboard(q); + if (!keyboard->isValid()) { + qWarning() << "Failed to create valid KWayland keyboard"; + return; + } + + connect(keyboard, &Keyboard::modifiersChanged, + q, [this] (quint32, quint32, quint32 locked, quint32) { keyboard_modifiersChanged(locked); }); +} + +void CapsLockWatcher::Private::keyboard_modifiersChanged(quint32 locked) +{ + const bool capsLockIsLocked = (locked & 2u) != 0; + qDebug() << "Caps Lock is locked:" << capsLockIsLocked; + Q_EMIT q->stateChanged(capsLockIsLocked); +} +#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp new file mode 100644 index 00000000..960369b4 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/capslock_win.cpp @@ -0,0 +1,28 @@ +/* capslock_win.cpp - Helper to check whether Caps Lock is on + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "capslock.h" + +#include + +LockState capsLockState() +{ + return (GetKeyState(VK_CAPITAL) & 1) ? LockState::On : LockState::Off; +} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am new file mode 100644 index 00000000..49cef366 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.am @@ -0,0 +1,26 @@ +# Makefile.am +# Copyright (C) 2022 g10 Code GmbH +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# SPDX-License-Identifier: GPL-2.0+ + +## Process this file with automake to produce Makefile.in + +EXTRA_DIST = data-error.svg \ + document-encrypt.png \ + hint.svg \ + password-generate.svg \ + visibility.svg diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in new file mode 100644 index 00000000..f2d3330f --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/Makefile.in @@ -0,0 +1,503 @@ +# Makefile.in generated by automake 1.16.3 from Makefile.am. +# @configure_input@ + +# Copyright (C) 1994-2020 Free Software Foundation, Inc. + +# This Makefile.in is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program 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. + +@SET_MAKE@ + +# Makefile.am +# Copyright (C) 2022 g10 Code GmbH +# +# This file is part of PINENTRY. +# +# PINENTRY 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. +# +# PINENTRY 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# SPDX-License-Identifier: GPL-2.0+ +VPATH = @srcdir@ +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} +am__make_running_with_option = \ + case $${target_option-} in \ + ?) ;; \ + *) echo "am__make_running_with_option: internal error: invalid" \ + "target option '$${target_option-}' specified" >&2; \ + exit 1;; \ + esac; \ + has_opt=no; \ + sane_makeflags=$$MAKEFLAGS; \ + if $(am__is_gnu_make); then \ + sane_makeflags=$$MFLAGS; \ + else \ + case $$MAKEFLAGS in \ + *\\[\ \ ]*) \ + bs=\\; \ + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ + esac; \ + fi; \ + skip_next=no; \ + strip_trailopt () \ + { \ + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ + }; \ + for flg in $$sane_makeflags; do \ + test $$skip_next = yes && { skip_next=no; continue; }; \ + case $$flg in \ + *=*|--*) continue;; \ + -*I) strip_trailopt 'I'; skip_next=yes;; \ + -*I?*) strip_trailopt 'I';; \ + -*O) strip_trailopt 'O'; skip_next=yes;; \ + -*O?*) strip_trailopt 'O';; \ + -*l) strip_trailopt 'l'; skip_next=yes;; \ + -*l?*) strip_trailopt 'l';; \ + -[dEDm]) skip_next=yes;; \ + -[JT]) skip_next=yes;; \ + esac; \ + case $$flg in \ + *$$target_option*) has_opt=yes; break;; \ + esac; \ + done; \ + test $$has_opt = yes +am__make_dryrun = (target_option=n; $(am__make_running_with_option)) +am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) +pkgdatadir = $(datadir)/@PACKAGE@ +pkgincludedir = $(includedir)/@PACKAGE@ +pkglibdir = $(libdir)/@PACKAGE@ +pkglibexecdir = $(libexecdir)/@PACKAGE@ +am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd +install_sh_DATA = $(install_sh) -c -m 644 +install_sh_PROGRAM = $(install_sh) -c +install_sh_SCRIPT = $(install_sh) -c +INSTALL_HEADER = $(INSTALL_DATA) +transform = $(program_transform_name) +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : +build_triplet = @build@ +host_triplet = @host@ +subdir = qt/icons +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ + $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ + $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac +am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +mkinstalldirs = $(install_sh) -d +CONFIG_HEADER = $(top_builddir)/config.h +CONFIG_CLEAN_FILES = +CONFIG_CLEAN_VPATH_FILES = +AM_V_P = $(am__v_P_@AM_V@) +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) +am__v_P_0 = false +am__v_P_1 = : +AM_V_GEN = $(am__v_GEN_@AM_V@) +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) +am__v_GEN_0 = @echo " GEN " $@; +am__v_GEN_1 = +AM_V_at = $(am__v_at_@AM_V@) +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) +am__v_at_0 = @ +am__v_at_1 = +SOURCES = +DIST_SOURCES = +am__can_run_installinfo = \ + case $$AM_UPDATE_INFO_DIR in \ + n|no|NO) false;; \ + *) (install-info --version) >/dev/null 2>&1;; \ + esac +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) +ACLOCAL = @ACLOCAL@ +AMTAR = @AMTAR@ +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ +AUTOCONF = @AUTOCONF@ +AUTOHEADER = @AUTOHEADER@ +AUTOMAKE = @AUTOMAKE@ +AWK = @AWK@ +CC = @CC@ +CCDEPMODE = @CCDEPMODE@ +CFLAGS = @CFLAGS@ +COMMON_CFLAGS = @COMMON_CFLAGS@ +COMMON_LIBS = @COMMON_LIBS@ +CPP = @CPP@ +CPPFLAGS = @CPPFLAGS@ +CXX = @CXX@ +CXXDEPMODE = @CXXDEPMODE@ +CXXFLAGS = @CXXFLAGS@ +CYGPATH_W = @CYGPATH_W@ +DEFS = @DEFS@ +DEPDIR = @DEPDIR@ +ECHO_C = @ECHO_C@ +ECHO_N = @ECHO_N@ +ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ +EGREP = @EGREP@ +EXEEXT = @EXEEXT@ +FLTKCFLAGS = @FLTKCFLAGS@ +FLTKCXXFLAGS = @FLTKCXXFLAGS@ +FLTKLIBS = @FLTKLIBS@ +FLTK_CONFIG = @FLTK_CONFIG@ +GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ +GNOME3_CFLAGS = @GNOME3_CFLAGS@ +GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ +GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ +GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ +GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ +GPG_ERROR_MT_CFLAGS = @GPG_ERROR_MT_CFLAGS@ +GPG_ERROR_MT_LIBS = @GPG_ERROR_MT_LIBS@ +GREP = @GREP@ +GTK2_CFLAGS = @GTK2_CFLAGS@ +GTK2_LIBS = @GTK2_LIBS@ +INSTALL = @INSTALL@ +INSTALL_DATA = @INSTALL_DATA@ +INSTALL_PROGRAM = @INSTALL_PROGRAM@ +INSTALL_SCRIPT = @INSTALL_SCRIPT@ +INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ +LDFLAGS = @LDFLAGS@ +LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ +LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ +LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ +LIBCURSES = @LIBCURSES@ +LIBICONV = @LIBICONV@ +LIBNCURSES = @LIBNCURSES@ +LIBOBJS = @LIBOBJS@ +LIBS = @LIBS@ +LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ +LIBSECRET_LIBS = @LIBSECRET_LIBS@ +LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ +LN_S = @LN_S@ +LTLIBICONV = @LTLIBICONV@ +LTLIBOBJS = @LTLIBOBJS@ +MAINT = @MAINT@ +MAKEINFO = @MAKEINFO@ +MKDIR_P = @MKDIR_P@ +MOC = @MOC@ +MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ +NCURSES_CFLAGS = @NCURSES_CFLAGS@ +NCURSES_INCLUDE = @NCURSES_INCLUDE@ +NCURSES_LIBS = @NCURSES_LIBS@ +OBJEXT = @OBJEXT@ +PACKAGE = @PACKAGE@ +PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ +PACKAGE_NAME = @PACKAGE_NAME@ +PACKAGE_STRING = @PACKAGE_STRING@ +PACKAGE_TARNAME = @PACKAGE_TARNAME@ +PACKAGE_URL = @PACKAGE_URL@ +PACKAGE_VERSION = @PACKAGE_VERSION@ +PATH_SEPARATOR = @PATH_SEPARATOR@ +PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ +PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ +PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ +PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ +PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ +PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ +PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ +PKG_CONFIG = @PKG_CONFIG@ +QTCHOOSER = @QTCHOOSER@ +RANLIB = @RANLIB@ +RCC = @RCC@ +RCC2 = @RCC2@ +SET_MAKE = @SET_MAKE@ +SHELL = @SHELL@ +STRIP = @STRIP@ +TQT_MOC = @TQT_MOC@ +VERSION = @VERSION@ +WINDRES = @WINDRES@ +abs_builddir = @abs_builddir@ +abs_srcdir = @abs_srcdir@ +abs_top_builddir = @abs_top_builddir@ +abs_top_srcdir = @abs_top_srcdir@ +ac_ct_CC = @ac_ct_CC@ +ac_ct_CXX = @ac_ct_CXX@ +am__include = @am__include@ +am__leading_dot = @am__leading_dot@ +am__quote = @am__quote@ +am__tar = @am__tar@ +am__untar = @am__untar@ +bindir = @bindir@ +build = @build@ +build_alias = @build_alias@ +build_cpu = @build_cpu@ +build_os = @build_os@ +build_vendor = @build_vendor@ +builddir = @builddir@ +datadir = @datadir@ +datarootdir = @datarootdir@ +docdir = @docdir@ +dvidir = @dvidir@ +exec_prefix = @exec_prefix@ +host = @host@ +host_alias = @host_alias@ +host_cpu = @host_cpu@ +host_os = @host_os@ +host_vendor = @host_vendor@ +htmldir = @htmldir@ +includedir = @includedir@ +infodir = @infodir@ +install_sh = @install_sh@ +libdir = @libdir@ +libexecdir = @libexecdir@ +localedir = @localedir@ +localstatedir = @localstatedir@ +mandir = @mandir@ +mkdir_p = @mkdir_p@ +oldincludedir = @oldincludedir@ +pdfdir = @pdfdir@ +prefix = @prefix@ +program_transform_name = @program_transform_name@ +psdir = @psdir@ +runstatedir = @runstatedir@ +sbindir = @sbindir@ +sharedstatedir = @sharedstatedir@ +srcdir = @srcdir@ +sysconfdir = @sysconfdir@ +target_alias = @target_alias@ +top_build_prefix = @top_build_prefix@ +top_builddir = @top_builddir@ +top_srcdir = @top_srcdir@ +EXTRA_DIST = data-error.svg \ + document-encrypt.png \ + hint.svg \ + password-generate.svg \ + visibility.svg + +all: all-am + +.SUFFIXES: +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps) + @for dep in $?; do \ + case '$(am__configure_deps)' in \ + *$$dep*) \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ + exit 1;; \ + esac; \ + done; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt/icons/Makefile'; \ + $(am__cd) $(top_srcdir) && \ + $(AUTOMAKE) --gnu qt/icons/Makefile +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status + @case '$?' in \ + *config.status*) \ + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ + *) \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ + esac; + +$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh + +$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps) + cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh +$(am__aclocal_m4_deps): +tags TAGS: + +ctags CTAGS: + +cscope cscopelist: + + +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) + @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ + list='$(DISTFILES)'; \ + dist_files=`for file in $$list; do echo $$file; done | \ + sed -e "s|^$$srcdirstrip/||;t" \ + -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ + case $$dist_files in \ + */*) $(MKDIR_P) `echo "$$dist_files" | \ + sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ + sort -u` ;; \ + esac; \ + for file in $$dist_files; do \ + if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ + if test -d $$d/$$file; then \ + dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ + if test -d "$(distdir)/$$file"; then \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ + cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ + find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ + fi; \ + cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ + else \ + test -f "$(distdir)/$$file" \ + || cp -p $$d/$$file "$(distdir)/$$file" \ + || exit 1; \ + fi; \ + done +check-am: all-am +check: check-am +all-am: Makefile +installdirs: +install: install-am +install-exec: install-exec-am +install-data: install-data-am +uninstall: uninstall-am + +install-am: all-am + @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am + +installcheck: installcheck-am +install-strip: + if test -z '$(STRIP)'; then \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + install; \ + else \ + $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ + install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ + "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ + fi +mostlyclean-generic: + +clean-generic: + +distclean-generic: + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) + +maintainer-clean-generic: + @echo "This command is intended for maintainers to use" + @echo "it deletes files that may require special tools to rebuild." +clean: clean-am + +clean-am: clean-generic mostlyclean-am + +distclean: distclean-am + -rm -f Makefile +distclean-am: clean-am distclean-generic + +dvi: dvi-am + +dvi-am: + +html: html-am + +html-am: + +info: info-am + +info-am: + +install-data-am: + +install-dvi: install-dvi-am + +install-dvi-am: + +install-exec-am: + +install-html: install-html-am + +install-html-am: + +install-info: install-info-am + +install-info-am: + +install-man: + +install-pdf: install-pdf-am + +install-pdf-am: + +install-ps: install-ps-am + +install-ps-am: + +installcheck-am: + +maintainer-clean: maintainer-clean-am + -rm -f Makefile +maintainer-clean-am: distclean-am maintainer-clean-generic + +mostlyclean: mostlyclean-am + +mostlyclean-am: mostlyclean-generic + +pdf: pdf-am + +pdf-am: + +ps: ps-am + +ps-am: + +uninstall-am: + +.MAKE: install-am install-strip + +.PHONY: all all-am check check-am clean clean-generic cscopelist-am \ + ctags-am distclean distclean-generic distdir dvi dvi-am html \ + html-am info info-am install install-am install-data \ + install-data-am install-dvi install-dvi-am install-exec \ + install-exec-am install-html install-html-am install-info \ + install-info-am install-man install-pdf install-pdf-am \ + install-ps install-ps-am install-strip installcheck \ + installcheck-am installdirs maintainer-clean \ + maintainer-clean-generic mostlyclean mostlyclean-generic pdf \ + pdf-am ps ps-am tags-am uninstall uninstall-am + +.PRECIOUS: Makefile + + +# Tell versions [3.59,3.63) of GNU make to not export all variables. +# Otherwise a system limit (for SysV at least) may be exceeded. +.NOEXPORT: diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg new file mode 100644 index 00000000..6fc3137e --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/data-error.svg @@ -0,0 +1,9 @@ + + + + + diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/document-encrypt.png b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/document-encrypt.png similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/document-encrypt.png rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/document-encrypt.png diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg new file mode 100644 index 00000000..f6b818fc --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/hint.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg new file mode 100644 index 00000000..12d703c4 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/password-generate.svg @@ -0,0 +1,13 @@ + + + + + + diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg new file mode 100644 index 00000000..df91c9d3 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/icons/visibility.svg @@ -0,0 +1,21 @@ + + + + + + + + + + diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp new file mode 100644 index 00000000..47d15d26 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/main.cpp @@ -0,0 +1,429 @@ +/* main.cpp - A Qt dialog for PIN entry. + * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) + * Copyright (C) 2003, 2021 g10 Code GmbH + * Copyright 2007 Ingo Klöcker + * + * Written by Steffen Hansen . + * Modified by Marcus Brinkmann . + * Modified by Marc Mutz + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "accessibility.h" +#include "pinentryconfirm.h" +#include "pinentrydialog.h" +#include "pinentry.h" +#include "util.h" + +#include +#include +#include +#include +#include +#include +#include +#if QT_VERSION >= 0x050000 +#include +#endif + +#include +#include + +#include +#include + +#ifdef FALLBACK_CURSES +#include +#endif + +#if QT_VERSION >= 0x050000 && defined(QT_STATIC) + #include + #ifdef Q_OS_WIN + #include + #include + Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) + #elif defined(Q_OS_MAC) + Q_IMPORT_PLUGIN(QCocoaIntegrationPlugin) + #else + Q_IMPORT_PLUGIN(QXcbIntegrationPlugin) + #endif +#endif + +#ifdef Q_OS_WIN +#include +#endif + +#include "pinentry_debug.h" + +static QString escape_accel(const QString &s) +{ + + QString result; + result.reserve(s.size()); + + bool afterUnderscore = false; + + for (unsigned int i = 0, end = s.size() ; i != end ; ++i) { + const QChar ch = s[i]; + if (ch == QLatin1Char('_')) { + if (afterUnderscore) { // escaped _ + result += QLatin1Char('_'); + afterUnderscore = false; + } else { // accel + afterUnderscore = true; + } + } else { + if (afterUnderscore || // accel + ch == QLatin1Char('&')) { // escape & from being interpreted by Qt + result += QLatin1Char('&'); + } + result += ch; + afterUnderscore = false; + } + } + + if (afterUnderscore) + // trailing single underscore: shouldn't happen, but deal with it robustly: + { + result += QLatin1Char('_'); + } + + return result; +} + +namespace +{ +class InvalidUtf8 : public std::invalid_argument +{ +public: + InvalidUtf8() : std::invalid_argument("invalid utf8") {} + ~InvalidUtf8() throw() {} +}; +} + +static const bool GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8 = false; + +static QString from_utf8(const char *s) +{ + const QString result = QString::fromUtf8(s); + if (result.contains(QChar::ReplacementCharacter)) { + if (GPG_AGENT_IS_PORTED_TO_ONLY_SEND_UTF8) { + throw InvalidUtf8(); + } else { + return QString::fromLocal8Bit(s); + } + } + + return result; +} + +static void +setup_foreground_window(QWidget *widget, WId parentWid) +{ +#if QT_VERSION >= 0x050000 + /* For windows set the desktop window as the transient parent */ + QWindow *parentWindow = nullptr; + if (parentWid) { + parentWindow = QWindow::fromWinId(parentWid); + } +#ifdef Q_OS_WIN + if (!parentWindow) { + HWND desktop = GetDesktopWindow(); + if (desktop) { + parentWindow = QWindow::fromWinId((WId) desktop); + } + } +#endif + if (parentWindow) { + // Ensure that we have a native wid + widget->winId(); + QWindow *wndHandle = widget->windowHandle(); + + if (wndHandle) { + wndHandle->setTransientParent(parentWindow); + } + } +#endif + widget->setWindowFlags(Qt::Window | + Qt::CustomizeWindowHint | + Qt::WindowTitleHint | + Qt::WindowCloseButtonHint | + Qt::WindowStaysOnTopHint | + Qt::WindowMinimizeButtonHint); +} + +static int +qt_cmd_handler(pinentry_t pe) +{ + int want_pass = !!pe->pin; + + const QString ok = + pe->ok ? escape_accel(from_utf8(pe->ok)) : + pe->default_ok ? escape_accel(from_utf8(pe->default_ok)) : + /* else */ QLatin1String("&OK") ; + const QString cancel = + pe->cancel ? escape_accel(from_utf8(pe->cancel)) : + pe->default_cancel ? escape_accel(from_utf8(pe->default_cancel)) : + /* else */ QLatin1String("&Cancel") ; + + unique_malloced_ptr str{pinentry_get_title(pe)}; + const QString title = + str ? from_utf8(str.get()) : + /* else */ QLatin1String("pinentry-qt") ; + + const QString repeatError = + pe->repeat_error_string ? from_utf8(pe->repeat_error_string) : + QLatin1String("Passphrases do not match"); + const QString repeatString = + pe->repeat_passphrase ? from_utf8(pe->repeat_passphrase) : + QString(); + const QString visibilityTT = + pe->default_tt_visi ? from_utf8(pe->default_tt_visi) : + QLatin1String("Show passphrase"); + const QString hideTT = + pe->default_tt_hide ? from_utf8(pe->default_tt_hide) : + QLatin1String("Hide passphrase"); + + const QString capsLockHint = + pe->default_capshint ? from_utf8(pe->default_capshint) : + QLatin1String("Caps Lock is on"); + + const QString generateLbl = pe->genpin_label ? from_utf8(pe->genpin_label) : + QString(); + const QString generateTT = pe->genpin_tt ? from_utf8(pe->genpin_tt) : + QString(); + + + if (want_pass) { + PinEntryDialog pinentry(nullptr, 0, pe->timeout, true, !!pe->quality_bar, + repeatString, visibilityTT, hideTT); + setup_foreground_window(&pinentry, pe->parent_wid); + pinentry.setPinentryInfo(pe); + pinentry.setPrompt(escape_accel(from_utf8(pe->prompt))); + pinentry.setDescription(from_utf8(pe->description)); + pinentry.setRepeatErrorText(repeatError); + pinentry.setGenpinLabel(generateLbl); + pinentry.setGenpinTT(generateTT); + pinentry.setCapsLockHint(capsLockHint); + pinentry.setFormattedPassphrase({ + bool(pe->formatted_passphrase), + from_utf8(pe->formatted_passphrase_hint)}); + pinentry.setConstraintsOptions({ + bool(pe->constraints_enforce), + from_utf8(pe->constraints_hint_short), + from_utf8(pe->constraints_hint_long), + from_utf8(pe->constraints_error_title) + }); + + if (!title.isEmpty()) { + pinentry.setWindowTitle(title); + } + + /* If we reuse the same dialog window. */ + pinentry.setPin(QString()); + + pinentry.setOkText(ok); + pinentry.setCancelText(cancel); + if (pe->error) { + pinentry.setError(from_utf8(pe->error)); + } + if (pe->quality_bar) { + pinentry.setQualityBar(from_utf8(pe->quality_bar)); + } + if (pe->quality_bar_tt) { + pinentry.setQualityBarTT(from_utf8(pe->quality_bar_tt)); + } + bool ret = pinentry.exec(); + if (!ret) { + if (pinentry.timedOut()) + pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); + return -1; + } + + const QString pinStr = pinentry.pin(); + QByteArray pin = pinStr.toUtf8(); + + if (!!pe->repeat_passphrase) { + /* Should not have been possible to accept + the dialog in that case but we do a safety + check here */ + pe->repeat_okay = (pinStr == pinentry.repeatedPin()); + } + + int len = strlen(pin.constData()); + if (len >= 0) { + pinentry_setbufferlen(pe, len + 1); + if (pe->pin) { + strcpy(pe->pin, pin.constData()); + return len; + } + } + return -1; + } else { + const QString desc = pe->description ? from_utf8(pe->description) : QString(); + const QString notok = pe->notok ? escape_accel(from_utf8(pe->notok)) : QString(); + + const QMessageBox::StandardButtons buttons = + pe->one_button ? QMessageBox::Ok : + pe->notok ? QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel : + /* else */ QMessageBox::Ok | QMessageBox::Cancel ; + + PinentryConfirm box{QMessageBox::Information, title, desc, buttons}; + box.setTextFormat(Qt::PlainText); + box.setTextInteractionFlags(Qt::TextSelectableByMouse); + box.setTimeout(std::chrono::seconds{pe->timeout}); + setup_foreground_window(&box, pe->parent_wid); + + const struct { + QMessageBox::StandardButton button; + QString label; + } buttonLabels[] = { + { QMessageBox::Ok, ok }, + { QMessageBox::Yes, ok }, + { QMessageBox::No, notok }, + { QMessageBox::Cancel, cancel }, + }; + + for (size_t i = 0 ; i < sizeof buttonLabels / sizeof * buttonLabels ; ++i) + if ((buttons & buttonLabels[i].button) && !buttonLabels[i].label.isEmpty()) { + box.button(buttonLabels[i].button)->setText(buttonLabels[i].label); + Accessibility::setDescription(box.button(buttonLabels[i].button), + buttonLabels[i].label); + } + + box.setIconPixmap(applicationIconPixmap()); + + if (!pe->one_button) { + box.setDefaultButton(QMessageBox::Cancel); + } + + box.show(); + raiseWindow(&box); + + const int rc = box.exec(); + + if (rc == QMessageBox::Cancel) { + pe->canceled = true; + } + if (box.timedOut()) { + pe->specific_err = gpg_error (GPG_ERR_TIMEOUT); + } + + return rc == QMessageBox::Ok || rc == QMessageBox::Yes ; + + } +} + +static int +qt_cmd_handler_ex(pinentry_t pe) +{ + try { + return qt_cmd_handler(pe); + } catch (const InvalidUtf8 &) { + pe->locale_err = true; + return pe->pin ? -1 : false ; + } catch (...) { + pe->canceled = true; + return pe->pin ? -1 : false ; + } +} + +pinentry_cmd_handler_t pinentry_cmd_handler = qt_cmd_handler_ex; + +int +main(int argc, char *argv[]) +{ + pinentry_init("pinentry-qt"); + + QApplication *app = NULL; + int new_argc = 0; + +#ifdef FALLBACK_CURSES +#if defined(Q_OS_UNIX) && !defined(Q_OS_DARWIN) + // check a few environment variables that are usually set on X11 or Wayland sessions + const bool hasWaylandDisplay = qEnvironmentVariableIsSet("WAYLAND_DISPLAY"); + const bool isWaylandSessionType = qgetenv("XDG_SESSION_TYPE") == "wayland"; + const bool hasX11Display = pinentry_have_display(argc, argv); + const bool isX11SessionType = qgetenv("XDG_SESSION_TYPE") == "x11"; + const bool isGUISession = hasWaylandDisplay || isWaylandSessionType || hasX11Display || isX11SessionType; + qCDebug(PINENTRY_LOG) << "hasWaylandDisplay:" << hasWaylandDisplay; + qCDebug(PINENTRY_LOG) << "isWaylandSessionType:" << isWaylandSessionType; + qCDebug(PINENTRY_LOG) << "hasX11Display:" << hasX11Display; + qCDebug(PINENTRY_LOG) << "isX11SessionType:" << isX11SessionType; + qCDebug(PINENTRY_LOG) << "isGUISession:" << isGUISession; +#else + const bool isGUISession = pinentry_have_display(argc, argv); +#endif + if (!isGUISession) { + pinentry_cmd_handler = curses_cmd_handler; + pinentry_set_flavor_flag ("curses"); + } else +#endif + { + /* Qt does only understand -display but not --display; thus we + are fixing that here. The code is pretty simply and may get + confused if an argument is called "--display". */ + char **new_argv, *p; + size_t n; + int i, done; + + for (n = 0, i = 0; i < argc; i++) { + n += strlen(argv[i]) + 1; + } + n++; + new_argv = (char **)calloc(argc + 1, sizeof * new_argv); + if (new_argv) { + *new_argv = (char *)malloc(n); + } + if (!new_argv || !*new_argv) { + fprintf(stderr, "pinentry-qt: can't fixup argument list: %s\n", + strerror(errno)); + exit(EXIT_FAILURE); + + } + for (done = 0, p = *new_argv, i = 0; i < argc; i++) + if (!done && !strcmp(argv[i], "--display")) { + new_argv[i] = strcpy(p, argv[i] + 1); + p += strlen(argv[i] + 1) + 1; + done = 1; + } else { + new_argv[i] = strcpy(p, argv[i]); + p += strlen(argv[i]) + 1; + } + + /* Note: QApplication uses int &argc so argc has to be valid + * for the full lifetime of the application. + * + * As Qt might modify argc / argv we use copies here so that + * we do not loose options that are handled in both. e.g. display. + */ + new_argc = argc; + Q_ASSERT (new_argc); + app = new QApplication(new_argc, new_argv); + app->setWindowIcon(QIcon(QLatin1String(":/icons/document-encrypt.png"))); + } + + pinentry_parse_opts(argc, argv); + + int rc = pinentry_loop(); + delete app; + return rc ? EXIT_FAILURE : EXIT_SUCCESS ; +} diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp new file mode 100644 index 00000000..9afbcdb3 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.cpp @@ -0,0 +1,31 @@ +/* pinentry_debug.h - Logging category for pinentry + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "pinentry_debug.h" + +#if QT_VERSION >= QT_VERSION_CHECK(5, 4, 0) +Q_LOGGING_CATEGORY(PINENTRY_LOG, "gpg.pinentry", QtWarningMsg) +#else +Q_LOGGING_CATEGORY(PINENTRY_LOG, "gpg.pinentry") +#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h new file mode 100644 index 00000000..fc8c808a --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentry_debug.h @@ -0,0 +1,28 @@ +/* pinentry_debug.h - Logging category for pinentry + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRY_QT_DEBUG_H__ +#define __PINENTRY_QT_DEBUG_H__ + +#include + +Q_DECLARE_LOGGING_CATEGORY(PINENTRY_LOG) + +#endif // __PINENTRY_QT_DEBUG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp new file mode 100644 index 00000000..a97eaa6e --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.cpp @@ -0,0 +1,145 @@ +/* pinentryconfirm.cpp - A QMessageBox with a timeout + * + * Copyright (C) 2011 Ben Kibbey + * Copyright (C) 2022 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "pinentryconfirm.h" + +#include "accessibility.h" +#include "pinentrydialog.h" + +#include +#include +#include +#include +#include +#include + +namespace +{ +QLabel *messageBoxLabel(QMessageBox *messageBox) +{ + return messageBox->findChild(QStringLiteral("qt_msgbox_label")); +} +} + +PinentryConfirm::PinentryConfirm(Icon icon, const QString &title, const QString &text, + StandardButtons buttons, QWidget *parent, Qt::WindowFlags flags) + : QMessageBox{icon, title, text, buttons, parent, flags} +{ + _timer.callOnTimeout(this, &PinentryConfirm::slotTimeout); + Accessibility::setDescription(this, text); + Accessibility::setName(this, title); + +#ifndef QT_NO_ACCESSIBILITY + QAccessible::installActivationObserver(this); + accessibilityActiveChanged(QAccessible::isActive()); +#endif + +#if QT_VERSION >= 0x050000 + /* This is in line with PinentryDialog ctor to have a maximizing + * animation when opening. */ + if (qApp->platformName() != QLatin1String("wayland")) { + setWindowState(Qt::WindowMinimized); + QTimer::singleShot(0, this, [this] () { + raiseWindow(this); + }); + } +#else + activateWindow(); + raise(); +#endif +} + +PinentryConfirm::~PinentryConfirm() +{ +#ifndef QT_NO_ACCESSIBILITY + QAccessible::removeActivationObserver(this); +#endif +} + +void PinentryConfirm::setTimeout(std::chrono::seconds timeout) +{ + _timer.setInterval(timeout); +} + +std::chrono::seconds PinentryConfirm::timeout() const +{ + return std::chrono::duration_cast(_timer.intervalAsDuration()); +} + +bool PinentryConfirm::timedOut() const +{ + return _timed_out; +} + +void PinentryConfirm::showEvent(QShowEvent *event) +{ + static bool resized; + if (!resized) { + QGridLayout* lay = dynamic_cast (layout()); + if (lay) { + QSize textSize = fontMetrics().size(Qt::TextExpandTabs, text(), fontMetrics().maxWidth()); + QSpacerItem* horizontalSpacer = new QSpacerItem(textSize.width() + iconPixmap().width(), + 0, QSizePolicy::Minimum, QSizePolicy::Expanding); + lay->addItem(horizontalSpacer, lay->rowCount(), 1, 1, lay->columnCount() - 1); + } + resized = true; + } + + QMessageBox::showEvent(event); + + if (timeout() > std::chrono::milliseconds::zero()) { + _timer.setSingleShot(true); + _timer.start(); + } +} + +bool PinentryConfirm::focusNextPrevChild(bool next) +{ + auto ret = QMessageBox::focusNextPrevChild(next); + if (ret && (focusWidget() == messageBoxLabel(this))) { + Accessibility::selectLabelText(messageBoxLabel(this)); + } + return ret; +} + +void PinentryConfirm::slotTimeout() +{ + QAbstractButton *b = button(QMessageBox::Cancel); + _timed_out = true; + + if (b) { + b->animateClick(0); + } +} + +#ifndef QT_NO_ACCESSIBILITY +void PinentryConfirm::accessibilityActiveChanged(bool active) +{ + // Allow text label to get focus if accessibility is active + const auto focusPolicy = active ? Qt::StrongFocus : Qt::ClickFocus; + if (auto label = messageBoxLabel(this)) { + label->setFocusPolicy(focusPolicy); + } +} +#endif + +#include "pinentryconfirm.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h new file mode 100644 index 00000000..f175f53a --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryconfirm.h @@ -0,0 +1,64 @@ +/* pinentryconfirm.h - A QMessageBox with a timeout + * + * Copyright (C) 2011 Ben Kibbey + * Copyright (C) 2022 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef PINENTRYCONFIRM_H +#define PINENTRYCONFIRM_H + +#include +#include +#include + +class PinentryConfirm : public QMessageBox +#ifndef QT_NO_ACCESSIBILITY + , public QAccessible::ActivationObserver +#endif +{ + Q_OBJECT +public: + PinentryConfirm(Icon icon, const QString &title, const QString &text, + StandardButtons buttons = NoButton, QWidget *parent = nullptr, + Qt::WindowFlags flags = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); + ~PinentryConfirm() override; + + void setTimeout(std::chrono::seconds timeout); + std::chrono::seconds timeout() const; + + bool timedOut() const; + +protected: + void showEvent(QShowEvent *event) override; + bool focusNextPrevChild(bool next) override; + +private Q_SLOTS: + void slotTimeout(); + +private: +#ifndef QT_NO_ACCESSIBILITY + void accessibilityActiveChanged(bool active) override; +#endif + +private: + QTimer _timer; + bool _timed_out = false; +}; + +#endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp new file mode 100644 index 00000000..17e87e6c --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.cpp @@ -0,0 +1,793 @@ +/* pinentrydialog.cpp - A (not yet) secure Qt 4 dialog for PIN entry. + * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) + * Copyright 2007 Ingo Klöcker + * Copyright 2016 Intevation GmbH + * Copyright (C) 2021, 2022 g10 Code GmbH + * + * Written by Steffen Hansen . + * Modified by Andre Heinecke + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include "pinentrydialog.h" + +#include "accessibility.h" +#include "capslock.h" +#include "pinlineedit.h" +#include "util.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#ifdef Q_OS_WIN +#include +#if QT_VERSION >= 0x050700 +#include +#endif +#endif + +void raiseWindow(QWidget *w) +{ +#ifdef Q_OS_WIN +#if QT_VERSION >= 0x050700 + QWindowsWindowFunctions::setWindowActivationBehavior( + QWindowsWindowFunctions::AlwaysActivateWindow); +#endif +#endif + w->setWindowState((w->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); + w->activateWindow(); + w->raise(); +} + +QPixmap applicationIconPixmap(const QIcon &overlayIcon) +{ + QPixmap pm = qApp->windowIcon().pixmap(48, 48); + + if (!overlayIcon.isNull()) { + QPainter painter(&pm); + const int emblemSize = 22; + painter.drawPixmap(pm.width() - emblemSize, 0, + overlayIcon.pixmap(emblemSize, emblemSize)); + } + + return pm; +} + +namespace +{ + +class TextLabel : public QLabel +{ +public: + using QLabel::QLabel; + +protected: + void focusInEvent(QFocusEvent *ev) override; +}; + +void TextLabel::focusInEvent(QFocusEvent *ev) +{ + QLabel::focusInEvent(ev); + + // if the text label gets focus, then select its text; this is a workaround + // for missing focus indicators for labels in many Qt styles + const Qt::FocusReason reason = ev->reason(); + const auto isKeyboardFocusEvent = reason == Qt::TabFocusReason + || reason == Qt::BacktabFocusReason + || reason == Qt::ShortcutFocusReason; + if (!text().isEmpty() && isKeyboardFocusEvent) { + Accessibility::selectLabelText(this); + } +} + +} + +void PinEntryDialog::slotTimeout() +{ + _timed_out = true; + reject(); +} + +PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, + int timeout, bool modal, bool enable_quality_bar, + const QString &repeatString, + const QString &visibilityTT, + const QString &hideTT) + : QDialog{parent} + , _have_quality_bar{enable_quality_bar} + , mVisibilityTT{visibilityTT} + , mHideTT{hideTT} +{ + Q_UNUSED(name) + + if (modal) { + setWindowModality(Qt::ApplicationModal); + } + + QPalette redTextPalette; + redTextPalette.setColor(QPalette::WindowText, Qt::red); + + auto *const mainLayout = new QVBoxLayout{this}; + + auto *const hbox = new QHBoxLayout; + + _icon = new QLabel(this); + _icon->setPixmap(applicationIconPixmap()); + hbox->addWidget(_icon, 0, Qt::AlignVCenter | Qt::AlignLeft); + + auto *const grid = new QGridLayout; + int row = 1; + + _error = new TextLabel{this}; + _error->setTextFormat(Qt::PlainText); + _error->setTextInteractionFlags(Qt::TextSelectableByMouse); + _error->setPalette(redTextPalette); + _error->hide(); + grid->addWidget(_error, row, 1, 1, 2); + + row++; + _desc = new TextLabel{this}; + _desc->setTextFormat(Qt::PlainText); + _desc->setTextInteractionFlags(Qt::TextSelectableByMouse); + _desc->hide(); + grid->addWidget(_desc, row, 1, 1, 2); + + row++; + mCapsLockHint = new TextLabel{this}; + mCapsLockHint->setTextFormat(Qt::PlainText); + mCapsLockHint->setTextInteractionFlags(Qt::TextSelectableByMouse); + mCapsLockHint->setPalette(redTextPalette); + mCapsLockHint->setAlignment(Qt::AlignCenter); + mCapsLockHint->setVisible(false); + grid->addWidget(mCapsLockHint, row, 1, 1, 2); + + row++; + { + _prompt = new QLabel(this); + _prompt->setTextFormat(Qt::PlainText); + _prompt->setTextInteractionFlags(Qt::TextSelectableByMouse); + _prompt->hide(); + grid->addWidget(_prompt, row, 1); + + const auto l = new QHBoxLayout; + _edit = new PinLineEdit(this); + _edit->setMaxLength(256); + _edit->setMinimumWidth(_edit->fontMetrics().averageCharWidth()*20 + 48); + _edit->setEchoMode(QLineEdit::Password); + _prompt->setBuddy(_edit); + l->addWidget(_edit, 1); + + if (!repeatString.isNull()) { + mGenerateButton = new QPushButton{this}; + mGenerateButton->setIcon(QIcon(QLatin1String(":/icons/password-generate"))); + mGenerateButton->setVisible(false); + l->addWidget(mGenerateButton); + } + grid->addLayout(l, row, 2); + } + + /* Set up the show password action */ + const QIcon visibilityIcon = QIcon(QLatin1String(":/icons/visibility.svg")); + const QIcon hideIcon = QIcon(QLatin1String(":/icons/hint.svg")); +#if QT_VERSION >= 0x050200 + if (!visibilityIcon.isNull() && !hideIcon.isNull()) { + mVisiActionEdit = _edit->addAction(visibilityIcon, QLineEdit::TrailingPosition); + mVisiActionEdit->setVisible(false); + mVisiActionEdit->setToolTip(mVisibilityTT); + } else +#endif + { + if (!mVisibilityTT.isNull()) { + row++; + mVisiCB = new QCheckBox{mVisibilityTT, this}; + grid->addWidget(mVisiCB, row, 1, 1, 2, Qt::AlignLeft); + } + } + + row++; + mConstraintsHint = new TextLabel{this}; + mConstraintsHint->setTextFormat(Qt::PlainText); + mConstraintsHint->setTextInteractionFlags(Qt::TextSelectableByMouse); + mConstraintsHint->setVisible(false); + grid->addWidget(mConstraintsHint, row, 2); + + row++; + mFormattedPassphraseHintSpacer = new QLabel{this}; + mFormattedPassphraseHintSpacer->setVisible(false); + mFormattedPassphraseHint = new TextLabel{this}; + mFormattedPassphraseHint->setTextFormat(Qt::PlainText); + mFormattedPassphraseHint->setTextInteractionFlags(Qt::TextSelectableByMouse); + mFormattedPassphraseHint->setVisible(false); + grid->addWidget(mFormattedPassphraseHintSpacer, row, 1); + grid->addWidget(mFormattedPassphraseHint, row, 2); + + if (!repeatString.isNull()) { + row++; + auto repeatLabel = new QLabel{this}; + repeatLabel->setTextFormat(Qt::PlainText); + repeatLabel->setTextInteractionFlags(Qt::TextSelectableByMouse); + repeatLabel->setText(repeatString); + grid->addWidget(repeatLabel, row, 1); + + mRepeat = new PinLineEdit(this); + mRepeat->setMaxLength(256); + mRepeat->setEchoMode(QLineEdit::Password); + repeatLabel->setBuddy(mRepeat); + grid->addWidget(mRepeat, row, 2); + + row++; + mRepeatError = new TextLabel{this}; + mRepeatError->setTextFormat(Qt::PlainText); + mRepeatError->setTextInteractionFlags(Qt::TextSelectableByMouse); + mRepeatError->setPalette(redTextPalette); + mRepeatError->hide(); + grid->addWidget(mRepeatError, row, 2); + } + + if (enable_quality_bar) { + row++; + _quality_bar_label = new QLabel(this); + _quality_bar_label->setTextFormat(Qt::PlainText); + _quality_bar_label->setTextInteractionFlags(Qt::TextSelectableByMouse); + _quality_bar_label->setAlignment(Qt::AlignVCenter); + grid->addWidget(_quality_bar_label, row, 1); + + _quality_bar = new QProgressBar(this); + _quality_bar->setAlignment(Qt::AlignCenter); + _quality_bar_label->setBuddy(_quality_bar); + grid->addWidget(_quality_bar, row, 2); + } + + hbox->addLayout(grid, 1); + mainLayout->addLayout(hbox); + + QDialogButtonBox *const buttons = new QDialogButtonBox(this); + buttons->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel); + _ok = buttons->button(QDialogButtonBox::Ok); + _cancel = buttons->button(QDialogButtonBox::Cancel); + + if (style()->styleHint(QStyle::SH_DialogButtonBox_ButtonsHaveIcons)) { + _ok->setIcon(style()->standardIcon(QStyle::SP_DialogOkButton)); + _cancel->setIcon(style()->standardIcon(QStyle::SP_DialogCancelButton)); + } + + mainLayout->addStretch(1); + mainLayout->addWidget(buttons); + mainLayout->setSizeConstraint(QLayout::SetFixedSize); + + if (timeout > 0) { + _timer = new QTimer(this); + connect(_timer, &QTimer::timeout, this, &PinEntryDialog::slotTimeout); + _timer->start(timeout * 1000); + } + + connect(buttons, &QDialogButtonBox::accepted, + this, &PinEntryDialog::onAccept); + connect(buttons, &QDialogButtonBox::rejected, + this, &QDialog::reject); + connect(_edit, &QLineEdit::textChanged, + this, &PinEntryDialog::updateQuality); + connect(_edit, &QLineEdit::textChanged, + this, &PinEntryDialog::textChanged); + connect(_edit, &PinLineEdit::backspacePressed, + this, &PinEntryDialog::onBackspace); + if (mGenerateButton) { + connect(mGenerateButton, &QPushButton::clicked, + this, &PinEntryDialog::generatePin); + } + if (mVisiActionEdit) { + connect(mVisiActionEdit, &QAction::triggered, + this, &PinEntryDialog::toggleVisibility); + } + if (mVisiCB) { + connect(mVisiCB, &QCheckBox::toggled, + this, &PinEntryDialog::toggleVisibility); + } + if (mRepeat) { + connect(mRepeat, &QLineEdit::textChanged, + this, &PinEntryDialog::textChanged); + } + + auto capsLockWatcher = new CapsLockWatcher{this}; + connect(capsLockWatcher, &CapsLockWatcher::stateChanged, + this, [this] (bool locked) { + mCapsLockHint->setVisible(locked); + }); + + connect(qApp, &QApplication::focusChanged, + this, &PinEntryDialog::focusChanged); + connect(qApp, &QApplication::applicationStateChanged, + this, &PinEntryDialog::checkCapsLock); + checkCapsLock(); + +#ifndef QT_NO_ACCESSIBILITY + QAccessible::installActivationObserver(this); + accessibilityActiveChanged(QAccessible::isActive()); +#endif + +#if QT_VERSION >= 0x050000 + /* This is mostly an issue on Windows where this results + in the pinentry popping up nicely with an animation and + comes to front. It is not ifdefed for Windows only since + window managers on Linux like KWin can also have this + result in an animation when the pinentry is shown and + not just popping it up. + */ + if (qApp->platformName() != QLatin1String("wayland")) { + setWindowState(Qt::WindowMinimized); + QTimer::singleShot(0, this, [this] () { + raiseWindow(this); + }); + } +#else + activateWindow(); + raise(); +#endif +} + +PinEntryDialog::~PinEntryDialog() +{ +#ifndef QT_NO_ACCESSIBILITY + QAccessible::removeActivationObserver(this); +#endif +} + +void PinEntryDialog::keyPressEvent(QKeyEvent *e) +{ + const auto returnPressed = + (!e->modifiers() && (e->key() == Qt::Key_Enter || e->key() == Qt::Key_Return)) + || (e->modifiers() & Qt::KeypadModifier && e->key() == Qt::Key_Enter); + if (returnPressed && _edit->hasFocus() && mRepeat) { + // if the user pressed Return in the first input field, then move the + // focus to the repeat input field and prevent further event processing + // by QDialog (which would trigger the default button) + mRepeat->setFocus(); + e->ignore(); + return; + } + + QDialog::keyPressEvent(e); +} + +void PinEntryDialog::keyReleaseEvent(QKeyEvent *event) +{ + QDialog::keyReleaseEvent(event); + checkCapsLock(); +} + +void PinEntryDialog::showEvent(QShowEvent *event) +{ + QDialog::showEvent(event); + _edit->setFocus(); +} + +void PinEntryDialog::setDescription(const QString &txt) +{ + _desc->setVisible(!txt.isEmpty()); + _desc->setText(txt); + Accessibility::setDescription(_desc, txt); + _icon->setPixmap(applicationIconPixmap()); + setError(QString()); +} + +QString PinEntryDialog::description() const +{ + return _desc->text(); +} + +void PinEntryDialog::setError(const QString &txt) +{ + if (!txt.isNull()) { + _icon->setPixmap(applicationIconPixmap(QIcon{QStringLiteral(":/icons/data-error.svg")})); + } + _error->setText(txt); + Accessibility::setDescription(_error, txt); + _error->setVisible(!txt.isEmpty()); +} + +QString PinEntryDialog::error() const +{ + return _error->text(); +} + +void PinEntryDialog::setPin(const QString &txt) +{ + _edit->setPin(txt); +} + +QString PinEntryDialog::pin() const +{ + return _edit->pin(); +} + +void PinEntryDialog::setPrompt(const QString &txt) +{ + _prompt->setText(txt); + _prompt->setVisible(!txt.isEmpty()); + if (txt.contains("PIN")) + _disable_echo_allowed = false; +} + +QString PinEntryDialog::prompt() const +{ + return _prompt->text(); +} + +void PinEntryDialog::setOkText(const QString &txt) +{ + _ok->setText(txt); + Accessibility::setDescription(_ok, txt); + _ok->setVisible(!txt.isEmpty()); +} + +void PinEntryDialog::setCancelText(const QString &txt) +{ + _cancel->setText(txt); + Accessibility::setDescription(_cancel, txt); + _cancel->setVisible(!txt.isEmpty()); +} + +void PinEntryDialog::setQualityBar(const QString &txt) +{ + if (_have_quality_bar) { + _quality_bar_label->setText(txt); + Accessibility::setDescription(_quality_bar_label, txt); + } +} + +void PinEntryDialog::setQualityBarTT(const QString &txt) +{ + if (_have_quality_bar) { + _quality_bar->setToolTip(txt); + } +} + +void PinEntryDialog::setGenpinLabel(const QString &txt) +{ + if (!mGenerateButton) { + return; + } + mGenerateButton->setVisible(!txt.isEmpty()); + if (!txt.isEmpty()) { + Accessibility::setName(mGenerateButton, txt); + } +} + +void PinEntryDialog::setGenpinTT(const QString &txt) +{ + if (mGenerateButton) { + mGenerateButton->setToolTip(txt); + } +} + +void PinEntryDialog::setCapsLockHint(const QString &txt) +{ + mCapsLockHint->setText(txt); +} + +void PinEntryDialog::setFormattedPassphrase(const PinEntryDialog::FormattedPassphraseOptions &options) +{ + mFormatPassphrase = options.formatPassphrase; + mFormattedPassphraseHint->setTextFormat(Qt::RichText); + mFormattedPassphraseHint->setText(QLatin1String("") + options.hint.toHtmlEscaped() + QLatin1String("")); + Accessibility::setName(mFormattedPassphraseHint, options.hint); + toggleFormattedPassphrase(); +} + +void PinEntryDialog::setConstraintsOptions(const ConstraintsOptions &options) +{ + mEnforceConstraints = options.enforce; + mConstraintsHint->setText(options.shortHint); + if (!options.longHint.isEmpty()) { + mConstraintsHint->setToolTip(QLatin1String("") + + options.longHint.toHtmlEscaped().replace(QLatin1String("\n\n"), QLatin1String("
")) + + QLatin1String("")); + Accessibility::setDescription(mConstraintsHint, options.longHint); + } + mConstraintsErrorTitle = options.errorTitle; + + mConstraintsHint->setVisible(mEnforceConstraints && !options.shortHint.isEmpty()); +} + +void PinEntryDialog::toggleFormattedPassphrase() +{ + const bool enableFormatting = mFormatPassphrase && _edit->echoMode() == QLineEdit::Normal; + _edit->setFormattedPassphrase(enableFormatting); + if (mRepeat) { + mRepeat->setFormattedPassphrase(enableFormatting); + const bool hintAboutToBeHidden = mFormattedPassphraseHint->isVisible() && !enableFormatting; + if (hintAboutToBeHidden) { + // set hint spacer to current height of hint label before hiding the hint + mFormattedPassphraseHintSpacer->setMinimumHeight(mFormattedPassphraseHint->height()); + mFormattedPassphraseHintSpacer->setVisible(true); + } else if (enableFormatting) { + mFormattedPassphraseHintSpacer->setVisible(false); + } + mFormattedPassphraseHint->setVisible(enableFormatting); + } +} + +void PinEntryDialog::onBackspace() +{ + cancelTimeout(); + + if (_disable_echo_allowed) { + _edit->setEchoMode(QLineEdit::NoEcho); + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::NoEcho); + } + } +} + +void PinEntryDialog::updateQuality(const QString &txt) +{ + int length; + int percent; + QPalette pal; + + _disable_echo_allowed = false; + + if (!_have_quality_bar || !_pinentry_info) { + return; + } + const QByteArray utf8_pin = txt.toUtf8(); + const char *pin = utf8_pin.constData(); + length = strlen(pin); + percent = length ? pinentry_inq_quality(_pinentry_info, pin, length) : 0; + if (!length) { + _quality_bar->reset(); + } else { + pal = _quality_bar->palette(); + if (percent < 0) { + pal.setColor(QPalette::Highlight, QColor("red")); + percent = -percent; + } else { + pal.setColor(QPalette::Highlight, QColor("green")); + } + _quality_bar->setPalette(pal); + _quality_bar->setValue(percent); + } +} + +void PinEntryDialog::setPinentryInfo(pinentry_t peinfo) +{ + _pinentry_info = peinfo; +} + +void PinEntryDialog::focusChanged(QWidget *old, QWidget *now) +{ + // Grab keyboard. It might be a little weird to do it here, but it works! + // Previously this code was in showEvent, but that did not work in Qt4. + if (!_pinentry_info || _pinentry_info->grab) { + if (_grabbed && old && (old == _edit || old == mRepeat)) { + old->releaseKeyboard(); + _grabbed = false; + } + if (!_grabbed && now && (now == _edit || now == mRepeat)) { + now->grabKeyboard(); + _grabbed = true; + } + } +} + +void PinEntryDialog::textChanged(const QString &text) +{ + Q_UNUSED(text); + + cancelTimeout(); + + if (mVisiActionEdit && sender() == _edit) { + mVisiActionEdit->setVisible(!_edit->pin().isEmpty()); + } + if (mGenerateButton) { + mGenerateButton->setVisible( + _edit->pin().isEmpty() +#ifndef QT_NO_ACCESSIBILITY + && !mGenerateButton->accessibleName().isEmpty() +#endif + ); + } +} + +void PinEntryDialog::generatePin() +{ + unique_malloced_ptr pin{pinentry_inq_genpin(_pinentry_info)}; + if (pin) { + if (_edit->echoMode() == QLineEdit::Password) { + if (mVisiActionEdit) { + mVisiActionEdit->trigger(); + } + if (mVisiCB) { + mVisiCB->setChecked(true); + } + } + const auto pinStr = QString::fromUtf8(pin.get()); + _edit->setPin(pinStr); + mRepeat->setPin(pinStr); + // explicitly focus the first input field and select the generated password + _edit->setFocus(); + _edit->selectAll(); + } +} + +void PinEntryDialog::toggleVisibility() +{ + if (sender() != mVisiCB) { + if (_edit->echoMode() == QLineEdit::Password) { + if (mVisiActionEdit) { + mVisiActionEdit->setIcon(QIcon(QLatin1String(":/icons/hint.svg"))); + mVisiActionEdit->setToolTip(mHideTT); + } + _edit->setEchoMode(QLineEdit::Normal); + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::Normal); + } + } else { + if (mVisiActionEdit) { + mVisiActionEdit->setIcon(QIcon(QLatin1String(":/icons/visibility.svg"))); + mVisiActionEdit->setToolTip(mVisibilityTT); + } + _edit->setEchoMode(QLineEdit::Password); + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::Password); + } + } + } else { + if (mVisiCB->isChecked()) { + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::Normal); + } + _edit->setEchoMode(QLineEdit::Normal); + } else { + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::Password); + } + _edit->setEchoMode(QLineEdit::Password); + } + } + toggleFormattedPassphrase(); +} + +QString PinEntryDialog::repeatedPin() const +{ + if (mRepeat) { + return mRepeat->pin(); + } + return QString(); +} + +bool PinEntryDialog::timedOut() const +{ + return _timed_out; +} + +void PinEntryDialog::setRepeatErrorText(const QString &err) +{ + if (mRepeatError) { + mRepeatError->setText(err); + } +} + +void PinEntryDialog::cancelTimeout() +{ + if (_timer) { + _timer->stop(); + } +} + +void PinEntryDialog::checkCapsLock() +{ + const auto state = capsLockState(); + if (state != LockState::Unknown) { + mCapsLockHint->setVisible(state == LockState::On); + } +} + +void PinEntryDialog::onAccept() +{ + cancelTimeout(); + + if (mRepeat && mRepeat->pin() != _edit->pin()) { +#ifndef QT_NO_ACCESSIBILITY + if (QAccessible::isActive()) { + QMessageBox::information(this, mRepeatError->text(), mRepeatError->text()); + } else +#endif + { + mRepeatError->setVisible(true); + } + return; + } + + const auto result = checkConstraints(); + if (result != PassphraseNotOk) { + accept(); + } +} + +#ifndef QT_NO_ACCESSIBILITY +void PinEntryDialog::accessibilityActiveChanged(bool active) +{ + // Allow text labels to get focus if accessibility is active + const auto focusPolicy = active ? Qt::StrongFocus : Qt::ClickFocus; + _error->setFocusPolicy(focusPolicy); + _desc->setFocusPolicy(focusPolicy); + mCapsLockHint->setFocusPolicy(focusPolicy); + mConstraintsHint->setFocusPolicy(focusPolicy); + mFormattedPassphraseHint->setFocusPolicy(focusPolicy); + if (mRepeatError) { + mRepeatError->setFocusPolicy(focusPolicy); + } +} +#endif + +PinEntryDialog::PassphraseCheckResult PinEntryDialog::checkConstraints() +{ + if (!mEnforceConstraints) { + return PassphraseNotChecked; + } + + const auto passphrase = _edit->pin().toUtf8(); + unique_malloced_ptr error{pinentry_inq_checkpin( + _pinentry_info, passphrase.constData(), passphrase.size())}; + + if (!error) { + return PassphraseOk; + } + + const auto messageLines = QString::fromUtf8(QByteArray::fromPercentEncoding(error.get())).split(QChar{'\n'}); + if (messageLines.isEmpty()) { + // shouldn't happen because pinentry_inq_checkpin() either returns NULL or a non-empty string + return PassphraseOk; + } + const auto firstLine = messageLines.first(); + const auto indexOfFirstNonEmptyAdditionalLine = messageLines.indexOf(QRegularExpression{QStringLiteral(".*\\S.*")}, 1); + const auto additionalLines = indexOfFirstNonEmptyAdditionalLine > 0 ? messageLines.mid(indexOfFirstNonEmptyAdditionalLine).join(QChar{'\n'}) : QString{}; + QMessageBox messageBox{this}; + messageBox.setIcon(QMessageBox::Information); + messageBox.setWindowTitle(mConstraintsErrorTitle); + messageBox.setText(firstLine); + messageBox.setInformativeText(additionalLines); + messageBox.setStandardButtons(QMessageBox::Ok); + messageBox.exec(); + return PassphraseNotOk; +} + +#include "pinentrydialog.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h new file mode 100644 index 00000000..60161c58 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentrydialog.h @@ -0,0 +1,181 @@ +/* pinentrydialog.h - A (not yet) secure Qt 4 dialog for PIN entry. + * Copyright (C) 2002, 2008 Klarälvdalens Datakonsult AB (KDAB) + * Copyright 2007 Ingo Klöcker + * Copyright 2016 Intevation GmbH + * Copyright (C) 2021, 2022 g10 Code GmbH + * + * Written by Steffen Hansen . + * Modified by Andre Heinecke + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRYDIALOG_H__ +#define __PINENTRYDIALOG_H__ + +#include +#include +#include +#include + +#include "pinentry.h" + +class QIcon; +class QLabel; +class QPushButton; +class QLineEdit; +class PinLineEdit; +class QString; +class QProgressBar; +class QCheckBox; +class QAction; + +QPixmap applicationIconPixmap(const QIcon &overlayIcon = {}); + +void raiseWindow(QWidget *w); + +class PinEntryDialog : public QDialog +#ifndef QT_NO_ACCESSIBILITY + , public QAccessible::ActivationObserver +#endif +{ + Q_OBJECT + + Q_PROPERTY(QString description READ description WRITE setDescription) + Q_PROPERTY(QString error READ error WRITE setError) + Q_PROPERTY(QString pin READ pin WRITE setPin) + Q_PROPERTY(QString prompt READ prompt WRITE setPrompt) +public: + struct FormattedPassphraseOptions + { + bool formatPassphrase; + QString hint; + }; + struct ConstraintsOptions + { + bool enforce; + QString shortHint; + QString longHint; + QString errorTitle; + }; + + explicit PinEntryDialog(QWidget *parent = 0, const char *name = 0, + int timeout = 0, bool modal = false, + bool enable_quality_bar = false, + const QString &repeatString = QString(), + const QString &visibiltyTT = QString(), + const QString &hideTT = QString()); + ~PinEntryDialog() override; + + void setDescription(const QString &); + QString description() const; + + void setError(const QString &); + QString error() const; + + void setPin(const QString &); + QString pin() const; + + QString repeatedPin() const; + void setRepeatErrorText(const QString &); + + void setPrompt(const QString &); + QString prompt() const; + + void setOkText(const QString &); + void setCancelText(const QString &); + + void setQualityBar(const QString &); + void setQualityBarTT(const QString &); + + void setGenpinLabel(const QString &); + void setGenpinTT(const QString &); + + void setCapsLockHint(const QString &); + + void setFormattedPassphrase(const FormattedPassphraseOptions &options); + + void setConstraintsOptions(const ConstraintsOptions &options); + + void setPinentryInfo(pinentry_t); + + bool timedOut() const; + +protected Q_SLOTS: + void updateQuality(const QString &); + void slotTimeout(); + void textChanged(const QString &); + void focusChanged(QWidget *old, QWidget *now); + void toggleVisibility(); + void onBackspace(); + void generatePin(); + void toggleFormattedPassphrase(); + +protected: + void keyPressEvent(QKeyEvent *event) override; + void keyReleaseEvent(QKeyEvent *event) override; + void showEvent(QShowEvent *event) override; + +private Q_SLOTS: + void cancelTimeout(); + void checkCapsLock(); + void onAccept(); + +private: +#ifndef QT_NO_ACCESSIBILITY + void accessibilityActiveChanged(bool active) override; +#endif + + enum PassphraseCheckResult { + PassphraseNotChecked = -1, + PassphraseNotOk = 0, + PassphraseOk + }; + PassphraseCheckResult checkConstraints(); + +private: + QLabel *_icon = nullptr; + QLabel *_desc = nullptr; + QLabel *_error = nullptr; + QLabel *_prompt = nullptr; + QLabel *_quality_bar_label = nullptr; + QProgressBar *_quality_bar = nullptr; + PinLineEdit *_edit = nullptr; + PinLineEdit *mRepeat = nullptr; + QLabel *mRepeatError = nullptr; + QPushButton *_ok = nullptr; + QPushButton *_cancel = nullptr; + bool _grabbed = false; + bool _have_quality_bar = false; + bool _timed_out = false; + bool _disable_echo_allowed = true; + bool mEnforceConstraints = false; + bool mFormatPassphrase = false; + pinentry_t _pinentry_info = nullptr; + QTimer *_timer = nullptr; + QString mVisibilityTT; + QString mHideTT; + QAction *mVisiActionEdit = nullptr; + QPushButton *mGenerateButton = nullptr; + QCheckBox *mVisiCB = nullptr; + QLabel *mFormattedPassphraseHint = nullptr; + QLabel *mFormattedPassphraseHintSpacer = nullptr; + QLabel *mCapsLockHint = nullptr; + QLabel *mConstraintsHint = nullptr; + QString mConstraintsErrorTitle; +}; + +#endif // __PINENTRYDIALOG_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc new file mode 100644 index 00000000..2b198de3 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinentryrc.qrc @@ -0,0 +1,10 @@ + + + + icons/data-error.svg + icons/document-encrypt.png + icons/hint.svg + icons/password-generate.svg + icons/visibility.svg + + diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp new file mode 100644 index 00000000..286195d8 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.cpp @@ -0,0 +1,232 @@ +/* pinlineedit.cpp - Modified QLineEdit widget. + * Copyright (C) 2018 Damien Goutte-Gattat + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "pinlineedit.h" + +#include +#include +#include + +static const int FormattedPassphraseGroupSize = 5; +static const QChar FormattedPassphraseSeparator = QChar::Nbsp; + +namespace +{ +struct Selection +{ + bool empty() const { return start < 0 || start >= end; } + int length() const { return empty() ? 0 : end - start; } + + int start; + int end; +}; +} + +class PinLineEdit::Private +{ + PinLineEdit *const q; + +public: + Private(PinLineEdit *q) + : q{q} + {} + + QString formatted(QString text) const + { + const int dashCount = text.size() / FormattedPassphraseGroupSize; + text.reserve(text.size() + dashCount); + for (int i = FormattedPassphraseGroupSize; i < text.size(); i += FormattedPassphraseGroupSize + 1) { + text.insert(i, FormattedPassphraseSeparator); + } + return text; + } + + Selection formattedSelection(Selection selection) const + { + if (selection.empty()) { + return selection; + } + return { + selection.start + selection.start / FormattedPassphraseGroupSize, + selection.end + (selection.end - 1) / FormattedPassphraseGroupSize + }; + } + + QString unformatted(QString text) const + { + for (int i = FormattedPassphraseGroupSize; i < text.size(); i += FormattedPassphraseGroupSize) { + text.remove(i, 1); + } + return text; + } + + Selection unformattedSelection(Selection selection) const + { + if (selection.empty()) { + return selection; + } + return { + selection.start - selection.start / (FormattedPassphraseGroupSize + 1), + selection.end - selection.end / (FormattedPassphraseGroupSize + 1) + }; + } + + void copyToClipboard() + { + if (q->echoMode() != QLineEdit::Normal) { + return; + } + + QString text = q->selectedText(); + if (mFormattedPassphrase) { + text.remove(FormattedPassphraseSeparator); + } + if (!text.isEmpty()) { + QGuiApplication::clipboard()->setText(text); + } + } + + int selectionEnd() + { +#if QT_VERSION >= QT_VERSION_CHECK(5, 10, 0) + return q->selectionEnd(); +#else + return q->selectionStart() + q->selectedText().size(); +#endif + } + +public: + bool mFormattedPassphrase = false; +}; + +PinLineEdit::PinLineEdit(QWidget *parent) + : QLineEdit(parent) + , d{new Private{this}} +{ + connect(this, SIGNAL(textEdited(QString)), + this, SLOT(textEdited())); +} + +PinLineEdit::~PinLineEdit() = default; + +void PinLineEdit::setFormattedPassphrase(bool on) +{ + if (on == d->mFormattedPassphrase) { + return; + } + d->mFormattedPassphrase = on; + Selection selection{selectionStart(), d->selectionEnd()}; + if (d->mFormattedPassphrase) { + setText(d->formatted(text())); + selection = d->formattedSelection(selection); + } else { + setText(d->unformatted(text())); + selection = d->unformattedSelection(selection); + } + if (!selection.empty()) { + setSelection(selection.start, selection.length()); + } +} + +void PinLineEdit::copy() const +{ + d->copyToClipboard(); +} + +void PinLineEdit::cut() +{ + if (hasSelectedText()) { + copy(); + del(); + } +} + +void PinLineEdit::setPin(const QString &pin) +{ + setText(d->mFormattedPassphrase ? d->formatted(pin) : pin); +} + +QString PinLineEdit::pin() const +{ + if (d->mFormattedPassphrase) { + return d->unformatted(text()); + } else { + return text(); + } +} + +void PinLineEdit::keyPressEvent(QKeyEvent *e) +{ + if (e == QKeySequence::Copy) { + copy(); + return; + } + else if (e == QKeySequence::Cut) { + if (!isReadOnly() && hasSelectedText()) { + copy(); + del(); + } + return; + } + else if (e == QKeySequence::DeleteEndOfLine) { + if (!isReadOnly()) { + setSelection(cursorPosition(), text().size()); + copy(); + del(); + } + return; + } + else if (e == QKeySequence::DeleteCompleteLine) { + if (!isReadOnly()) { + setSelection(0, text().size()); + copy(); + del(); + } + return; + } + + QLineEdit::keyPressEvent(e); + + if (e->key() == Qt::Key::Key_Backspace) { + emit backspacePressed(); + } +} + +void PinLineEdit::textEdited() +{ + if (!d->mFormattedPassphrase) { + return; + } + auto currentText = text(); + // first calculate the cursor position in the reformatted text; the cursor + // is put left of the separators, so that backspace works as expected + auto cursorPos = cursorPosition(); + cursorPos -= QStringView{currentText}.left(cursorPos).count(FormattedPassphraseSeparator); + cursorPos += std::max(cursorPos - 1, 0) / FormattedPassphraseGroupSize; + // then reformat the text + currentText.remove(FormattedPassphraseSeparator); + currentText = d->formatted(currentText); + // finally, set reformatted text and updated cursor position + setText(currentText); + setCursorPosition(cursorPos); +} + +#include "pinlineedit.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h new file mode 100644 index 00000000..e67ced83 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/pinlineedit.h @@ -0,0 +1,63 @@ +/* pinlineedit.h - Modified QLineEdit widget. + * Copyright (C) 2018 Damien Goutte-Gattat + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _PINLINEEDIT_H_ +#define _PINLINEEDIT_H_ + +#include + +#include + +class PinLineEdit : public QLineEdit +{ + Q_OBJECT + +public: + explicit PinLineEdit(QWidget *parent = nullptr); + ~PinLineEdit() override; + + void setPin(const QString &pin); + QString pin() const; + +public Q_SLOTS: + void setFormattedPassphrase(bool on); + void copy() const; + void cut(); + +Q_SIGNALS: + void backspacePressed(); + +protected: + void keyPressEvent(QKeyEvent *) override; + +private: + using QLineEdit::setText; + using QLineEdit::text; + +private Q_SLOTS: + void textEdited(); + +private: + class Private; + std::unique_ptr d; +}; + +#endif // _PINLINEEDIT_H_ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp new file mode 100644 index 00000000..8e6bb591 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/qti18n.cpp @@ -0,0 +1,93 @@ +/* qti18n.cpp - Load qt translations for pinentry. + * Copyright 2021 g10 Code GmbH + * SPDX-FileCopyrightText: 2015 Lukáš Tinkl + * SPDX-FileCopyrightText: 2021 Ingo Klöcker + * + * Copied from k18n under the terms of LGPLv2 or later. + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include + +#include + +static bool loadCatalog(const QString &catalog, const QLocale &locale) +{ + auto translator = new QTranslator(QCoreApplication::instance()); + + if (!translator->load(locale, catalog, QString(), QLibraryInfo::location(QLibraryInfo::TranslationsPath))) { + qDebug() << "Loading the" << catalog << "catalog failed for locale" << locale; + delete translator; + return false; + } + QCoreApplication::instance()->installTranslator(translator); + return true; +} + +static bool loadCatalog(const QString &catalog, const QLocale &locale, const QLocale &fallbackLocale) +{ + // try to load the catalog for locale + if (loadCatalog(catalog, locale)) { + return true; + } + // if this fails, then try the fallback locale (if it's different from locale) + if (fallbackLocale != locale) { + return loadCatalog(catalog, fallbackLocale); + } + return false; +} + +// load global Qt translation, needed in KDE e.g. by lots of builtin dialogs (QColorDialog, QFontDialog) that we use +static void loadTranslation(const QString &localeName, const QString &fallbackLocaleName) +{ + const QLocale locale{localeName}; + const QLocale fallbackLocale{fallbackLocaleName}; + // first, try to load the qt_ meta catalog + if (loadCatalog(QStringLiteral("qt_"), locale, fallbackLocale)) { + return; + } + // if loading the meta catalog failed, then try loading the four catalogs + // it depends on, i.e. qtbase, qtscript, qtmultimedia, qtxmlpatterns, separately + const auto catalogs = { + QStringLiteral("qtbase_"), + /* QStringLiteral("qtscript_"), + QStringLiteral("qtmultimedia_"), + QStringLiteral("qtxmlpatterns_"), */ + }; + for (const auto &catalog : catalogs) { + loadCatalog(catalog, locale, fallbackLocale); + } +} + +static void load() +{ + // The way Qt translation system handles plural forms makes it necessary to + // have a translation file which contains only plural forms for `en`. That's + // why we load the `en` translation unconditionally, then load the + // translation for the current locale to overload it. + loadCatalog(QStringLiteral("qt_"), QLocale{QStringLiteral("en")}); + + const QLocale locale = QLocale::system(); + if (locale.name() != QStringLiteral("en")) { + loadTranslation(locale.name(), locale.bcp47Name()); + } +} + +Q_COREAPP_STARTUP_FUNCTION(load) diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h new file mode 100644 index 00000000..04f35957 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt/util.h @@ -0,0 +1,40 @@ +/* util.h - Helper for managing malloced pointers + * Copyright (C) 2021 g10 Code GmbH + * + * Software engineering by Ingo Klöcker + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef __PINENTRY_QT_UTIL_H__ +#define __PINENTRY_QT_UTIL_H__ + +#include + +#include + +namespace _detail +{ +struct FreeDeleter { + void operator()(void *ptr) const { + free(ptr); + } +}; +} + +template +using unique_malloced_ptr = std::unique_ptr; + +#endif // __PINENTRY_QT_UTIL_H__ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am similarity index 70% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am index 698005ea..dc570a1e 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.am @@ -20,7 +20,7 @@ ## Process this file with automake to produce Makefile.in -bin_PROGRAMS = pinentry-qt +bin_PROGRAMS = pinentry-qt4 EXTRA_DIST = document-encrypt.png pinentry.qrc @@ -37,22 +37,26 @@ endif AM_CPPFLAGS = $(COMMON_CFLAGS) \ -I$(top_srcdir) -I$(top_srcdir)/secmem \ $(ncurses_include) -I$(top_srcdir)/pinentry -AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) -pinentry_qt_LDADD = \ +AM_CXXFLAGS = $(PINENTRY_QT4_CFLAGS) +pinentry_qt4_LDADD = \ ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) $(LIBCAP) + $(COMMON_LIBS) $(PINENTRY_QT4_LIBS) $(libcurses) $(LIBCAP) +pinentry_qt4_LDFLAGS = $(PINENTRY_QT4_LDFLAGS) +if BUILD_PINENTRY_QT4 BUILT_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc +endif CLEANFILES = \ - pinentryconfirm.moc pinentrydialog.moc + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc -pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h +pinentry_qt4_SOURCES = pinentrydialog.h pinentrydialog.cpp \ + main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h \ + pinlineedit.h pinlineedit.cpp -nodist_pinentry_qt_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc +nodist_pinentry_qt4_SOURCES = \ + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc .h.moc: - $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ + $(MOC4) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in similarity index 83% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in index 4abacbf7..40a19afe 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -98,38 +108,39 @@ PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ -bin_PROGRAMS = pinentry-qt$(EXEEXT) -subdir = qt -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp +bin_PROGRAMS = pinentry-qt4$(EXEEXT) +subdir = qt4 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) -am_pinentry_qt_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ - qrc_pinentry.$(OBJEXT) pinentryconfirm.$(OBJEXT) -nodist_pinentry_qt_OBJECTS = -pinentry_qt_OBJECTS = $(am_pinentry_qt_OBJECTS) \ - $(nodist_pinentry_qt_OBJECTS) +am_pinentry_qt4_OBJECTS = pinentrydialog.$(OBJEXT) main.$(OBJEXT) \ + qrc_pinentry.$(OBJEXT) pinentryconfirm.$(OBJEXT) \ + pinlineedit.$(OBJEXT) +nodist_pinentry_qt4_OBJECTS = +pinentry_qt4_OBJECTS = $(am_pinentry_qt4_OBJECTS) \ + $(nodist_pinentry_qt4_OBJECTS) am__DEPENDENCIES_1 = @FALLBACK_CURSES_TRUE@am__DEPENDENCIES_2 = \ @FALLBACK_CURSES_TRUE@ ../pinentry/libpinentry-curses.a \ @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) \ @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) -pinentry_qt_DEPENDENCIES = ../pinentry/libpinentry.a \ +pinentry_qt4_DEPENDENCIES = ../pinentry/libpinentry.a \ $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) +pinentry_qt4_LINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) \ + $(pinentry_qt4_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -144,7 +155,10 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/main.Po \ + ./$(DEPDIR)/pinentryconfirm.Po ./$(DEPDIR)/pinentrydialog.Po \ + ./$(DEPDIR)/pinlineedit.Po ./$(DEPDIR)/qrc_pinentry.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) @@ -171,8 +185,8 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = -SOURCES = $(pinentry_qt_SOURCES) $(nodist_pinentry_qt_SOURCES) -DIST_SOURCES = $(pinentry_qt_SOURCES) +SOURCES = $(pinentry_qt4_SOURCES) $(nodist_pinentry_qt4_SOURCES) +DIST_SOURCES = $(pinentry_qt4_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -197,6 +211,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -221,6 +237,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -230,6 +248,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -243,11 +262,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -256,6 +276,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -264,6 +286,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -277,16 +301,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -336,6 +367,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -353,22 +385,24 @@ AM_CPPFLAGS = $(COMMON_CFLAGS) \ -I$(top_srcdir) -I$(top_srcdir)/secmem \ $(ncurses_include) -I$(top_srcdir)/pinentry -AM_CXXFLAGS = $(PINENTRY_QT_CFLAGS) -pinentry_qt_LDADD = \ +AM_CXXFLAGS = $(PINENTRY_QT4_CFLAGS) +pinentry_qt4_LDADD = \ ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_QT_LIBS) $(libcurses) $(LIBCAP) + $(COMMON_LIBS) $(PINENTRY_QT4_LIBS) $(libcurses) $(LIBCAP) -BUILT_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc +pinentry_qt4_LDFLAGS = $(PINENTRY_QT4_LDFLAGS) +@BUILD_PINENTRY_QT4_TRUE@BUILT_SOURCES = \ +@BUILD_PINENTRY_QT4_TRUE@ pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc CLEANFILES = \ - pinentryconfirm.moc pinentrydialog.moc + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc -pinentry_qt_SOURCES = pinentrydialog.h pinentrydialog.cpp \ - main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h +pinentry_qt4_SOURCES = pinentrydialog.h pinentrydialog.cpp \ + main.cpp qrc_pinentry.cpp pinentryconfirm.cpp pinentryconfirm.h \ + pinlineedit.h pinlineedit.cpp -nodist_pinentry_qt_SOURCES = \ - pinentryconfirm.moc pinentrydialog.moc +nodist_pinentry_qt4_SOURCES = \ + pinentryconfirm.moc pinentrydialog.moc pinlineedit.moc all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-am @@ -384,17 +418,16 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi exit 1;; \ esac; \ done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt/Makefile'; \ + echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu qt4/Makefile'; \ $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --gnu qt/Makefile -.PRECIOUS: Makefile + $(AUTOMAKE) --gnu qt4/Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -448,9 +481,9 @@ uninstall-binPROGRAMS: clean-binPROGRAMS: -test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS) -pinentry-qt$(EXEEXT): $(pinentry_qt_OBJECTS) $(pinentry_qt_DEPENDENCIES) $(EXTRA_pinentry_qt_DEPENDENCIES) - @rm -f pinentry-qt$(EXEEXT) - $(AM_V_CXXLD)$(CXXLINK) $(pinentry_qt_OBJECTS) $(pinentry_qt_LDADD) $(LIBS) +pinentry-qt4$(EXEEXT): $(pinentry_qt4_OBJECTS) $(pinentry_qt4_DEPENDENCIES) $(EXTRA_pinentry_qt4_DEPENDENCIES) + @rm -f pinentry-qt4$(EXEEXT) + $(AM_V_CXXLD)$(pinentry_qt4_LINK) $(pinentry_qt4_OBJECTS) $(pinentry_qt4_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) @@ -458,10 +491,17 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryconfirm.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qrc_pinentry.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentryconfirm.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinlineedit.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qrc_pinentry.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -529,7 +569,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -569,7 +612,8 @@ installdirs: done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -605,7 +649,11 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentryconfirm.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/pinlineedit.Po + -rm -f ./$(DEPDIR)/qrc_pinentry.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -651,7 +699,11 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentryconfirm.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/pinlineedit.Po + -rm -f ./$(DEPDIR)/qrc_pinentry.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -669,9 +721,9 @@ ps-am: uninstall-am: uninstall-binPROGRAMS -.MAKE: all check install install-am install-strip +.MAKE: all check install install-am install-exec install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -685,9 +737,11 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + .h.moc: - $(MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ + $(MOC4) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png new file mode 100644 index 00000000..b80c2a6f Binary files /dev/null and b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/document-encrypt.png differ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp similarity index 82% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/main.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp index 70a009d6..a2c155c3 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/main.cpp +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/main.cpp @@ -30,12 +30,16 @@ #include "pinentrydialog.h" #include "pinentry.h" -#include +#include +#include #include -#include -#include -#include +#include #include +#include +#include +#if QT_VERSION >= 0x050000 +#include +#endif #include #include @@ -61,6 +65,10 @@ #endif #endif +#ifdef Q_OS_WIN +#include +#endif + static QString escape_accel(const QString &s) { @@ -97,22 +105,6 @@ static QString escape_accel(const QString &s) return result; } -/* Hack for creating a QWidget with a "foreign" window ID */ -class ForeignWidget : public QWidget -{ -public: - explicit ForeignWidget(WId wid) : QWidget(0) - { - QWidget::destroy(); - create(wid, false, false); - } - - ~ForeignWidget() - { - destroy(false, false); - } -}; - namespace { class InvalidUtf8 : public std::invalid_argument @@ -139,17 +131,46 @@ static QString from_utf8(const char *s) return result; } +static void +setup_foreground_window(QWidget *widget, WId parentWid) +{ +#if QT_VERSION >= 0x050000 + /* For windows set the desktop window as the transient parent */ + QWindow *parentWindow = nullptr; + if (parentWid) { + parentWindow = QWindow::fromWinId(parentWid); + } +#ifdef Q_OS_WIN + if (!parentWindow) { + HWND desktop = GetDesktopWindow(); + if (desktop) { + parentWindow = QWindow::fromWinId((WId) desktop); + } + } +#endif + if (parentWindow) { + // Ensure that we have a native wid + widget->winId(); + QWindow *wndHandle = widget->windowHandle(); + + if (wndHandle) { + wndHandle->setTransientParent(parentWindow); + } + } +#endif + widget->setWindowFlags(Qt::Window | + Qt::CustomizeWindowHint | + Qt::WindowTitleHint | + Qt::WindowCloseButtonHint | + Qt::WindowStaysOnTopHint | + Qt::WindowMinimizeButtonHint); +} + static int qt_cmd_handler(pinentry_t pe) { - QWidget *parent = 0; char *str; - /* FIXME: Add parent window ID to pinentry and GTK. */ - if (pe->parent_wid) { - parent = new ForeignWidget((WId) pe->parent_wid); - } - int want_pass = !!pe->pin; const QString ok = @@ -180,17 +201,24 @@ qt_cmd_handler(pinentry_t pe) pe->default_tt_hide ? from_utf8(pe->default_tt_hide) : QLatin1String("Hide passphrase"); + const QString generateLbl = pe->genpin_label ? from_utf8(pe->genpin_label) : + QString(); + const QString generateTT = pe->genpin_tt ? from_utf8(pe->genpin_tt) : + QString(); + if (want_pass) { char *str; - PinEntryDialog pinentry(parent, 0, pe->timeout, true, !!pe->quality_bar, + PinEntryDialog pinentry(NULL, 0, pe->timeout, true, !!pe->quality_bar, repeatString, visibilityTT, hideTT); - + setup_foreground_window(&pinentry, pe->parent_wid); pinentry.setPinentryInfo(pe); pinentry.setPrompt(escape_accel(from_utf8(pe->prompt))); pinentry.setDescription(from_utf8(pe->description)); pinentry.setRepeatErrorText(repeatError); + pinentry.setGenpinLabel(generateLbl); + pinentry.setGenpinTT(generateTT); str = pinentry_get_title (pe); if (str) { @@ -247,7 +275,8 @@ qt_cmd_handler(pinentry_t pe) pe->notok ? QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel : /* else */ QMessageBox::Ok | QMessageBox::Cancel ; - PinentryConfirm box(QMessageBox::Information, pe->timeout, title, desc, buttons, parent); + PinentryConfirm box(QMessageBox::Information, pe->timeout, title, desc, buttons, NULL); + setup_foreground_window(&box, pe->parent_wid); const struct { QMessageBox::StandardButton button; @@ -312,6 +341,7 @@ main(int argc, char *argv[]) pinentry_init("pinentry-qt"); QApplication *app = NULL; + int new_argc = 0; #ifdef FALLBACK_CURSES if (!pinentry_have_display(argc, argv)) { @@ -351,8 +381,15 @@ main(int argc, char *argv[]) p += strlen(argv[i]) + 1; } - i = argc; - app = new QApplication(i, new_argv); + /* Note: QApplication uses int &argc so argc has to be valid + * for the full lifetime of the application. + * + * As Qt might modify argc / argv we use copies here so that + * we do not loose options that are handled in both. e.g. display. + */ + new_argc = argc; + Q_ASSERT (new_argc); + app = new QApplication(new_argc, new_argv); app->setWindowIcon(QIcon(QLatin1String(":/document-encrypt.png"))); } diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentry.qrc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentry.qrc similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentry.qrc rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentry.qrc diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentryconfirm.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.cpp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentryconfirm.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.cpp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentryconfirm.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentryconfirm.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentryconfirm.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp similarity index 79% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp index cb52d7cf..0c4e3855 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.cpp +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.cpp @@ -26,6 +26,7 @@ #include #include +#include #include #include #include @@ -36,71 +37,28 @@ #include #include #include +#include "pinlineedit.h" + +#include #ifdef Q_OS_WIN #include +#if QT_VERSION >= 0x050700 +#include #endif - -/* I [wk] have no idea for what this code was supposed to do. - Foregrounding a window is heavily restricted by modern Windows - versions. This is the reason why gpg-agent employs its - AllowSetForegroundWindow callback machinery to ask the supposed to - be be calling process to allow a pinentry to go into the - foreground. - - [ah] This is a Hack to workaround the fact that Foregrounding - a Window is so restricted that it AllowSetForegroundWindow - does not always work (e.g. when the ForegroundWindow timeout - has not expired. - */ -#ifdef Q_OS_WIN -WINBOOL SetForegroundWindowEx(HWND hWnd) -{ - //Attach foreground window thread to our thread - const DWORD ForeGroundID = GetWindowThreadProcessId(::GetForegroundWindow(), NULL); - const DWORD CurrentID = GetCurrentThreadId(); - WINBOOL retval; - - AttachThreadInput(ForeGroundID, CurrentID, TRUE); - //Do our stuff here - HWND hLastActivePopupWnd = GetLastActivePopup(hWnd); - retval = SetForegroundWindow(hLastActivePopupWnd); - - //Detach the attached thread - AttachThreadInput(ForeGroundID, CurrentID, FALSE); - return retval; -}// End SetForegroundWindowEx #endif void raiseWindow(QWidget *w) { - /* Maybe Qt will become aggressive enough one day that - * this is enough on windows too*/ - w->raise(); #ifdef Q_OS_WIN - HWND wid = (HWND)w->effectiveWinId(); - /* In the meantime we do our own attention grabbing */ - if (!SetForegroundWindow(wid) && !SetForegroundWindowEx(wid)) { - OutputDebugString("SetForegroundWindow (ex) failed"); - /* Yet another fallback which will not work on some - * versions and is not recommended by msdn */ - if (!ShowWindow(wid, SW_SHOWNORMAL)) { - OutputDebugString("ShowWindow failed."); - } - } - /* Even if SetForgeoundWindow / SetForegroundWinowEx don't fail - * we sometimes are still not in the foreground. So we try yet - * another hack by using SetWindowPos */ - if (!SetWindowPos(wid, HWND_TOPMOST, 0, 0, 0, 0, - SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW)) { - OutputDebugString("SetWindowPos failed."); - } else { - /* Without moving back to NOTOPMOST we just stay on top. - * Even if the user changes focus. */ - SetWindowPos(wid, HWND_NOTOPMOST, 0, 0, 0, 0, - SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW); - } +#if QT_VERSION >= 0x050700 + QWindowsWindowFunctions::setWindowActivationBehavior( + QWindowsWindowFunctions::AlwaysActivateWindow); #endif +#endif + w->setWindowState((w->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive); + w->activateWindow(); + w->raise(); } QPixmap icon(QStyle::StandardPixmap which) @@ -129,16 +87,17 @@ PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, const QString &repeatString, const QString &visibilityTT, const QString &hideTT) - : QDialog(parent, Qt::WindowStaysOnTopHint), + : QDialog(parent), mRepeat(NULL), _grabbed(false), + _disable_echo_allowed(true), mVisibilityTT(visibilityTT), mHideTT(hideTT), mVisiActionEdit(NULL), + mGenerateActionEdit(NULL), mVisiCB(NULL) { _timed_out = false; - setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); if (modal) { setWindowModality(Qt::ApplicationModal); @@ -159,8 +118,9 @@ PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, _prompt = new QLabel(this); _prompt->hide(); - _edit = new QLineEdit(this); + _edit = new PinLineEdit(this); _edit->setMaxLength(256); + _edit->setMinimumWidth(_edit->fontMetrics().averageCharWidth()*20 + 48); _edit->setEchoMode(QLineEdit::Password); _prompt->setBuddy(_edit); @@ -201,8 +161,8 @@ PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, this, SLOT(updateQuality(QString))); connect(_edit, SIGNAL(textChanged(QString)), this, SLOT(textChanged(QString))); - - _edit->setFocus(); + connect(_edit, SIGNAL(backspacePressed()), + this, SLOT(onBackspace())); QGridLayout *const grid = new QGridLayout(this); int row = 1; @@ -231,7 +191,15 @@ PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, /* Set up the show password action */ const QIcon visibilityIcon = QIcon::fromTheme(QLatin1String("visibility")); const QIcon hideIcon = QIcon::fromTheme(QLatin1String("hint")); + const QIcon generateIcon = QIcon(); /* Disabled for now + QIcon::fromTheme(QLatin1String("password-generate")); */ #if QT_VERSION >= 0x050200 + if (!generateIcon.isNull()) { + mGenerateActionEdit = _edit->addAction(generateIcon, + QLineEdit::LeadingPosition); + mGenerateActionEdit->setToolTip(mGenerateTT); + connect(mGenerateActionEdit, SIGNAL(triggered()), this, SLOT(generatePin())); + } if (!visibilityIcon.isNull() && !hideIcon.isNull()) { mVisiActionEdit = _edit->addAction(visibilityIcon, QLineEdit::TrailingPosition); mVisiActionEdit->setVisible(false); @@ -255,12 +223,29 @@ PinEntryDialog::PinEntryDialog(QWidget *parent, const char *name, connect(qApp, SIGNAL(focusChanged(QWidget *, QWidget *)), this, SLOT(focusChanged(QWidget *, QWidget *))); + +#if QT_VERSION >= 0x050000 + /* This is mostly an issue on Windows where this results + in the pinentry popping up nicely with an animation and + comes to front. It is not ifdefed for Windows only since + window managers on Linux like KWin can also have this + result in an animation when the pinentry is shown and + not just popping it up. + */ + setWindowState(Qt::WindowMinimized); + QTimer::singleShot(0, this, [this] () { + raiseWindow (this); + }); +#else + activateWindow(); + raise(); +#endif } void PinEntryDialog::showEvent(QShowEvent *event) { QDialog::showEvent(event); - raiseWindow(this); + _edit->setFocus(); } void PinEntryDialog::setDescription(const QString &txt) @@ -271,7 +256,7 @@ void PinEntryDialog::setDescription(const QString &txt) _desc->setAccessibleDescription(txt); #endif _icon->setPixmap(icon()); - setError(QString::null); + setError(QString()); } QString PinEntryDialog::description() const @@ -310,6 +295,8 @@ void PinEntryDialog::setPrompt(const QString &txt) { _prompt->setText(txt); _prompt->setVisible(!txt.isEmpty()); + if (txt.contains("PIN")) + _disable_echo_allowed = false; } QString PinEntryDialog::prompt() const @@ -352,6 +339,36 @@ void PinEntryDialog::setQualityBarTT(const QString &txt) } } +void PinEntryDialog::setGenpinLabel(const QString &txt) +{ + if (!mGenerateActionEdit) { + return; + } + if (txt.isEmpty()) { + mGenerateActionEdit->setVisible(false); + } else { + mGenerateActionEdit->setText(txt); + mGenerateActionEdit->setVisible(true); + } +} + +void PinEntryDialog::setGenpinTT(const QString &txt) +{ + if (mGenerateActionEdit) { + mGenerateActionEdit->setToolTip(txt); + } +} + +void PinEntryDialog::onBackspace() +{ + if (_disable_echo_allowed) { + _edit->setEchoMode(QLineEdit::NoEcho); + if (mRepeat) { + mRepeat->setEchoMode(QLineEdit::NoEcho); + } + } +} + void PinEntryDialog::updateQuality(const QString &txt) { int length; @@ -362,6 +379,8 @@ void PinEntryDialog::updateQuality(const QString &txt) _timer->stop(); } + _disable_echo_allowed = false; + if (!_have_quality_bar || !_pinentry_info) { return; } @@ -420,11 +439,28 @@ void PinEntryDialog::textChanged(const QString &text) if (mVisiActionEdit && sender() == _edit) { mVisiActionEdit->setVisible(!_edit->text().isEmpty()); } + if (mGenerateActionEdit) { + mGenerateActionEdit->setVisible(_edit->text().isEmpty() && + _pinentry_info->genpin_label); + } +} + +void PinEntryDialog::generatePin() +{ + const char *pin = pinentry_inq_genpin(_pinentry_info); + if (pin) { + if (_edit->echoMode() == QLineEdit::Password) { + toggleVisibility(); + } + const QString pinStr = QString::fromUtf8(pin); + _edit->setText(pinStr); + mRepeat->setText(pinStr); + } } void PinEntryDialog::toggleVisibility() { - if (sender() == mVisiActionEdit) { + if (sender() != mVisiCB) { if (_edit->echoMode() == QLineEdit::Password) { mVisiActionEdit->setIcon(QIcon::fromTheme(QLatin1String("hint"))); mVisiActionEdit->setToolTip(mHideTT); @@ -440,8 +476,7 @@ void PinEntryDialog::toggleVisibility() mRepeat->setEchoMode(QLineEdit::Password); } } - } - if (sender() == mVisiCB) { + } else { if (mVisiCB->isChecked()) { if (mRepeat) { mRepeat->setEchoMode(QLineEdit::Normal); diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h index 52b7343b..45671b95 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/pinentrydialog.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinentrydialog.h @@ -33,6 +33,7 @@ class QLabel; class QPushButton; class QLineEdit; +class PinLineEdit; class QString; class QProgressBar; class QCheckBox; @@ -79,6 +80,9 @@ public: void setQualityBar(const QString &); void setQualityBarTT(const QString &); + void setGenpinLabel(const QString &); + void setGenpinTT(const QString &); + void setPinentryInfo(pinentry_t); bool timedOut() const; @@ -89,6 +93,8 @@ protected slots: void textChanged(const QString &); void focusChanged(QWidget *old, QWidget *now); void toggleVisibility(); + void onBackspace(); + void generatePin(); protected: /* reimp */ void showEvent(QShowEvent *event); @@ -100,19 +106,22 @@ private: QLabel *_prompt; QLabel *_quality_bar_label; QProgressBar *_quality_bar; - QLineEdit *_edit; - QLineEdit *mRepeat; + PinLineEdit *_edit; + QLineEdit *mRepeat; QPushButton *_ok; QPushButton *_cancel; bool _grabbed; bool _have_quality_bar; bool _timed_out; + bool _disable_echo_allowed; pinentry_t _pinentry_info; QTimer *_timer; QString mRepeatError, mVisibilityTT, + mGenerateTT, mHideTT; - QAction *mVisiActionEdit; + QAction *mVisiActionEdit, + *mGenerateActionEdit; QCheckBox *mVisiCB; }; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp new file mode 100644 index 00000000..b05bd07b --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.cpp @@ -0,0 +1,36 @@ +/* pinlineedit.cpp - Modified QLineEdit widget. + * Copyright (C) 2018 Damien Goutte-Gattat + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include "pinlineedit.h" + +#include + +PinLineEdit::PinLineEdit(QWidget *parent) : QLineEdit(parent) +{ +} + +void +PinLineEdit::keyPressEvent(QKeyEvent *e) +{ + QLineEdit::keyPressEvent(e); + + if ( e->key() == Qt::Key_Backspace ) + emit backspacePressed(); +} + +#include "pinlineedit.moc" diff --git a/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h new file mode 100644 index 00000000..b1b48dfd --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/pinlineedit.h @@ -0,0 +1,38 @@ +/* pinlineedit.h - Modified QLineEdit widget. + * Copyright (C) 2018 Damien Goutte-Gattat + * + * This program 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. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, see . + * SPDX-License-Identifier: GPL-2.0+ + */ + +#ifndef _PINLINEEDIT_H_ +#define _PINLINEEDIT_H_ + +#include + +class PinLineEdit : public QLineEdit +{ + Q_OBJECT + +public: + PinLineEdit(QWidget *); + +signals: + void backspacePressed(); + +protected: + void keyPressEvent(QKeyEvent *); +}; + +#endif // _PINLINEEDIT_H_ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/qrc_pinentry.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/qrc_pinentry.cpp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/qt/qrc_pinentry.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/qt4/qrc_pinentry.cpp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.am similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.am diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in similarity index 87% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in index 4d4f67a0..333ab946 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -98,16 +108,15 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = secmem -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -137,7 +146,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/secmem.Po ./$(DEPDIR)/util.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -177,6 +187,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -201,6 +213,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -210,6 +224,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -223,11 +238,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -236,6 +252,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -244,6 +262,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -257,16 +277,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -316,6 +343,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -349,14 +377,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu secmem/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu secmem/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -382,8 +409,14 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secmem.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secmem.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -451,7 +484,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -520,7 +556,8 @@ clean: clean-am clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/secmem.Po + -rm -f ./$(DEPDIR)/util.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -566,7 +603,8 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/secmem.Po + -rm -f ./$(DEPDIR)/util.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -586,18 +624,20 @@ uninstall-am: .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-noinstLIBRARIES cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ + clean-generic clean-noinstLIBRARIES cscopelist-am ctags \ + ctags-am distclean distclean-compile distclean-generic \ + distclean-tags distdir dvi dvi-am html html-am info info-am \ + install install-am install-data install-data-am install-dvi \ + install-dvi-am install-exec install-exec-am install-html \ + install-html-am install-info install-info-am install-man \ + install-pdf install-pdf-am install-ps install-ps-am \ + install-strip installcheck installcheck-am installdirs \ + maintainer-clean maintainer-clean-generic mostlyclean \ + mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \ + tags tags-am uninstall uninstall-am + +.PRECIOUS: Makefile # Tell versions [3.59,3.63) of GNU make to not export all variables. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/memory.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/memory.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/memory.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/memory.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem++.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem++.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem++.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem++.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem-util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem-util.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem-util.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem-util.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c index 3abcc4a2..a12f0b3c 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/secmem.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/secmem.c @@ -31,9 +31,6 @@ # include # include # include -# ifdef USE_CAPABILITIES -# include -# endif #endif #include @@ -51,7 +48,7 @@ typedef union { short b; char c[1]; long d; -#ifdef HAVE_U64_TYPEDEF +#ifdef HAVE_U64_TYPE u64 e; #endif float f; @@ -103,7 +100,9 @@ struct memblock_struct { static void *pool; static volatile int pool_okay; /* may be checked in an atexit function */ +#if HAVE_MMAP static int pool_is_mmapped; +#endif static size_t poolsize; /* allocated length */ static size_t poollen; /* used length */ static MEMBLOCK *unused_blocks; @@ -128,26 +127,7 @@ print_warn(void) static void lock_pool( void *p, size_t n ) { -#if defined(USE_CAPABILITIES) && defined(HAVE_MLOCK) - int err; - - cap_set_proc( cap_from_text("cap_ipc_lock+ep") ); - err = mlock( p, n ); - if( err && errno ) - err = errno; - cap_set_proc( cap_from_text("cap_ipc_lock+p") ); - - if( err ) { - if( errno != EPERM - #ifdef EAGAIN /* OpenBSD returns this */ - && errno != EAGAIN - #endif - ) - log_error("can't lock memory: %s\n", strerror(err)); - show_warning = 1; - } - -#elif defined(HAVE_MLOCK) +#if defined(HAVE_MLOCK) uid_t uid; int err; @@ -156,17 +136,13 @@ lock_pool( void *p, size_t n ) #ifdef HAVE_BROKEN_MLOCK if( uid ) { errno = EPERM; - err = errno; + err = -1; } else { err = mlock( p, n ); - if( err && errno ) - err = errno; } #else err = mlock( p, n ); - if( err && errno ) - err = errno; #endif if( uid && !geteuid() ) { @@ -180,11 +156,13 @@ lock_pool( void *p, size_t n ) && errno != EAGAIN #endif ) - log_error("can't lock memory: %s\n", strerror(err)); + log_error("can't lock memory: %s\n", strerror(errno)); show_warning = 1; } #else + (void)p; + (void)n; log_info("Please note that you don't have secure memory on this system\n"); #endif } @@ -193,20 +171,22 @@ lock_pool( void *p, size_t n ) static void init_pool( size_t n) { +#if HAVE_MMAP size_t pgsize; +#endif poolsize = n; if( disable_secmem ) log_bug("secure memory is disabled"); +#if HAVE_MMAP #ifdef HAVE_GETPAGESIZE pgsize = getpagesize(); #else pgsize = 4096; #endif -#if HAVE_MMAP poolsize = (poolsize + pgsize -1 ) & ~(pgsize-1); # ifdef MAP_ANONYMOUS pool = mmap( 0, poolsize, PROT_READ|PROT_WRITE, @@ -284,11 +264,7 @@ void secmem_init( size_t n ) { if( !n ) { -#ifdef USE_CAPABILITIES - /* drop all capabilities */ - cap_set_proc( cap_from_text("all-eip") ); - -#elif !defined(HAVE_DOSISH_SYSTEM) +#if !defined(HAVE_DOSISH_SYSTEM) uid_t uid; disable_secmem=1; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/util.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.c similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/util.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/util.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h similarity index 86% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/util.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h index 233ab131..3c8ffb8a 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/secmem/util.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/secmem/util.h @@ -22,21 +22,20 @@ #include -#ifndef HAVE_BYTE_TYPEDEF +#ifndef HAVE_TYPE_BYTE # undef byte -# ifdef __riscos__ - /* Norcroft treats char == unsigned char but char* != unsigned char* */ - typedef char byte; -# else - typedef unsigned char byte; +# if !(defined(_WIN32) && defined(cbNDRContext)) + /* Windows typedefs byte in the rpc headers. Avoid warning about + double definition. */ + typedef unsigned char byte; # endif -# define HAVE_BYTE_TYPEDEF +# define HAVE_TYPE_BYTE #endif -#ifndef HAVE_ULONG_TYPEDEF +#ifndef HAVE_TYPE_ULONG # undef ulong typedef unsigned long ulong; -# define HAVE_ULONG_TYPEDEF +# define HAVE_TYPE_ULONG #endif diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am similarity index 95% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am index ec825229..3252bf74 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.am @@ -38,10 +38,12 @@ AM_CPPFLAGS = $(COMMON_CFLAGS) \ AM_CXXFLAGS = $(PINENTRY_TQT_CFLAGS) pinentry_tqt_LDADD = \ ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) $(LIBCAP) + $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) +if BUILD_PINENTRY_TQT BUILT_SOURCES = \ secqlineedit.moc pinentrydialog.moc +endif CLEANFILES = \ secqlineedit.moc pinentrydialog.moc diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in similarity index 89% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in index e0258b04..ee534a28 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -35,7 +35,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -100,16 +110,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-tqt$(EXEEXT) subdir = tqt -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -129,8 +138,7 @@ am__DEPENDENCIES_1 = @FALLBACK_CURSES_TRUE@ $(am__DEPENDENCIES_1) pinentry_tqt_DEPENDENCIES = ../pinentry/libpinentry.a \ $(top_builddir)/secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) \ - $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_2) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -145,7 +153,10 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/main.Po \ + ./$(DEPDIR)/pinentrydialog.Po ./$(DEPDIR)/secqinternal.Po \ + ./$(DEPDIR)/secqlineedit.Po ./$(DEPDIR)/secqstring.Po am__mv = mv -f CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) @@ -198,6 +209,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -222,6 +235,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -231,6 +246,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -244,11 +260,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -257,6 +274,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -265,6 +284,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -278,16 +299,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -337,6 +365,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -356,10 +385,10 @@ AM_CPPFLAGS = $(COMMON_CFLAGS) \ AM_CXXFLAGS = $(PINENTRY_TQT_CFLAGS) pinentry_tqt_LDADD = \ ../pinentry/libpinentry.a $(top_builddir)/secmem/libsecmem.a \ - $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) $(LIBCAP) + $(COMMON_LIBS) $(PINENTRY_TQT_LIBS) $(libcurses) -BUILT_SOURCES = \ - secqlineedit.moc pinentrydialog.moc +@BUILD_PINENTRY_TQT_TRUE@BUILT_SOURCES = \ +@BUILD_PINENTRY_TQT_TRUE@ secqlineedit.moc pinentrydialog.moc CLEANFILES = \ secqlineedit.moc pinentrydialog.moc @@ -389,14 +418,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tqt/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tqt/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -460,11 +488,17 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqinternal.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqlineedit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqstring.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentrydialog.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqinternal.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqlineedit.Po@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secqstring.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .cpp.o: @am__fastdepCXX_TRUE@ $(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -532,7 +566,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -572,7 +609,8 @@ installdirs: done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am +install-exec: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data: install-data-am uninstall: uninstall-am @@ -608,7 +646,11 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/secqinternal.Po + -rm -f ./$(DEPDIR)/secqlineedit.Po + -rm -f ./$(DEPDIR)/secqstring.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -654,7 +696,11 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po + -rm -f ./$(DEPDIR)/pinentrydialog.Po + -rm -f ./$(DEPDIR)/secqinternal.Po + -rm -f ./$(DEPDIR)/secqlineedit.Po + -rm -f ./$(DEPDIR)/secqstring.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -672,9 +718,9 @@ ps-am: uninstall-am: uninstall-binPROGRAMS -.MAKE: all check install install-am install-strip +.MAKE: all check install install-am install-exec install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -688,6 +734,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + .h.moc: $(TQT_MOC) `test -f '$<' || echo '$(srcdir)/'`$< -o $@ diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/main.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/main.cpp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/main.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/main.cpp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp similarity index 94% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp index 069eeafb..b7aa309b 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.cpp +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.cpp @@ -32,7 +32,8 @@ PinEntryDialog::PinEntryDialog( TQWidget* parent, const char* name, bool modal, bool enable_quality_bar ) - : TQDialog( parent, name, modal, TQt::WStyle_StaysOnTop ), _grabbed( false ) + : TQDialog( parent, name, modal, TQt::WStyle_StaysOnTop ), _grabbed( false ), + _disable_echo_allowed ( true ) { TQBoxLayout* top = new TQVBoxLayout( this, 6 ); TQBoxLayout* upperLayout = new TQHBoxLayout( top ); @@ -89,6 +90,8 @@ PinEntryDialog::PinEntryDialog( TQWidget* parent, const char* name, this, SIGNAL( rejected() ) ); connect( _edit, SIGNAL( textModified(const SecTQString&) ), this, SLOT( updateQuality(const SecTQString&) ) ); + connect (_edit, SIGNAL (backspacePressed()), + this, SLOT (onBackspace ())); connect (this, SIGNAL (accepted ()), this, SLOT (accept ())); connect (this, SIGNAL (rejected ()), @@ -131,6 +134,8 @@ void PinEntryDialog::updateQuality( const SecTQString & txt ) int percent; TQPalette pal; + _disable_echo_allowed = false; + if (!_have_quality_bar || !_pinentry_info) return; pin = (char*)txt.utf8(); @@ -159,6 +164,13 @@ void PinEntryDialog::updateQuality( const SecTQString & txt ) } +void PinEntryDialog::onBackspace() +{ + if (_disable_echo_allowed) + _edit->setEchoMode( SecTQLineEdit::NoEcho ); +} + + void PinEntryDialog::setDescription( const TQString& txt ) { _desc->setText( txt ); @@ -196,6 +208,8 @@ SecTQString PinEntryDialog::text() const void PinEntryDialog::setPrompt( const TQString& txt ) { _prompt->setText( txt ); + if (txt.contains("PIN")) + _disable_echo_allowed = false; } TQString PinEntryDialog::prompt() const diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h similarity index 96% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h index 8e901db2..8ec3fd5c 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/pinentrydialog.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/pinentrydialog.h @@ -1,5 +1,5 @@ /* pinentrydialog.h - A secure KDE dialog for PIN entry. - * Copyright (C) 2002 Klarälvdalens Datakonsult AB + * Copyright (C) 2002 Klarälvdalens Datakonsult AB * Written by Steffen Hansen . * * This program is free software; you can redistribute it and/or @@ -63,6 +63,7 @@ public: public slots: void updateQuality(const SecTQString &); + void onBackspace(); signals: void accepted(); @@ -86,6 +87,7 @@ private: bool _grabbed; bool _have_quality_bar; pinentry_t _pinentry_info; + bool _disable_echo_allowed; }; diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqinternal.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal.cpp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqinternal.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal.cpp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqinternal_p.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal_p.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqinternal_p.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqinternal_p.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp similarity index 99% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp index ee95c8dd..da0637a5 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.cpp +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.cpp @@ -719,6 +719,8 @@ void SecTQLineEdit::backspace() d->del( TRUE ); } d->finishChange( priorState ); + + emit backspacePressed(); } /*! diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h similarity index 99% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h index bd28cecd..126f2314 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqlineedit.h +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqlineedit.h @@ -187,6 +187,7 @@ signals: void returnPressed(); void lostFocus(); void selectionChanged(); + void backspacePressed(); protected: bool event( TQEvent * ); diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqstring.cpp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.cpp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqstring.cpp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.cpp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqstring.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tqt/secqstring.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tqt/secqstring.h diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am similarity index 96% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am index 7844bcbb..260ee390 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.am +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.am @@ -23,6 +23,6 @@ bin_PROGRAMS = pinentry-tty AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(LIBICONV) + $(COMMON_LIBS) $(LIBICONV) pinentry_tty_SOURCES = pinentry-tty.c diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in similarity index 91% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in index e2ff3d4b..2bb778f5 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-tty$(EXEEXT) subdir = tty -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -121,7 +130,7 @@ pinentry_tty_LDADD = $(LDADD) am__DEPENDENCIES_1 = pinentry_tty_DEPENDENCIES = ../pinentry/libpinentry.a \ ../secmem/libsecmem.a $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) + $(am__DEPENDENCIES_1) AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false @@ -136,7 +145,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/pinentry-tty.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -176,6 +186,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -200,6 +212,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -209,6 +223,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -222,11 +237,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -235,6 +251,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -243,6 +261,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -256,16 +276,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -315,6 +342,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -325,7 +353,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CPPFLAGS = $(COMMON_CFLAGS) -I$(top_srcdir)/secmem -I$(top_srcdir)/pinentry LDADD = ../pinentry/libpinentry.a ../secmem/libsecmem.a \ - $(COMMON_LIBS) $(LIBCAP) $(LIBICONV) + $(COMMON_LIBS) $(LIBICONV) pinentry_tty_SOURCES = pinentry-tty.c all: all-am @@ -344,14 +372,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tty/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tty/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -415,7 +442,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-tty.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pinentry-tty.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -483,7 +516,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -555,7 +591,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-tty.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -601,7 +637,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/pinentry-tty.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -621,7 +657,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -635,6 +671,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/pinentry-tty.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c similarity index 79% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/pinentry-tty.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c index 700b0f1e..c4d85c60 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/tty/pinentry-tty.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/tty/pinentry-tty.c @@ -51,14 +51,32 @@ static struct termios n_term; static struct termios o_term; static int -cbreak (int fd) +terminal_save (int fd) { - if ((tcgetattr(fd, &o_term)) == -1) + if ((tcgetattr (fd, &o_term)) == -1) return -1; + return 0; +} + +static void +terminal_restore (int fd) +{ + tcsetattr (fd, TCSANOW, &o_term); +} + +static int +terminal_setup (int fd, int line_edit) +{ n_term = o_term; - n_term.c_lflag = n_term.c_lflag & ~(ECHO|ICANON); - n_term.c_cc[VMIN] = 1; - n_term.c_cc[VTIME]= 0; + if (line_edit) + n_term.c_lflag &= ~(ECHO | ECHOE | ECHOK | ECHONL); + else + { + n_term.c_lflag &= ~(ECHO|ICANON); + n_term.c_lflag |= ISIG; + n_term.c_cc[VMIN] = 1; + n_term.c_cc[VTIME]= 0; + } if ((tcsetattr(fd, TCSAFLUSH, &n_term)) == -1) return -1; return 1; @@ -69,10 +87,32 @@ cbreak (int fd) #define ALERT_START "\033[1;31m" #define NORMAL_RESTORE "\033[0m" +static void +fputs_highlighted (char *text, char *highlight, FILE *ttyfo) +{ + for (; *text; text ++) + { + /* Skip accelerator prefix. */ + if (*text == '_') + { + text ++; + if (! *text) + break; + } + + if (text == highlight) + fputs (UNDERLINE_START, ttyfo); + fputc (*text, ttyfo); + if (text == highlight) + fputs (NORMAL_RESTORE, ttyfo); + } +} + static char button (char *text, char *default_text, FILE *ttyfo) { char *highlight; + int use_default = 0; if (! text) return 0; @@ -110,25 +150,17 @@ button (char *text, char *default_text, FILE *ttyfo) { if (! default_text) return 0; - text = highlight = default_text; + highlight = default_text; + use_default = 1; } fputs (" ", ttyfo); - for (; *text; text ++) + fputs_highlighted (text, highlight, ttyfo); + if (use_default) { - /* Skip accelerator prefix. */ - if (*text == '_') - { - text ++; - if (! *text) - break; - } - - if (text == highlight) - fputs (UNDERLINE_START, ttyfo); - fputc (*text, ttyfo); - if (text == highlight) - fputs (NORMAL_RESTORE, ttyfo); + fputs (" (", ttyfo); + fputs_highlighted (default_text, highlight, ttyfo); + fputc (')', ttyfo); } fputc ('\n', ttyfo); @@ -220,14 +252,6 @@ confirm (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) notok = button (pinentry->notok, "No", ttyfo); } - if (cbreak (fileno (ttyfi)) == -1) - { - int err = errno; - fprintf (stderr, "cbreak failure, exiting\n"); - errno = err; - return -1; - } - while (1) { int input; @@ -248,18 +272,26 @@ confirm (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) fflush (ttyfo); input = fgetc (ttyfi); - fprintf (ttyfo, "%c\n", input); - input = tolower (input); - if (input == EOF || input == 0x4) - /* End of file or control-d (= end of file). */ + if (input == EOF) { pinentry->close_button = 1; pinentry->canceled = 1; + +#ifndef HAVE_DOSISH_SYSTEM + if (!timed_out && errno == EINTR) + pinentry->specific_err = gpg_error (GPG_ERR_FULLY_CANCELED); +#endif + ret = 0; break; } + else + { + fprintf (ttyfo, "%c\n", input); + input = tolower (input); + } if (pinentry->one_button) { @@ -294,13 +326,11 @@ confirm (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) pinentry->specific_err = gpg_error (GPG_ERR_TIMEOUT); #endif - tcsetattr (fileno(ttyfi), TCSANOW, &o_term); - return ret; } static char * -read_password (FILE *ttyfi, FILE *ttyfo) +read_password (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) { int done = 0; int len = 128; @@ -309,14 +339,6 @@ read_password (FILE *ttyfi, FILE *ttyfo) (void) ttyfo; - if (cbreak (fileno (ttyfi)) == -1) - { - int err = errno; - fprintf (stderr, "cbreak failure, exiting\n"); - errno = err; - return NULL; - } - buffer = secmem_malloc (len); if (! buffer) return NULL; @@ -344,21 +366,18 @@ read_password (FILE *ttyfi, FILE *ttyfo) c = fgetc (ttyfi); switch (c) { - case 0x4: case EOF: - /* Control-d (i.e., end of file) or a real EOF. */ - done = -1; + case EOF: + done = -1; +#ifndef HAVE_DOSISH_SYSTEM + if (!timed_out && errno == EINTR) + pinentry->specific_err = gpg_error (GPG_ERR_FULLY_CANCELED); +#endif break; case '\n': done = 1; break; - case 0x7f: - /* Backspace. */ - if (count > 0) - count --; - break; - default: buffer[count ++] = c; break; @@ -366,8 +385,6 @@ read_password (FILE *ttyfi, FILE *ttyfo) } buffer[count] = '\0'; - tcsetattr (fileno(ttyfi), TCSANOW, &o_term); - if (done == -1) { secmem_free (buffer); @@ -411,7 +428,7 @@ password (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) || prompt[strlen(prompt) - 1] == '?') ? "" : ":"); fflush (ttyfo); - passphrase = read_password (ttyfi, ttyfo); + passphrase = read_password (pinentry, ttyfi, ttyfo); fputc ('\n', ttyfo); if (! passphrase) { @@ -433,7 +450,7 @@ password (pinentry_t pinentry, FILE *ttyfi, FILE *ttyfo) || prompt[strlen(prompt) - 1] == '?') ? "" : ":"); fflush (ttyfo); - passphrase2 = read_password (ttyfi, ttyfo); + passphrase2 = read_password (pinentry, ttyfi, ttyfo); fputc ('\n', ttyfo); if (! passphrase2) { @@ -495,7 +512,7 @@ do_touch_file(pinentry_t pinentry) #ifndef HAVE_DOSISH_SYSTEM static void -catchsig(int sig) +catchsig (int sig) { if (sig == SIGALRM) timed_out = 1; @@ -503,11 +520,12 @@ catchsig(int sig) #endif int -tty_cmd_handler(pinentry_t pinentry) +tty_cmd_handler (pinentry_t pinentry) { int rc = 0; FILE *ttyfi = stdin; FILE *ttyfo = stdout; + int saved_errno = 0; #ifndef HAVE_DOSISH_SYSTEM timed_out = 0; @@ -516,10 +534,11 @@ tty_cmd_handler(pinentry_t pinentry) { struct sigaction sa; - memset(&sa, 0, sizeof(sa)); + memset (&sa, 0, sizeof(sa)); sa.sa_handler = catchsig; - sigaction(SIGALRM, &sa, NULL); - alarm(pinentry->timeout); + sigaction (SIGALRM, &sa, NULL); + sigaction (SIGINT, &sa, NULL); + alarm (pinentry->timeout); } #endif @@ -527,29 +546,39 @@ tty_cmd_handler(pinentry_t pinentry) { ttyfi = fopen (pinentry->ttyname, "r"); if (!ttyfi) - rc = -1; - else + return -1; + + ttyfo = fopen (pinentry->ttyname, "w"); + if (!ttyfo) { - ttyfo = fopen (pinentry->ttyname, "w"); - if (!ttyfo) - { - int err = errno; - fclose (ttyfi); - errno = err; - rc = -1; - } + saved_errno = errno; + fclose (ttyfi); + errno = saved_errno; + return -1; } } - if (! rc) + if (terminal_save (fileno (ttyfi)) < 0) + rc = -1; + else { - if (pinentry->pin) - rc = password (pinentry, ttyfi, ttyfo); + if (terminal_setup (fileno (ttyfi), !!pinentry->pin) == -1) + { + saved_errno = errno; + fprintf (stderr, "terminal_setup failure, exiting\n"); + rc = -1; + } else - rc = confirm (pinentry, ttyfi, ttyfo); - } + { + if (pinentry->pin) + rc = password (pinentry, ttyfi, ttyfo); + else + rc = confirm (pinentry, ttyfi, ttyfo); - do_touch_file (pinentry); + terminal_restore (fileno (ttyfi)); + do_touch_file (pinentry); + } + } if (pinentry->ttyname) { @@ -557,6 +586,9 @@ tty_cmd_handler(pinentry_t pinentry) fclose (ttyfo); } + if (saved_errno) + errno = saved_errno; + return rc; } diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/Makefile.am b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.am similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/Makefile.am rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.am diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/Makefile.in b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in similarity index 92% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/Makefile.in rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in index 15efcfc1..d7acbb72 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/Makefile.in +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/Makefile.in @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.3 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2020 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -34,7 +34,17 @@ # SPDX-License-Identifier: GPL-2.0+ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -99,16 +109,15 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = pinentry-w32$(EXEEXT) subdir = w32 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/curses.m4 \ $(top_srcdir)/m4/gpg-error.m4 $(top_srcdir)/m4/iconv.m4 \ $(top_srcdir)/m4/libassuan.m4 $(top_srcdir)/m4/pkg.m4 \ - $(top_srcdir)/m4/qt.m4 $(top_srcdir)/acinclude.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/qt.m4 $(top_srcdir)/m4/qt4.m4 \ + $(top_srcdir)/acinclude.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -136,7 +145,8 @@ am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles +am__maybe_remake_depfiles = depfiles +am__depfiles_remade = ./$(DEPDIR)/main.Po am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -176,6 +186,8 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in \ + $(top_srcdir)/build-aux/depcomp DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ @@ -200,6 +212,8 @@ DEPDIR = @DEPDIR@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ +EFL_CFLAGS = @EFL_CFLAGS@ +EFL_LIBS = @EFL_LIBS@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FLTKCFLAGS = @FLTKCFLAGS@ @@ -209,6 +223,7 @@ FLTK_CONFIG = @FLTK_CONFIG@ GITLOG_TO_CHANGELOG = @GITLOG_TO_CHANGELOG@ GNOME3_CFLAGS = @GNOME3_CFLAGS@ GNOME3_LIBS = @GNOME3_LIBS@ +GPGRT_CONFIG = @GPGRT_CONFIG@ GPG_ERROR_CFLAGS = @GPG_ERROR_CFLAGS@ GPG_ERROR_CONFIG = @GPG_ERROR_CONFIG@ GPG_ERROR_LIBS = @GPG_ERROR_LIBS@ @@ -222,11 +237,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +KF5WAYLANDCLIENT_CFLAGS = @KF5WAYLANDCLIENT_CFLAGS@ +KF5WAYLANDCLIENT_LIBS = @KF5WAYLANDCLIENT_LIBS@ LDFLAGS = @LDFLAGS@ LIBASSUAN_CFLAGS = @LIBASSUAN_CFLAGS@ LIBASSUAN_CONFIG = @LIBASSUAN_CONFIG@ LIBASSUAN_LIBS = @LIBASSUAN_LIBS@ -LIBCAP = @LIBCAP@ LIBCURSES = @LIBCURSES@ LIBICONV = @LIBICONV@ LIBNCURSES = @LIBNCURSES@ @@ -235,6 +251,8 @@ LIBS = @LIBS@ LIBSECRET_CFLAGS = @LIBSECRET_CFLAGS@ LIBSECRET_LIBS = @LIBSECRET_LIBS@ LIBTERMCAP = @LIBTERMCAP@ +LIBX11_CFLAGS = @LIBX11_CFLAGS@ +LIBX11_LIBS = @LIBX11_LIBS@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBOBJS = @LTLIBOBJS@ @@ -243,6 +261,8 @@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MOC = @MOC@ MOC2 = @MOC2@ +MOC4 = @MOC4@ +MOC42 = @MOC42@ NCURSES_CFLAGS = @NCURSES_CFLAGS@ NCURSES_INCLUDE = @NCURSES_INCLUDE@ NCURSES_LIBS = @NCURSES_LIBS@ @@ -256,16 +276,23 @@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PINENTRY_DEFAULT = @PINENTRY_DEFAULT@ +PINENTRY_QT4_CFLAGS = @PINENTRY_QT4_CFLAGS@ +PINENTRY_QT4_LDFLAGS = @PINENTRY_QT4_LDFLAGS@ +PINENTRY_QT4_LIBS = @PINENTRY_QT4_LIBS@ PINENTRY_QT_CFLAGS = @PINENTRY_QT_CFLAGS@ +PINENTRY_QT_LDFLAGS = @PINENTRY_QT_LDFLAGS@ PINENTRY_QT_LIBS = @PINENTRY_QT_LIBS@ PINENTRY_QT_REQUIRE_CPP11_CFLAGS = @PINENTRY_QT_REQUIRE_CPP11_CFLAGS@ PINENTRY_QT_REQUIRE_CPP11_LIBS = @PINENTRY_QT_REQUIRE_CPP11_LIBS@ +PINENTRY_QT_X11_EXTRAS_CFLAGS = @PINENTRY_QT_X11_EXTRAS_CFLAGS@ +PINENTRY_QT_X11_EXTRAS_LIBS = @PINENTRY_QT_X11_EXTRAS_LIBS@ PINENTRY_TQT_CFLAGS = @PINENTRY_TQT_CFLAGS@ PINENTRY_TQT_LIBS = @PINENTRY_TQT_LIBS@ PKG_CONFIG = @PKG_CONFIG@ QTCHOOSER = @QTCHOOSER@ RANLIB = @RANLIB@ -SETCAP = @SETCAP@ +RCC = @RCC@ +RCC2 = @RCC2@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -315,6 +342,7 @@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ +runstatedir = @runstatedir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ @@ -352,14 +380,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu w32/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu w32/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -423,7 +450,13 @@ mostlyclean-compile: distclean-compile: -rm -f *.tab.c -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ # am--include-marker + +$(am__depfiles_remade): + @$(MKDIR_P) $(@D) + @echo '# dummy' >$@-t && $(am__mv) $@-t $@ + +am--depfiles: $(am__depfiles_remade) .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @@ -491,7 +524,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -563,7 +599,7 @@ clean: clean-am clean-am: clean-binPROGRAMS clean-generic mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -609,7 +645,7 @@ install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) + -rm -f ./$(DEPDIR)/main.Po -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic @@ -629,7 +665,7 @@ uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ +.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \ clean-binPROGRAMS clean-generic cscopelist-am ctags ctags-am \ distclean distclean-compile distclean-generic distclean-tags \ distdir dvi dvi-am html html-am info info-am install \ @@ -643,6 +679,8 @@ uninstall-am: uninstall-binPROGRAMS ps ps-am tags tags-am uninstall uninstall-am \ uninstall-binPROGRAMS +.PRECIOUS: Makefile + pinentry-w32.o: pinentry-w32.rc resource.h $(logos) $(WINDRES) -I.. -v -o $@ $< diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-128.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-128.bmp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-128.bmp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-128.bmp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-32.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-32.bmp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-32.bmp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-32.bmp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-48.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-48.bmp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-48.bmp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-48.bmp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-64.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-64.bmp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-64.bmp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-64.bmp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-96.bmp b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-96.bmp similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/logo-96.bmp rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/logo-96.bmp diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/main.c b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c similarity index 99% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/main.c rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c index 0b3d702b..d8a48339 100644 --- a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/main.c +++ b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/main.c @@ -83,7 +83,6 @@ w32_strerror (int ec) /* There is only a wchar_t FormatMessage. It does not make much sense to play the conversion game; we print only the code. */ snprintf (strerr, sizeof strerr, "ec=%d", ec); - strerr[sizeof strerr -1] = 0; #else FormatMessage (FORMAT_MESSAGE_FROM_SYSTEM, NULL, ec, MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/pinentry-w32.rc b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/pinentry-w32.rc similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/pinentry-w32.rc rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/pinentry-w32.rc diff --git a/debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/resource.h b/debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/resource.h similarity index 100% rename from debian/pinentry-tqt/pinentry-tqt-1.1.0/w32/resource.h rename to debian/pinentry-tqt/pinentry-tqt-1.2.1/w32/resource.h diff --git a/debian/pinentry-tqt/pinentry-tqt_1.1.0.orig.tar.bz2 b/debian/pinentry-tqt/pinentry-tqt_1.1.0.orig.tar.bz2 deleted file mode 100644 index 76a7534b..00000000 Binary files a/debian/pinentry-tqt/pinentry-tqt_1.1.0.orig.tar.bz2 and /dev/null differ diff --git a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 new file mode 100644 index 00000000..cfa3e579 Binary files /dev/null and b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2 differ diff --git a/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc new file mode 100644 index 00000000..426d62e9 --- /dev/null +++ b/debian/pinentry-tqt/pinentry-tqt_1.2.1.orig.tar.bz2.asc @@ -0,0 +1,9 @@ +-----BEGIN PGP SIGNATURE----- + +iHUEABYIAB0WIQRtqm5kp20oQFcbSQJSiJe4JkA62gUCYwYDUwAKCRBSiJe4JkA6 +2oLvAQDnnCjGuMWl2Q2OhNWTJ+xCSh98qjbCJhhPh0XdlYYllAEAgpwKE8j8zhb8 +bpWiye8YMK73S52u22spIO1fOzXH0QKIdQQAFggAHRYhBKyOEVv3Pi2NR/qZCOmO +my0Zxsi9BQJjBw2vAAoJEOmOmy0Zxsi9gg0BAMw2ynU0fU0kDoi6zce44On7VmXE +9MMvpki4BbfW9yvmAQCzzRirV3k/NY3fMVC+T9OFQV6KEpBCSd8I2dQ6v79WDw== +=WKvZ +-----END PGP SIGNATURE-----