summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2019-12-30 06:39:44 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2019-12-30 06:39:44 +0000
commitde6e6f496b5671f2771c3bbbd4be9f61ff29b101 (patch)
treeb733b93943599b23bef18584e0fde969694cf325
parentAdding upstream version 1.1.0. (diff)
downloadpinentry-de6e6f496b5671f2771c3bbbd4be9f61ff29b101.tar.xz
pinentry-de6e6f496b5671f2771c3bbbd4be9f61ff29b101.zip
Adding debian version 1.1.0-3.debian/1.1.0-3debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
-rw-r--r--debian/README.Debian58
-rw-r--r--debian/changelog435
-rw-r--r--debian/clean2
-rw-r--r--debian/control222
-rw-r--r--debian/copyright167
-rw-r--r--debian/gbp.conf21
-rw-r--r--debian/not-installed1
-rw-r--r--debian/patches/0001-avoid-self-describing-as-a-beta.patch49
-rw-r--r--debian/patches/0003-Fix-format-string-errors-in-fltk-pinentry.patch38
-rw-r--r--debian/patches/0004-gnome3-Use-the-default-dbus-timeout-when-checking-fo.patch42
-rw-r--r--debian/patches/0005-gnome3-correctly-detect-when-no-GNOME-screenlock-exi.patch37
-rw-r--r--debian/patches/0006-qt-Fix-use-of-dangling-pointer-in-QApplication.patch49
-rw-r--r--debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch62
-rw-r--r--debian/patches/series6
-rw-r--r--debian/pinentry-curses.179
-rw-r--r--debian/pinentry-curses.install1
-rw-r--r--debian/pinentry-curses.manpages1
-rw-r--r--debian/pinentry-curses.postinst11
-rw-r--r--debian/pinentry-curses.prerm9
-rw-r--r--debian/pinentry-doc.info1
-rw-r--r--debian/pinentry-fltk.177
-rw-r--r--debian/pinentry-fltk.install1
-rw-r--r--debian/pinentry-fltk.manpages1
-rw-r--r--debian/pinentry-fltk.postinst14
-rw-r--r--debian/pinentry-fltk.prerm10
-rw-r--r--debian/pinentry-gnome3.177
-rw-r--r--debian/pinentry-gnome3.install1
-rw-r--r--debian/pinentry-gnome3.manpages1
-rw-r--r--debian/pinentry-gnome3.postinst14
-rw-r--r--debian/pinentry-gnome3.prerm10
-rw-r--r--debian/pinentry-gtk-2.177
-rw-r--r--debian/pinentry-gtk2.NEWS16
-rw-r--r--debian/pinentry-gtk2.install1
-rw-r--r--debian/pinentry-gtk2.manpages1
-rw-r--r--debian/pinentry-gtk2.postinst14
-rw-r--r--debian/pinentry-gtk2.prerm10
-rw-r--r--debian/pinentry-qt.177
-rw-r--r--debian/pinentry-qt.install1
-rw-r--r--debian/pinentry-qt.manpages1
-rw-r--r--debian/pinentry-qt.postinst14
-rw-r--r--debian/pinentry-qt.prerm10
-rw-r--r--debian/pinentry-qt4.links2
-rw-r--r--debian/pinentry-qt4.postinst14
-rw-r--r--debian/pinentry-qt4.prerm10
-rw-r--r--debian/pinentry-tty.182
-rw-r--r--debian/pinentry-tty.install1
-rw-r--r--debian/pinentry-tty.manpages1
-rw-r--r--debian/pinentry-tty.postinst11
-rw-r--r--debian/pinentry-tty.prerm9
-rwxr-xr-xdebian/rules38
-rw-r--r--debian/source/format1
-rw-r--r--debian/tests/control2
-rwxr-xr-xdebian/tests/simple-tty60
-rw-r--r--debian/upstream/signing-key.asc29
-rw-r--r--debian/watch5
55 files changed, 1984 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..0ca925e
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,58 @@
+PIN entry for Debian
+--------------------
+
+This package and its sibling packages are intended to be used as a
+pass-phrase entry dialog for the program gpg-agent (Debian package
+gnupg-agent). To configure gpg-agent to use one of the provided
+pinentry programs, put something like this into your
+~/.gnupg/gpg-agent.conf:
+
+ pinentry-program /usr/bin/pinentry-FLAVOR
+
+You have the following pinentry variants to choose from:
+
+/usr/bin/pinentry
+ Generic name that points, via the Debian alternatives system, to
+ the "best" installed PIN entry program. gpg-agent uses this by
+ default.
+
+/usr/bin/pinentry-x11
+ Generic name that points, via the Debian alternatives system, to
+ the "best" installed PIN entry program with X11 support (that is,
+ one of the GTK+ or Qt flavors).
+
+/usr/bin/pinentry-curses
+ Text-mode PIN entry program that uses the curses tool kit (package
+ pinentry-curses).
+
+/usr/bin/pinentry-gtk-2
+ Graphical PIN entry program that uses the GTK+ tool kit version 2
+ (package pinentry-gtk2).
+
+/usr/bin/pinentry-qt4
+ Graphical PIN entry program that uses the Qt tool kit version 4
+ (package pinentry-qt4).
+
+The programs pinentry-gtk-2 and pinentry-qt4 automatically fall back
+to the curses interface if no X Window System is available. So for
+example, if you frequently switch between text mode and KDE, and you
+want to use both Mutt and KMail with GnuPG pass-phrase agent support,
+then configuring /usr/bin/pinentry-qt4 would work. (In this case,
+leaving it at /usr/bin/pinentry would also work, since pinentry-qt4 is
+the preferred alternative overall, but if you prefer to use, say,
+pinentry-gtk-2, then you need to set it up explicitly (or manually
+alter the alternatives system; the possibilities abound).)
+
+Note that while pinentry-curses will work in some cases in a
+non-graphical environment, it is likely to fail when used while
+sharing a tty with a terminal-intensive program like emacs. If a
+graphical pinentry isn't possible, the recommended workaround is to
+have a curses-based pinentry attached to a separate pseudoterminal.
+(see https://dev.gnupg.org/T3217 for more details)
+
+Note that for the complete system to work, you also need to configure
+GnuPG to use the gpg-agent to get the pass phrases, and you need to
+configure your e-mail client to use GnuPG. These issues are not
+covered here.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net>, Sun, 6 Aug 2017 23:52:43 -0400
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..2ff047a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,435 @@
+pinentry (1.1.0-3) unstable; urgency=medium
+
+ * Standards-Version: bump to 4.4.0 (no changes needed)
+ * move to debhelper 12
+ * apply upstream qt bugfix
+ * ship the version of pinentry.info installed (not from the source)
+ * avoid spuriously flagging /usr/bin/pinentry as not-installed
+ * drop shlibs:Depends from Arch: all pinentry-{doc,qt4} packages
+ * use dh_missing --fail-missing
+ * minimize debian/upstream/signing-key.asc
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 26 Jul 2019 20:37:37 -0400
+
+pinentry (1.1.0-2) unstable; urgency=medium
+
+ * use DEP-14 branch naming
+ * d/control: add Rules-Requires-Root: no
+ * standards-version: update to 4.3.0 (no changes needed)
+ * Test screenlock correctly from pinentry-gnome3 (Closes: #927105)
+ Thanks, Zephaniah E. Loss-Cutler-Hull!
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 17 Apr 2019 14:42:10 -0400
+
+pinentry (1.1.0-1) unstable; urgency=medium
+
+ * new upstream release
+ - added pinentry-fltk package
+ * move to debhelper 11
+ * Standards-Version: bump to 4.1.3 (no changes needed)
+ * d/control: move Vcs*: to salsa
+ * d/copyright: Format: use https
+ * use https to point to upstream source
+ * d/changelog: strip trailing whitespace
+ * doc/pinentry.info is a generated file, drop it during import-orig
+ * drop patches already applied upstream, refresh remaining patches
+ * document tqt and fltk licensing
+ * fix formatting escapes in fltk
+ * clean up doc/pinentry.info
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Feb 2018 20:18:30 -0500
+
+pinentry (1.0.0-3) unstable; urgency=medium
+
+ * added notes about how pinentry-curses is not intended
+ to work alongside emacs
+ * import improvements and bugfixes from upstream
+ * wrap-and-sort -ast
+ * Stanards-Version: update to 4.1.0 (no changes needed)
+ * drop unnecessary build-dep on autoreconf
+ * build-depend on pkg-config
+ * create simple autopkgtest for pinentry-tty
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 26 Sep 2017 17:52:43 -0400
+
+pinentry (1.0.0-2) unstable; urgency=medium
+
+ * fix documentation typos (Closes: #665879)
+ * pinentry-gnome3: Ask for new passwords twice (Closes: #851277)
+ * normalize window title behavior across graphical variants
+ * pinentry-gtk-2: busy-wait while pointer is already grabbed (Closes: #850708)
+ * pinentry-gtk-2: retry input grab based on real time delay (Closes: #851707)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 06 Feb 2017 03:56:27 -0500
+
+pinentry (1.0.0-1) unstable; urgency=medium
+
+ * New upstream release.
+ * removed most patches, already imported upstream.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Dec 2016 22:24:12 -0500
+
+pinentry (0.9.7-9) unstable; urgency=medium
+
+ * more upstream patches (pinentry-gnome3 now falls back to curses when
+ screen is locked)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 08 Nov 2016 14:02:47 -0600
+
+pinentry (0.9.7-8) unstable; urgency=medium
+
+ * more patches from upstream
+ * reduce work for the buildds by avoiding some duplicated builds.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sat, 05 Nov 2016 23:28:59 -0400
+
+pinentry (0.9.7-7) unstable; urgency=medium
+
+ * update debian/watch to use https
+ * cleanup patches from upstream
+ * pinentry-gnome3: improve fallback to curses (Closes: #841909)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 04 Nov 2016 23:50:45 -0400
+
+pinentry (0.9.7-6) unstable; urgency=medium
+
+ * included several patches from upstream
+ * bumped to debhelper 10
+ * p-gnome3 Recommends: dbus-user-session (addresses: #801247)
+ * added texinfo to build-dependencies for /usr/bin/makeinfo
+ * added bindnow hardening flag
+ * bumped standards-version to 3.9.8 (no changes needed)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 11 Oct 2016 15:52:08 -0400
+
+pinentry (0.9.7-5) unstable; urgency=medium
+
+ * use https for Vcs-* fields
+ * bump standards-version to 3.9.7
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sun, 21 Feb 2016 09:53:59 -0800
+
+pinentry (0.9.7-4) unstable; urgency=medium
+
+ * avoid pinentry failures when bound to libsecret and the secret service
+ is not running. Thanks, Stef Walter.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sat, 20 Feb 2016 14:36:43 -0500
+
+pinentry (0.9.7-3) unstable; urgency=medium
+
+ * build -tty, -curses, and -qt without libsecret (Closes: #787883)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Feb 2016 18:13:01 -0500
+
+pinentry (0.9.7-2) unstable; urgency=medium
+
+ * avoid use-after-free in QT pw quality calculation (patch from upstream)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Feb 2016 16:53:15 -0500
+
+pinentry (0.9.7-1) unstable; urgency=medium
+
+ * New upstream release.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 04 Jan 2016 10:44:50 -0500
+
+pinentry (0.9.6-4) unstable; urgency=medium
+
+ * make pinentry-qt use qt5 by default. (Closes: #802936)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 28 Oct 2015 14:22:02 -0400
+
+pinentry (0.9.6-3) unstable; urgency=medium
+
+ * added NEWS entry for pinentry-gtk2 (Closes: #801757)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 19 Oct 2015 20:40:16 -0400
+
+pinentry (0.9.6-2) unstable; urgency=medium
+
+ * dummy/transitional pinentry-qt4 package: update alternatives
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 05 Oct 2015 17:35:46 -0400
+
+pinentry (0.9.6-1) unstable; urgency=medium
+
+ * New upstream release
+ * fix pinentry-tty description typo (Closes: #798944)
+ Thanks, Yuri D'Elia
+ * introduce new pinentry-qt, which people should use instead of
+ pinentry-qt4.
+ * pinentry-qt4 is now a dummy transitional package.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 01 Oct 2015 19:04:24 -0700
+
+pinentry (0.9.5-4) unstable; urgency=medium
+
+ * use -std=gnu++11 for pinentry-qt4 (Closes: #795175)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 11 Aug 2015 13:03:19 -0400
+
+pinentry (0.9.5-3) unstable; urgency=medium
+
+ * added dependency from pinentry-gnome3 to gcr (Closes: #791379)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 05 Aug 2015 00:39:02 -0400
+
+pinentry (0.9.5-2) unstable; urgency=medium
+
+ * disable emacs and emacs-fallback until we get a better description of
+ them in the upstream documentation
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 07 Jul 2015 14:43:33 -0400
+
+pinentry (0.9.5-1) unstable; urgency=medium
+
+ * new upstream release
+ * build-depends on libgpg-error and libassuan now
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 02 Jul 2015 18:01:23 -0400
+
+pinentry (0.9.4-2) unstable; urgency=medium
+
+ * rely on user's choice of password-manager with pinentry-gnome3
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Tue, 09 Jun 2015 07:12:16 -0400
+
+pinentry (0.9.4-1) unstable; urgency=medium
+
+ * New upstream version (most d/patches applied upstream)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Fri, 05 Jun 2015 17:33:37 -0400
+
+pinentry (0.9.3-3) unstable; urgency=medium
+
+ * fix secmem buffer over-clearing (Closes: #787690)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 04 Jun 2015 23:48:26 -0400
+
+pinentry (0.9.3-2) unstable; urgency=medium
+
+ * fix pinentry-curses text entry (Closes: #787639)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 03 Jun 2015 13:25:16 -0400
+
+pinentry (0.9.3-1) unstable; urgency=medium
+
+ * New upstream release.
+ * Help pinentry-qt4 show up above existing windows (Closes: #581617)
+ * add new pinentry-gnome3 package.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 01 Jun 2015 19:09:28 -0400
+
+pinentry (0.9.2-1) unstable; urgency=medium
+
+ [ Eric Dorland ]
+ * debian/rules: Install README.Debian in all packages instead of using
+ symlinks.
+
+ [ Daniel Kahn Gillmor ]
+ * new upstream version (Closes: #516489)
+ * add pinentry-tty package (Closes: #782888)
+ * debian/copyright: use DEP5
+ * use --enable-pinentry-qt4-clipboard (Closes: #637029)
+ * terminate politely if TTY vanishes (Closes: #559936)
+ * use dh-autoreconf
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Wed, 13 May 2015 11:45:38 -0400
+
+pinentry (0.9.1-1) experimental; urgency=medium
+
+ * New Upstream Release
+ * Bringing package under team maintenance, with Peter's agreement.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Sun, 12 Apr 2015 15:29:35 -0400
+
+pinentry (0.9.0-0.1) experimental; urgency=medium
+
+ * Non-maintainer upload
+ * new upstream release (Closes: #765532)
+ * bumped Standards-Version to 3.9.6 (no changes needed)
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 06 Nov 2014 17:53:20 -0500
+
+pinentry (0.8.3-2) unstable; urgency=medium
+
+ * Added libncursesw5-dev to build dependencies (closes: #728512,
+ #733268, #734179)
+
+ -- Peter Eisentraut <petere@debian.org> Thu, 23 Jan 2014 22:28:38 -0500
+
+pinentry (0.8.3-1) unstable; urgency=medium
+
+ * New upstream release (closes: #731494)
+ * Updated watch file
+ * Updated standards version
+
+ -- Peter Eisentraut <petere@debian.org> Sun, 15 Dec 2013 22:01:20 -0500
+
+pinentry (0.8.1-1) unstable; urgency=low
+
+ * New upstream release
+ - keyboard-race.patch incorporated upstream
+ - Fixed segmentation fault in pinentry-gtk2 (closes: #584947)
+ * Removed Qt 3 variant (closes: #604369)
+ * Updated standards version
+ * Changed to debhelper level 8
+
+ -- Peter Eisentraut <petere@debian.org> Wed, 16 Feb 2011 20:18:53 +0200
+
+pinentry (0.8.0-1) unstable; urgency=low
+
+ * New upstream release
+ * Changed source format to 3.0 (quilt)
+ * Updated standards version
+
+ -- Peter Eisentraut <petere@debian.org> Thu, 18 Mar 2010 23:36:51 +0200
+
+pinentry (0.7.6-1) unstable; urgency=low
+
+ * New upstream release
+ - Includes Qt 4 variant, formerly in separate source package pinentry-qt4
+ - Obsoletes gmalloc-prototypes.patch
+ - Made Gtk+-2 pinentry transient to the root window (closes: #445607)
+ * Changed copyright file to refer to GPL-2 file, per lintian
+ * Updated standards version
+ * Changed to debhelper level 7 and minimal version 7.2.17, to avoid obsolete
+ calls to install-info
+
+ -- Peter Eisentraut <petere@debian.org> Mon, 13 Jul 2009 22:38:41 +0300
+
+pinentry (0.7.5-3) unstable; urgency=low
+
+ * Converted patches to quilt
+ * Updated standards version
+ * Dropped pinentry-gtk package (closes: #510740)
+
+ -- Peter Eisentraut <petere@debian.org> Tue, 10 Feb 2009 22:32:43 +0200
+
+pinentry (0.7.5-2.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * gtk+-2/pinentry-gtk-2.c: apply patch to avoid keyboard grab race on SMP
+ systems (closes: #401957).
+
+ -- Pierre Habouzit <madcoder@debian.org> Mon, 20 Oct 2008 15:11:18 +0200
+
+pinentry (0.7.5-2) unstable; urgency=high
+
+ * gtk+-2/gtksecentry.c: Adjusted the g_*malloc*() overrides to have the same
+ prototype as glib, to fix FTBFS (closes: #471613)
+ * debian/control: Added Build-Depends on libglib2.0-dev (>= 2.15.5) to make
+ sure we don't run into the old prototypes of g_*malloc*()
+
+ -- Peter Eisentraut <petere@debian.org> Tue, 29 Apr 2008 11:41:54 +0200
+
+pinentry (0.7.5-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Peter Eisentraut <petere@debian.org> Sun, 17 Feb 2008 15:50:05 +0100
+
+pinentry (0.7.4-2) unstable; urgency=low
+
+ * debian/copyright: converted to UTF-8 (closes: #455738)
+ * Changed section of pinentry-doc to doc
+ * debian/watch: force passive FTP, since ftp.gnupg.org seems unhappy with
+ active (closes: #456468)
+
+ -- Peter Eisentraut <petere@debian.org> Fri, 21 Dec 2007 14:53:11 +0100
+
+pinentry (0.7.4-1) unstable; urgency=low
+
+ * New upstream release
+ * Added Homepage control field
+ * Updated standards version
+ * Added configure option --without-libcap to get consistent builds
+
+ -- Peter Eisentraut <petere@debian.org> Mon, 10 Dec 2007 13:33:34 +0100
+
+pinentry (0.7.3-1) unstable; urgency=low
+
+ * New upstream release
+ - Fixes segfault after confirm in pinentry-curses (closes: #311410)
+ * Updated standards version
+ * Changed to Debhelper level 5
+ * Cleaned up build rules
+
+ -- Peter Eisentraut <petere@debian.org> Tue, 17 Jul 2007 17:47:46 +0200
+
+pinentry (0.7.2-3) unstable; urgency=low
+
+ * Added linker option --as-needed
+
+ -- Peter Eisentraut <petere@debian.org> Fri, 25 Nov 2005 21:12:12 +0100
+
+pinentry (0.7.2-2) unstable; urgency=low
+
+ * Changed maintainer address
+ * Updated standards version
+ * Rebuilt for new C++ ABI (closes: #324548)
+ * Tightened dependency on libgtk2.0-dev
+
+ -- Peter Eisentraut <petere@debian.org> Mon, 29 Aug 2005 21:25:48 +0200
+
+pinentry (0.7.2-1) unstable; urgency=low
+
+ * New upstream release
+ * Added new -gtk2 flavor.
+ * Build dependencies revised accordingly.
+ * Added more copyright holders to debian/copyright.
+ * Removed compatibility symlinks.
+ * Converted to CDBS.
+
+ -- Peter Eisentraut <peter_e@gmx.net> Thu, 27 Jan 2005 19:10:07 +0100
+
+pinentry (0.7.1-5) unstable; urgency=low
+
+ * Actually apply the dpatches
+ * Removed no longer needed pinentry-cppflags patch
+
+ -- Peter Eisentraut <peter_e@gmx.net> Tue, 9 Nov 2004 22:27:14 +0100
+
+pinentry (0.7.1-4) unstable; urgency=low
+
+ * Converted to dpatch
+ * Moved programs to /usr/bin, made compatibility symlinks in
+ /usr/lib/pinentry
+ * Added Provides: pinentry, pinentry-x11 (closes: #274708)
+ * Created pinentry, pinentry-x11 alternatives (closes: #275711)
+ * Wrote man pages
+ * Use m4 to create the debhelper control files
+ * Added Enhances: gnupg-agent
+ * Use --disable-dependency-tracking
+
+ -- Peter Eisentraut <peter_e@gmx.net> Sun, 10 Oct 2004 11:37:51 +0200
+
+pinentry (0.7.1-3) unstable; urgency=low
+
+ * Suggestions by Martin Pitt...
+ * Removed stale pinentry.substvars
+ * Changed pinentry-doc Recommends to Suggests
+ * Changed pinentry-doc to architecture-independent
+ * Added -g to CXXFLAGS
+ * Removed empty maintainer scripts
+ * Fixed configure build and host options as suggested by autotools-dev
+
+ -- Peter Eisentraut <peter_e@gmx.net> Mon, 21 Jun 2004 09:17:23 +0200
+
+pinentry (0.7.1-2) unstable; urgency=low
+
+ * Revised synopses and descriptions
+ * Revised Debian.README
+ * Added watch file
+ * Enabled curses fallback
+ * Put Build-Depends onto one line only
+
+ -- Peter Eisentraut <peter_e@gmx.net> Sun, 06 Jun 2004 16:53:05 +0200
+
+pinentry (0.7.1-1) unstable; urgency=low
+
+ * Initial public release (closes: #187546, #214578).
+ * Added missing include file path in qt/Makefile.am.
+
+ -- Peter Eisentraut <peter_e@gmx.net> Fri, 07 May 2004 11:07:25 +0200
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..e06b79e
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,2 @@
+build-no-libsecret/
+doc/pinentry.info
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..4236b46
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,222 @@
+Source: pinentry
+Section: utils
+Priority: optional
+Maintainer: Debian GnuPG Maintainers <pkg-gnupg-maint@lists.alioth.debian.org>
+Uploaders:
+ Peter Eisentraut <petere@debian.org>,
+ Daniel Kahn Gillmor <dkg@fifthhorseman.net>,
+Build-Depends:
+ debhelper-compat (= 12),
+ libassuan-dev (>= 2.1.0),
+ libfltk1.3-dev,
+ libgcr-3-dev,
+ libglib2.0-dev (>= 2.15.5),
+ libgpg-error-dev (>= 1.16),
+ libgtk2.0-dev (>= 2.4.0),
+ libncurses5-dev,
+ libncursesw5-dev,
+ libsecret-1-dev,
+ m4,
+ pkg-config,
+ qtbase5-dev,
+ texinfo,
+Standards-Version: 4.4.0
+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
+Rules-Requires-Root: no
+
+Package: pinentry-curses
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+Enhances:
+ gnupg-agent,
+Description: curses-based PIN or pass-phrase entry dialog for GnuPG
+ This package contains a program that allows for secure entry of PINs or
+ pass phrases. That means it tries to take care that the entered
+ information is not swapped to disk or temporarily stored anywhere.
+ This functionality is particularly useful for entering pass phrases
+ when using encryption software such as GnuPG or e-mail clients using
+ the same. It uses an open protocol and is therefore not tied to
+ particular software.
+ .
+ The program contained in this package implements a PIN entry dialog
+ using the curses tool kit, meaning that it is useful for users
+ working in text mode without the X Window System. There are sibling
+ packages that implement PIN entry dialogs that use an X tool kit. If
+ you install any of the graphical packages then this package is not
+ necessary because the sibling packages automatically fall back to
+ text mode if X is not active.
+
+Package: pinentry-tty
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+Enhances:
+ gnupg-agent,
+Description: minimal dumb-terminal PIN or pass-phrase entry for GnuPG
+ This package contains a program that allows for secure entry of PINs or
+ pass phrases. That means it tries to take care that the entered
+ information is not swapped to disk or temporarily stored anywhere.
+ This functionality is particularly useful for entering pass phrases
+ when using encryption software such as GnuPG or e-mail clients using
+ the same. It uses an open protocol and is therefore not tied to
+ particular software.
+ .
+ The program contained in this package implements a PIN entry prompt
+ that interacts directly with the controlling terminal. It has
+ minimal dependencies, meaning that it is useful for users working
+ with dumb terminals or similarly constrained environments. There are
+ sibling packages that implement PIN entry dialogs that use curses for
+ friendlier text-mode inputs on non-dumb terminals, and other sibling
+ packages that provide PIN entry dialogs using an X tool kit.
+
+Package: pinentry-qt
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+ pinentry-x11,
+Enhances:
+ gnupg-agent,
+Description: Qt-based PIN or pass-phrase entry dialog for GnuPG
+ This package contains a program that allows for entry of PINs or pass
+ phrases. It is useful for entering pass phrases when using encryption
+ software such as GnuPG or e-mail clients using the same. It uses an open
+ protocol and is therefore not tied to particular software.
+ .
+ The program contained in this package implements a PIN entry dialog
+ using the Qt tool kit, so it is especially suitable for users of KDE.
+ If the X Window System is not active then an alternative text-mode
+ dialog will be used. There are sibling packages that implement PIN
+ entry dialogs using other tool kits.
+
+Package: pinentry-qt4
+Architecture: all
+Depends:
+ pinentry-qt (>= ${binary:Version}),
+ ${misc:Depends},
+Description: Qt-based PIN or pass-phrase entry dialog for GnuPG (transitional dummy package)
+ Pinentry is a program for secure entry of PINs and passphrases, from
+ the GnuPG project.
+ .
+ This package installs a symbolic link from pinentry-qt4 to
+ pinentry-qt. You should switch to using pinentry-qt instead.
+
+Package: pinentry-gtk2
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+ pinentry-x11,
+Enhances:
+ gnupg-agent,
+Description: GTK+-2-based PIN or pass-phrase entry dialog for GnuPG
+ This package contains a program that allows for secure entry of PINs or
+ pass phrases. That means it tries to take care that the entered
+ information is not swapped to disk or temporarily stored anywhere.
+ This functionality is particularly useful for entering pass phrases
+ when using encryption software such as GnuPG or e-mail clients using
+ the same. It uses an open protocol and is therefore not tied to
+ particular software.
+ .
+ The program contained in this package implements a PIN entry dialog
+ using the GTK+ tool kit version 2. If the X Window System is not
+ active then an alternative text-mode dialog will be used. There are
+ sibling packages that implement PIN entry dialogs using other tool
+ kits.
+
+Package: pinentry-fltk
+Architecture: any
+Depends:
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+ pinentry-x11,
+Enhances:
+ gnupg-agent,
+Description: FLTK-based PIN or pass-phrase entry dialog for GnuPG
+ This package contains a program that allows for secure entry of PINs or
+ pass phrases. That means it tries to take care that the entered
+ information is not swapped to disk or temporarily stored anywhere.
+ This functionality is particularly useful for entering pass phrases
+ when using encryption software such as GnuPG or e-mail clients using
+ the same. It uses an open protocol and is therefore not tied to
+ particular software.
+ .
+ The program contained in this package implements a PIN entry dialog
+ using the Fast Light Toolkit version 1.3. If the X Window System is
+ not active then an alternative text-mode dialog will be used. There
+ are sibling packages that implement PIN entry dialogs using other
+ tool kits.
+
+Package: pinentry-gnome3
+Architecture: any
+Depends:
+ gcr,
+ ${misc:Depends},
+ ${shlibs:Depends},
+Suggests:
+ pinentry-doc,
+Provides:
+ pinentry,
+ pinentry-x11,
+Recommends:
+ dbus-user-session,
+Enhances:
+ gnupg-agent,
+Description: GNOME 3 PIN or pass-phrase entry dialog for GnuPG
+ This package contains a program that allows for secure entry of PINs or
+ pass phrases. That means it tries to take care that the entered
+ information is not swapped to disk or temporarily stored anywhere.
+ This functionality is particularly useful for entering pass phrases
+ when using encryption software such as GnuPG or e-mail clients using
+ the same. It uses an open protocol and is therefore not tied to
+ particular software.
+ .
+ The program contained in this package implements a PIN entry dialog
+ designed for use with GNOME 3. It tries to follow the GNOME Human
+ Interface Guidelines as much as possible. If the X Window System is
+ not active then an alternative text-mode dialog will be used. There
+ are sibling packages that implement PIN entry dialogs using other
+ tool kits.
+
+Package: pinentry-doc
+Section: doc
+Architecture: all
+Depends:
+ ${misc:Depends},
+Suggests:
+ pinentry-curses,
+ pinentry-gnome3,
+ pinentry-gtk2,
+ pinentry-qt4,
+Description: documentation for pinentry packages
+ This package contains the documentation for the pinentry packages,
+ a suite of programs that allow secure entry of PINs or pass phrases.
+ If you have one of the pinentry packages installed then you may want
+ to install this package as well, but the documentation mostly concerns
+ the internal protocol and is therefore not necessary for the casual
+ user.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..a00f024
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,167 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Pinentry
+Upstream-Contact: gnupg-devel@gnupg.org
+Source: https://gnupg.org/ftp/gcrypt/pinentry/
+
+Files: *
+Copyright: 2002-2015, g10 Code GmbH
+License: GPL-2+
+
+Files: fltk/*
+Copyright: 2016 Anatoly madRat L. Berenblit
+License: GPL-2+
+
+Files: tqt/Makefile.am tqt/main.cpp tqt/pinentrydialog.h tqt/pinentrydialog.cpp
+Copyright: 2002-2015 g10 Code GmbH
+ 2002 Klarälvdalens Datakonsult AB
+License: GPL-2+
+
+Files: tqt/secqinternal.cpp tqt/secqinternal_p.h
+Copyright: 1992-2000 Trolltech AS
+License: GPL-2
+
+Files: tqt/secqlineedit.cpp tqt/secqlineedit.h tqt/secqstring.cpp tqt/secqstring.h
+Copyright: 1992-2002 Trolltech AS
+ 2003 g10 Code GmbH
+License: GPL-2
+
+Files: build-aux/* depcomp doc/mdate-sh doc/texinfo.tex m4/curses.m4 m4/iconv.m4 missing secmem/secmem.c
+Copyright: 1996-2007, Free Software Foundation
+License: GPL-2+
+
+Files: install-sh
+Copyright: 1994 X Consortium
+License: X11
+
+Files: gtk+-2/pinentry-gtk-2.c
+Copyright: 1999 Robert Bihlmeyer <robbe@orcus.priv.at>
+ 2001, 2002, 2007 g10 Code GmbH
+ 2004 Albrecht Dreß
+License: GPL-2+
+
+Files: m4/pkg.m4
+Copyright: 2004 Scott James Remnant <scott@netsplit.com>
+License: GPL-2+
+
+Files: m4/qt.m4
+Copyright: 1997 Janos Farkas (chexum@shadow.banki.hu)o
+ 1997,98,99 Stephan Kulow (coolo@kde.org)
+ 2002 g10 Code GmbH
+License: GPL-2+
+
+Files: pinentry/argparse.c
+Copyright: 1998-2001, 2006-2008, 2012 Free Software Foundation, Inc.
+ 1997-2001, 2006-2008, 2013-2015 Werner Koch
+License: LGPL-3+ or GPL-2+
+
+Files: configure.ac secmem/util.*
+Copyright: 1999, Robert Bihlmeyer <robbe@orcus.priv.at>
+ 2001, 2002, 2003, 2004, 2007 g10 Code GmbH
+License: GPL-2+
+
+Files: secmem/memory.h
+Copyright: 1998,1999 Free Software Foundation, Inc.
+ 1999,2000 Robert Bihlmeyer <robbe@orcus.priv.at>
+License: GPL-2+
+
+Files: secmem/secmem++.h
+Copyright: 2008 Marc Mutz <marc@kdab.com>
+License: GPL-2+
+
+Files: tty/pinentry-tty.c
+Copyright: 2014 Serge Voilokov
+License: GPL-2+
+
+Files: qt/pinentrydialog.*
+Copyright: 2002, 2008 Klarälvdalens Datakonsult AB <steffen@klaralvdalens-datakonsult.se>
+ 2007 Ingo Klöcker
+License: GPL-2+
+
+Files: qt/pinentryconfirm.*
+Copyright: 2011 Ben Kibbey <bjk@luxsci.net>
+License: GPL-2+
+
+Files: qt/main.cpp
+Copyright: 2002, 2008 Klarälvdalens Datakonsult AB (KDAB)
+ 2003 g10 Code GmbH
+ 2007 Ingo Klöcker
+License: GPL-2+
+
+Files: qt/Makefile.am
+Copyright: 2002 Klarälvdalens Datakonsult AB (KDAB)
+ 2008 g10 Code GmbH
+License: GPL-2+
+
+Files: debian/*
+Copyright: 2004-2015 Peter Eisentraut <petere@debian.org>
+ Marcus Brinkmann
+ Michael Brame
+ Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+License: GPL-2+
+
+License: X11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to
+ deal in the Software without restriction, including without limitation the
+ rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+ sell copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
+ TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ .
+ Except as contained in this notice, the name of the X Consortium shall not
+ be used in advertising or otherwise to promote the sale, use or other deal-
+ ings in this Software without prior written authorization from the X Consor-
+ tium.
+
+License: GPL-2+
+ This 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.
+ .
+ It 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.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: GPL-2
+ This is free software; you can redistribute it and/or modify
+ it under the terms of version 2 of the GNU General Public License
+ as published by the Free Software Foundation.
+ .
+ It 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.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
+
+License: LGPL-3+
+ This is free software; you can redistribute it and/or modify it under
+ the terms of the GNU Lesser General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+ .
+ It is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Lesser General Public License for more details.
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2.1 can be found in the file
+ `/usr/share/common-licenses/LGPL-3.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..13680f4
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,21 @@
+[DEFAULT]
+pristine-tar = True
+upstream-vcs-tag = pinentry-%(version)s
+debian-branch = debian/master
+
+[import-orig]
+filter = [
+ 'INSTALL',
+ 'Makefile.in',
+ 'aclocal.m4',
+ '*/Makefile.in',
+ 'build-aux/compile',
+ 'build-aux/depcomp',
+ 'build-aux/install-sh',
+ 'build-aux/mdate-sh',
+ 'build-aux/missing',
+ 'build-aux/texinfo.tex',
+ 'configure',
+ 'doc/pinentry.info',
+ ]
+filter-pristine-tar = False
diff --git a/debian/not-installed b/debian/not-installed
new file mode 100644
index 0000000..4cf6e4c
--- /dev/null
+++ b/debian/not-installed
@@ -0,0 +1 @@
+usr/bin/pinentry
diff --git a/debian/patches/0001-avoid-self-describing-as-a-beta.patch b/debian/patches/0001-avoid-self-describing-as-a-beta.patch
new file mode 100644
index 0000000..09cee78
--- /dev/null
+++ b/debian/patches/0001-avoid-self-describing-as-a-beta.patch
@@ -0,0 +1,49 @@
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+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/patches/0003-Fix-format-string-errors-in-fltk-pinentry.patch b/debian/patches/0003-Fix-format-string-errors-in-fltk-pinentry.patch
new file mode 100644
index 0000000..39639b8
--- /dev/null
+++ b/debian/patches/0003-Fix-format-string-errors-in-fltk-pinentry.patch
@@ -0,0 +1,38 @@
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Mon, 5 Feb 2018 20:06:02 -0500
+Subject: Fix format string errors in fltk pinentry
+
+if the mesage in question had formatting escape chars, this might be
+able to cause a crash (or worse) in the pinentry.
+---
+ fltk/main.cxx | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/fltk/main.cxx b/fltk/main.cxx
+index 8e7e726..5d226ed 100644
+--- a/fltk/main.cxx
++++ b/fltk/main.cxx
+@@ -241,12 +241,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 +256,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/patches/0004-gnome3-Use-the-default-dbus-timeout-when-checking-fo.patch b/debian/patches/0004-gnome3-Use-the-default-dbus-timeout-when-checking-fo.patch
new file mode 100644
index 0000000..c12c232
--- /dev/null
+++ b/debian/patches/0004-gnome3-Use-the-default-dbus-timeout-when-checking-fo.patch
@@ -0,0 +1,42 @@
+From: "Zephaniah E. Loss-Cutler-Hull" <zephaniah@gmail.com>
+Date: Wed, 17 Apr 2019 14:08:48 -0400
+Subject: gnome3: Use the default dbus timeout when checking for screenlock
+
+* gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): use default dbus
+timeout instead of 0ms.
+
+--
+
+At the moment, every single check to see if the screen is locked fails
+immediately with a timeout, which is then silently ignored.
+
+This is happening because the definition of the timeout argument is a
+millisecond count, with -1 as the (unspecified) default, and G_MAXINT for no
+timeout.
+
+This means 0 times out immediately, and that leads to a complete inability for
+pinentry-gnome3 to fallback to curses input when the screen is locked.
+
+(Which then prevents a remote session from ever asking for a PIN, even when
+the local session is locked.)
+
+Debian-bug-id: 927105
+Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+(cherry picked from commit 65d2c6d5911ab04b19f953153d01116198cc4cb8)
+---
+ gnome3/pinentry-gnome3.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c
+index b395676..40c72ac 100644
+--- a/gnome3/pinentry-gnome3.c
++++ b/gnome3/pinentry-gnome3.c
+@@ -446,7 +446,7 @@ pe_gnome_screen_locked (void)
+ NULL,
+ ((const GVariantType *) "(b)"),
+ G_DBUS_CALL_FLAGS_NO_AUTO_START,
+- 0,
++ -1,
+ NULL,
+ &error);
+ g_object_unref(dbus);
diff --git a/debian/patches/0005-gnome3-correctly-detect-when-no-GNOME-screenlock-exi.patch b/debian/patches/0005-gnome3-correctly-detect-when-no-GNOME-screenlock-exi.patch
new file mode 100644
index 0000000..e5ca689
--- /dev/null
+++ b/debian/patches/0005-gnome3-correctly-detect-when-no-GNOME-screenlock-exi.patch
@@ -0,0 +1,37 @@
+From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+Date: Wed, 17 Apr 2019 14:23:18 -0400
+Subject: gnome3: correctly detect when no GNOME screenlock exists
+
+* gnome3/pinentry-gnome3.c (pe_gnome_screen_locked): skip
+G_IO_ERROR_IS_DIRECTORY responses, not G_IO_ERROR_TIMED_OUT responses
+from dbus.
+
+--
+
+After the previous commit, testing demonstrates that the normal
+response when no screenlock is running is G_IO_ERROR_IS_DIRECTORY, not
+G_IO_ERROR_TIMED_OUT.
+
+Debian-bug-id: 927105
+Signed-off-by: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+(cherry picked from commit f74c4673e6b60508012c14f7574dbc3215345210)
+---
+ gnome3/pinentry-gnome3.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/gnome3/pinentry-gnome3.c b/gnome3/pinentry-gnome3.c
+index 40c72ac..158fbe1 100644
+--- a/gnome3/pinentry-gnome3.c
++++ b/gnome3/pinentry-gnome3.c
+@@ -452,9 +452,9 @@ pe_gnome_screen_locked (void)
+ 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 : "<no GError>");
diff --git a/debian/patches/0006-qt-Fix-use-of-dangling-pointer-in-QApplication.patch b/debian/patches/0006-qt-Fix-use-of-dangling-pointer-in-QApplication.patch
new file mode 100644
index 0000000..51951a5
--- /dev/null
+++ b/debian/patches/0006-qt-Fix-use-of-dangling-pointer-in-QApplication.patch
@@ -0,0 +1,49 @@
+From: Andre Heinecke <aheinecke@gnupg.org>
+Date: Thu, 25 Jul 2019 14:20:51 +0200
+Subject: qt: Fix use of dangling pointer in QApplication
+
+* qt/main.cpp (main): Use a new variable for argc that stays
+valid.
+--
+The QApplication constructor takes argc as a reference and the referenced
+integer has to stay alive for at least as long as the QApplication.
+
+GnuPG-Bug-Id: T4658
+Based on a Patch from: Fabian Vogt <fvogt@suse.com>
+Thanks!
+
+(cherry picked from commit 0e2e53c8987d6f236aaef515eb005e8e86397fbc)
+---
+ qt/main.cpp | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+diff --git a/qt/main.cpp b/qt/main.cpp
+index 70a009d..66d1ae9 100644
+--- a/qt/main.cpp
++++ b/qt/main.cpp
+@@ -312,6 +312,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 +352,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/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch b/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch
new file mode 100644
index 0000000..a44017e
--- /dev/null
+++ b/debian/patches/0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch
@@ -0,0 +1,62 @@
+From: Vincent Bernat <bernat@debian.org>
+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 <dkg@fifthhorseman.net>
+---
+ 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 c803628..6bd1eed 100644
+--- a/gtk+-2/pinentry-gtk-2.c
++++ b/gtk+-2/pinentry-gtk-2.c
+@@ -164,7 +164,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)
+@@ -173,7 +173,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)
+ {
+@@ -197,7 +198,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
+@@ -219,7 +220,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/patches/series b/debian/patches/series
new file mode 100644
index 0000000..35d2841
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,6 @@
+0001-avoid-self-describing-as-a-beta.patch
+0007-gtk2-When-X11-input-grabbing-fails-try-again-over-0..patch
+0003-Fix-format-string-errors-in-fltk-pinentry.patch
+0004-gnome3-Use-the-default-dbus-timeout-when-checking-fo.patch
+0005-gnome3-correctly-detect-when-no-GNOME-screenlock-exi.patch
+0006-qt-Fix-use-of-dangling-pointer-in-QApplication.patch
diff --git a/debian/pinentry-curses.1 b/debian/pinentry-curses.1
new file mode 100644
index 0000000..69d24f7
--- /dev/null
+++ b/debian/pinentry-curses.1
@@ -0,0 +1,79 @@
+.TH PINENTRY-CURSES 1 "27 Jan 2005"
+.SH NAME
+pinentry\-curses \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-curses\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-curses\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-curses\fR implements a PIN entry dialog
+using the curses tool kit, meaning that it is useful for users working
+in text mode without the X Window System. There are other flavors
+that implement PIN entry dialogs that use an X tool kit. If you
+have installed any of the latter programs then this program is not necessary
+because the X flavors automatically fall back to text mode if
+X is not active.
+.PP
+\fBpinentry\-curses\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-curses\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-curses\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-curses\fR. They are required because
+\fBpinentry-curses\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-gtk-2 (1),
+.BR pinentry-qt (1),
+.BR pinentry-fltk (1),
+.BR pinentry-gnome3 (1),
+.BR pinentry-tty (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-curses
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Peter Eisentraut for the Debian project.
diff --git a/debian/pinentry-curses.install b/debian/pinentry-curses.install
new file mode 100644
index 0000000..df3349d
--- /dev/null
+++ b/debian/pinentry-curses.install
@@ -0,0 +1 @@
+build-no-libsecret/curses/pinentry-curses usr/bin
diff --git a/debian/pinentry-curses.manpages b/debian/pinentry-curses.manpages
new file mode 100644
index 0000000..009faec
--- /dev/null
+++ b/debian/pinentry-curses.manpages
@@ -0,0 +1 @@
+debian/pinentry-curses.1
diff --git a/debian/pinentry-curses.postinst b/debian/pinentry-curses.postinst
new file mode 100644
index 0000000..328b4d7
--- /dev/null
+++ b/debian/pinentry-curses.postinst
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-curses 50 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-curses.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-curses.prerm b/debian/pinentry-curses.prerm
new file mode 100644
index 0000000..dd49d84
--- /dev/null
+++ b/debian/pinentry-curses.prerm
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-curses
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-doc.info b/debian/pinentry-doc.info
new file mode 100644
index 0000000..1f1a4cf
--- /dev/null
+++ b/debian/pinentry-doc.info
@@ -0,0 +1 @@
+usr/share/info/pinentry.info
diff --git a/debian/pinentry-fltk.1 b/debian/pinentry-fltk.1
new file mode 100644
index 0000000..1078e19
--- /dev/null
+++ b/debian/pinentry-fltk.1
@@ -0,0 +1,77 @@
+.TH PINENTRY-FLTK 1 "27 Jan 2005"
+.SH NAME
+pinentry\-fltk \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-fltk\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-fltk\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-fltk\fR implements a PIN entry dialog
+using the Fast Light Tool Kit version 1.3, so it is especially suitable for
+users of GNOME. If the X Window System is not active then an alternative
+text-mode dialog will be used. There are other flavors that
+implement PIN entry dialogs using other tool kits.
+.PP
+\fBpinentry\-fltk\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-fltk\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-fltk\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-fltk\fR. They are required because
+\fBpinentry-fltk\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-curses (1),
+.BR pinentry-gtk-2 (1),
+.BR pinentry-qt (1),
+.BR pinentry-gnome3 (1),
+.BR pinentry-tty (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-fltk
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Peter Eisentraut for the Debian project.
diff --git a/debian/pinentry-fltk.install b/debian/pinentry-fltk.install
new file mode 100644
index 0000000..65c2f65
--- /dev/null
+++ b/debian/pinentry-fltk.install
@@ -0,0 +1 @@
+build-no-libsecret/fltk/pinentry-fltk usr/bin
diff --git a/debian/pinentry-fltk.manpages b/debian/pinentry-fltk.manpages
new file mode 100644
index 0000000..6e89cbf
--- /dev/null
+++ b/debian/pinentry-fltk.manpages
@@ -0,0 +1 @@
+debian/pinentry-fltk.1
diff --git a/debian/pinentry-fltk.postinst b/debian/pinentry-fltk.postinst
new file mode 100644
index 0000000..589ce98
--- /dev/null
+++ b/debian/pinentry-fltk.postinst
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-fltk 70 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-fltk.gz
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-fltk 70 \
+ --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-fltk.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-fltk.prerm b/debian/pinentry-fltk.prerm
new file mode 100644
index 0000000..1cb3e3c
--- /dev/null
+++ b/debian/pinentry-fltk.prerm
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-fltk
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-fltk
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-gnome3.1 b/debian/pinentry-gnome3.1
new file mode 100644
index 0000000..d99d99e
--- /dev/null
+++ b/debian/pinentry-gnome3.1
@@ -0,0 +1,77 @@
+.TH PINENTRY-GNOME3 1 "01 Jun 2015"
+.SH NAME
+pinentry\-gnome3 \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-gnome3\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-gnome3\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-gnome3\fR implements a PIN entry dialog based on GNOME 3,
+which aims to follow the GNOME Human Interface Guidelines as closely
+as possible. If the X Window System is not active then an alternative
+text-mode dialog will be used. There are other flavors that implement
+PIN entry dialogs using other tool kits.
+.PP
+\fBpinentry\-gnome3\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-gnome3\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-gnome3\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-gnome3\fR. They are required because
+\fBpinentry-gnome3\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-curses (1),
+.BR pinentry-gtk-2 (1),
+.BR pinentry-fltk (1),
+.BR pinentry-qt (1),
+.BR pinentry-tty (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-gnome3
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Daniel Kahn Gillmor for the Debian project, adapted from other pinentry manual pages written by Peter Eisentraut.
diff --git a/debian/pinentry-gnome3.install b/debian/pinentry-gnome3.install
new file mode 100644
index 0000000..e41b989
--- /dev/null
+++ b/debian/pinentry-gnome3.install
@@ -0,0 +1 @@
+usr/bin/pinentry-gnome3
diff --git a/debian/pinentry-gnome3.manpages b/debian/pinentry-gnome3.manpages
new file mode 100644
index 0000000..b95e99c
--- /dev/null
+++ b/debian/pinentry-gnome3.manpages
@@ -0,0 +1 @@
+debian/pinentry-gnome3.1
diff --git a/debian/pinentry-gnome3.postinst b/debian/pinentry-gnome3.postinst
new file mode 100644
index 0000000..22280f5
--- /dev/null
+++ b/debian/pinentry-gnome3.postinst
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-gnome3 90 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-gnome3.1.gz
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-gnome3 90 \
+ --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-gnome3.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-gnome3.prerm b/debian/pinentry-gnome3.prerm
new file mode 100644
index 0000000..db9c8bf
--- /dev/null
+++ b/debian/pinentry-gnome3.prerm
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-gnome3
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-gnome3
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-gtk-2.1 b/debian/pinentry-gtk-2.1
new file mode 100644
index 0000000..180be04
--- /dev/null
+++ b/debian/pinentry-gtk-2.1
@@ -0,0 +1,77 @@
+.TH PINENTRY-GTK-2 1 "27 Jan 2005"
+.SH NAME
+pinentry\-gtk-2 \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-gtk-2\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-gtk-2\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-gtk-2\fR implements a PIN entry dialog
+using the GTK+ tool kit version 2, so it is especially suitable for
+users of GNOME. If the X Window System is not active then an alternative
+text-mode dialog will be used. There are other flavors that
+implement PIN entry dialogs using other tool kits.
+.PP
+\fBpinentry\-gtk-2\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-gtk-2\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-gtk-2\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-gtk-2\fR. They are required because
+\fBpinentry-gtk-2\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-curses (1),
+.BR pinentry-qt (1),
+.BR pinentry-fltk (1),
+.BR pinentry-gnome3 (1),
+.BR pinentry-tty (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-gtk-2
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Peter Eisentraut for the Debian project.
diff --git a/debian/pinentry-gtk2.NEWS b/debian/pinentry-gtk2.NEWS
new file mode 100644
index 0000000..7e86f4c
--- /dev/null
+++ b/debian/pinentry-gtk2.NEWS
@@ -0,0 +1,16 @@
+pinentry-gtk2 (0.9.6-3) unstable; urgency=medium
+
+ Since pinentry-gtk2 0.9.6, upstream now uses the default GTK text
+ entry widget instead of a custom text-entry widget. The GTK text
+ entry widget in password mode may display characters while typed based
+ on the setting of gtk-entry-password-hint-timeout. This value
+ defaults to 0 (never display), but may be overridden in
+ /etc/gtk-2.0/gtkrc or ~/.gtkrc-2.0. If your password entry shows the
+ last character typed, please ensure that this value is not set in your
+ system's configuration files.
+
+ See
+ https://developer.gnome.org/gtk2/stable/GtkSettings.html#GtkSettings--gtk-entry-password-hint-timeout
+ and https://bugs.debian.org/801757 for more details.
+
+ -- Daniel Kahn Gillmor <dkg@fifthhorseman.net> Mon, 19 Oct 2015 20:39:25 -0400
diff --git a/debian/pinentry-gtk2.install b/debian/pinentry-gtk2.install
new file mode 100644
index 0000000..4f09f0a
--- /dev/null
+++ b/debian/pinentry-gtk2.install
@@ -0,0 +1 @@
+usr/bin/pinentry-gtk-2
diff --git a/debian/pinentry-gtk2.manpages b/debian/pinentry-gtk2.manpages
new file mode 100644
index 0000000..7435024
--- /dev/null
+++ b/debian/pinentry-gtk2.manpages
@@ -0,0 +1 @@
+debian/pinentry-gtk-2.1
diff --git a/debian/pinentry-gtk2.postinst b/debian/pinentry-gtk2.postinst
new file mode 100644
index 0000000..dd99849
--- /dev/null
+++ b/debian/pinentry-gtk2.postinst
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-gtk-2 85 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-gtk-2.1.gz
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-gtk-2 85 \
+ --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-gtk-2.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-gtk2.prerm b/debian/pinentry-gtk2.prerm
new file mode 100644
index 0000000..e4c7172
--- /dev/null
+++ b/debian/pinentry-gtk2.prerm
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-gtk-2
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-gtk-2
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-qt.1 b/debian/pinentry-qt.1
new file mode 100644
index 0000000..61c23a0
--- /dev/null
+++ b/debian/pinentry-qt.1
@@ -0,0 +1,77 @@
+.TH PINENTRY-QT 1 "27 Jan 2005"
+.SH NAME
+pinentry\-qt \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-qt\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-qt\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-qt\fR implements a PIN entry dialog
+using the Qt tool kit, so it is especially suitable for users of KDE.
+If the X Window System is not active then an alternative text-mode
+dialog will be used. There are other flavors that implement PIN
+entry dialogs using other tool kits.
+.PP
+\fBpinentry\-qt\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-qt\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-qt\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-qt\fR. They are required because
+\fBpinentry-qt\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-curses (1),
+.BR pinentry-gnome3 (1),
+.BR pinentry-fltk (1),
+.BR pinentry-gtk-2 (1),
+.BR pinentry-tty (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-qt
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Peter Eisentraut for the Debian project.
diff --git a/debian/pinentry-qt.install b/debian/pinentry-qt.install
new file mode 100644
index 0000000..e714473
--- /dev/null
+++ b/debian/pinentry-qt.install
@@ -0,0 +1 @@
+build-no-libsecret/qt/pinentry-qt usr/bin
diff --git a/debian/pinentry-qt.manpages b/debian/pinentry-qt.manpages
new file mode 100644
index 0000000..91b74d8
--- /dev/null
+++ b/debian/pinentry-qt.manpages
@@ -0,0 +1 @@
+debian/pinentry-qt.1
diff --git a/debian/pinentry-qt.postinst b/debian/pinentry-qt.postinst
new file mode 100644
index 0000000..e52447c
--- /dev/null
+++ b/debian/pinentry-qt.postinst
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-qt 80 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-qt.1.gz
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-qt 80 \
+ --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-qt.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-qt.prerm b/debian/pinentry-qt.prerm
new file mode 100644
index 0000000..56caf86
--- /dev/null
+++ b/debian/pinentry-qt.prerm
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-qt
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-qt
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-qt4.links b/debian/pinentry-qt4.links
new file mode 100644
index 0000000..1b2958b
--- /dev/null
+++ b/debian/pinentry-qt4.links
@@ -0,0 +1,2 @@
+usr/bin/pinentry-qt /usr/bin/pinentry-qt4
+usr/share/man/man1/pinentry-qt.1.gz /usr/share/man/man1/pinentry-qt4.1.gz
diff --git a/debian/pinentry-qt4.postinst b/debian/pinentry-qt4.postinst
new file mode 100644
index 0000000..669ff69
--- /dev/null
+++ b/debian/pinentry-qt4.postinst
@@ -0,0 +1,14 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-qt4 80 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-qt4.1.gz
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry-x11 pinentry-x11 /usr/bin/pinentry-qt4 80 \
+ --slave /usr/share/man/man1/pinentry-x11.1.gz pinentry-x11.1.gz /usr/share/man/man1/pinentry-qt4.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-qt4.prerm b/debian/pinentry-qt4.prerm
new file mode 100644
index 0000000..d645307
--- /dev/null
+++ b/debian/pinentry-qt4.prerm
@@ -0,0 +1,10 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry-x11 /usr/bin/pinentry-qt4
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-qt4
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-tty.1 b/debian/pinentry-tty.1
new file mode 100644
index 0000000..823193b
--- /dev/null
+++ b/debian/pinentry-tty.1
@@ -0,0 +1,82 @@
+.TH PINENTRY-CURSES 1 "19 Apr 2015"
+.SH NAME
+pinentry\-tty \- PIN or pass-phrase entry dialog for GnuPG
+.PP
+.SH SYNOPSIS
+\fBpinentry-tty\fB [\fIOPTION\fR...]
+.SH DESCRIPTION
+\fBpinentry\-tty\fR is a program that allows for secure entry of PINs or
+pass phrases. That means it tries to take care that the entered
+information is not swapped to disk or temporarily stored anywhere.
+This functionality is particularly useful for entering pass phrases
+when using encryption software such as GnuPG or e-mail clients using
+the same. It uses an open protocol and is therefore not tied to
+particular software.
+.PP
+\fBpinentry-tty\fR implements a PIN entry prompt directly on the
+controlling tty. It has minimal dependencies, and a comparably
+minimal feature set. It is useful for users working with dumb
+terminals and other similarly constrained environments. There are
+other pinentry flavors that implement more user-friendly PIN entry
+dialogs, either in text mode with the curses toolkit, or using
+graphical X11 toolkits. Please use one of the other flavors unless
+you know what you are doing.
+.PP
+\fBpinentry\-tty\fR is typically used internally by \fBgpg-agent\fR.
+Users don't normally have a reason to call it directly.
+.SH OPTIONS
+.TP
+\fB\-\-version\fR
+Print the program version and licensing information.
+.TP
+\fB\-\-help\fR
+Print a usage message summarizing the most useful command-line options.
+.TP
+\fB\-\-debug\fR, \fB\-d\fR
+Turn on some debugging. Mostly useful for the maintainers. Note
+that this may reveal sensitive information like the entered pass phrase.
+.TP
+\fB\-\-enhanced\fR, \fB\-e\fR
+Ask for timeouts and insurance, too. Note that this is currently
+not fully supported.
+.TP
+\fB\-\-no\-global\-grab\fR, \fB\-g\fR
+Grab the keyboard only when the window is focused. Use this
+option if you are debugging software using \fBpinentry\-tty\fR;
+otherwise you may not be able to to access your X session anymore (unless
+you have other means to connect to the machine to kill
+\fBpinentry\-tty\fR).
+.TP
+\fB\-\-parent\-wid\fR \fIN\fR
+Use window ID \fIN\fR as the parent window for positioning the window.
+Note, that this is not fully supported by all flavors of \fBpinentry\fR.
+.TP
+\fB--display\fR \fISTRING\fR, \fB--ttyname\fR \fISTRING\fR, \fB--ttytype\fR \fISTRING\fR, \fB--lc-type\fR \fISTRING\fR, \fB--lc-messages\fR \fISTRING\fR
+These options are used to pass localization information to
+\fBpinentry-tty\fR. They are required because
+\fBpinentry-tty\fR is usually called by
+some background process which does not have any information on the
+locale and terminal to use. Assuan protocol options are an
+alternative way to pass these information.
+.SH "SEE ALSO"
+.BR pinentry-gtk-2 (1),
+.BR pinentry-qt (1),
+.BR pinentry-fltk (1),
+.BR pinentry-gnome3 (1),
+.BR pinentry-curses (1),
+.BR gpg (1),
+.BR gpg-agent (1)
+.PP
+The full documentation for
+.B pinentry-tty
+is maintained as a Texinfo manual. If the
+.B pinentry-doc
+package is installed, the command
+.IP
+.B info pinentry
+.PP
+should give you access to the complete manual.
+.SH AUTHOR
+This manual page was written by Daniel Kahn Gillmor for the Debian
+project, derived from other pinentry manual pages written by Peter
+Eisentraut.
diff --git a/debian/pinentry-tty.install b/debian/pinentry-tty.install
new file mode 100644
index 0000000..7364c50
--- /dev/null
+++ b/debian/pinentry-tty.install
@@ -0,0 +1 @@
+build-no-libsecret/tty/pinentry-tty usr/bin/
diff --git a/debian/pinentry-tty.manpages b/debian/pinentry-tty.manpages
new file mode 100644
index 0000000..b8f4413
--- /dev/null
+++ b/debian/pinentry-tty.manpages
@@ -0,0 +1 @@
+debian/pinentry-tty.1
diff --git a/debian/pinentry-tty.postinst b/debian/pinentry-tty.postinst
new file mode 100644
index 0000000..aee4229
--- /dev/null
+++ b/debian/pinentry-tty.postinst
@@ -0,0 +1,11 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = configure ]; then
+ update-alternatives --quiet \
+ --install /usr/bin/pinentry pinentry /usr/bin/pinentry-tty 30 \
+ --slave /usr/share/man/man1/pinentry.1.gz pinentry.1.gz /usr/share/man/man1/pinentry-tty.1.gz
+fi
+
+#DEBHELPER#
diff --git a/debian/pinentry-tty.prerm b/debian/pinentry-tty.prerm
new file mode 100644
index 0000000..65ef889
--- /dev/null
+++ b/debian/pinentry-tty.prerm
@@ -0,0 +1,9 @@
+#! /bin/sh
+
+set -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --quiet --remove pinentry /usr/bin/pinentry-tty
+fi
+
+#DEBHELPER#
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..772e51a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,38 @@
+#!/usr/bin/make -f
+
+QT_SELECT = qt5
+export QT_SELECT
+SHARED_CONFIGS = --disable-rpath --without-libcap --disable-pinentry-emacs --disable-inside-emacs --enable-fallback-curses --disable-pinentry-tqt
+export DEB_BUILD_MAINT_OPTIONS = hardening=+bindnow
+
+%:
+ dh $@
+
+override_dh_auto_configure:
+ dh_auto_configure --builddirectory=build-no-libsecret -- \
+ $(SHARED_CONFIGS) --disable-libsecret \
+ --enable-pinentry-tty \
+ --enable-pinentry-curses \
+ --enable-pinentry-qt \
+ --enable-pinentry-fltk \
+ --disable-pinentry-gtk2 \
+ --disable-pinentry-gnome3
+ dh_auto_configure -- $(SHARED_CONFIGS) \
+ --disable-pinentry-tty \
+ --disable-pinentry-curses \
+ --disable-pinentry-qt \
+ --disable-pinentry-fltk \
+ --enable-pinentry-gtk2 \
+ --enable-pinentry-gnome3
+
+override_dh_auto_build:
+ dh_auto_build --builddirectory=build-no-libsecret
+ dh_auto_build
+
+override_dh_missing:
+ dh_missing --fail-missing
+
+override_dh_installdocs:
+ dh_installdocs -A NEWS AUTHORS
+
+LDFLAGS += -Wl,--as-needed
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..83ef7dc
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Tests: simple-tty
+Depends: python3, pinentry-tty
diff --git a/debian/tests/simple-tty b/debian/tests/simple-tty
new file mode 100755
index 0000000..374986d
--- /dev/null
+++ b/debian/tests/simple-tty
@@ -0,0 +1,60 @@
+#!/usr/bin/env python3
+
+# Daniel Kahn Gillmor <dkg@fifthhorseman.net>
+
+# put pinentry-tty through its paces on an otherwise clean
+# pseudoterminal.
+
+import posix
+import subprocess
+import codecs
+
+# block on pinentry verification:
+def isok(pinentry):
+ l = pinentry.stdout.readline()
+ if not l.startswith('OK'):
+ raise Exception("notok: " + l if l else '<None>')
+
+
+(master, pty) = posix.openpty()
+# depends on /proc!
+ptyname = posix.readlink("/proc/self/fd/%d"%(pty))
+
+p = subprocess.Popen(['pinentry-tty'],
+ shell=False,
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE,
+ universal_newlines=True,
+ bufsize=1)
+isok(p)
+
+p.stdin.write("option ttyname %s\n"%(ptyname))
+isok(p)
+
+p.stdin.write("setprompt foo bar\n")
+isok(p)
+
+p.stdin.write("getpin\n")
+p.stdin.flush()
+
+prompt = codecs.decode(posix.read(master, 1000))
+print("---begin pinentry prompt---")
+print(prompt)
+print("---end pinentry prompt---")
+
+posix.write(master, codecs.encode("abc123\n"))
+
+answer = p.stdout.readline()
+if answer.strip() != "D abc123":
+ raise Exception("wrongpass" + answer)
+isok(p)
+
+p.stdin.write("bye\n")
+isok(p)
+
+ret = p.wait()
+if ret:
+ raise Exception("pinentry terminated wrong: %d!"%(ret))
+
+posix.close(pty)
+posix.close(master)
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..3a036eb
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,29 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBE0ti4EBCACqGtKlX9jI/enhlBdy2cyQP6Q7JoyxtaG6/ckAKWHYrqFTQk3I
+Ue8TuDrGT742XFncG9PoMBfJDUNltIPgKFn8E9tYQqAOlpSA25bOb30cA2ADkrjg
+jvDAH8cZ+fkIayWtObTxwqLfPivjFxEM//IdShFFVQj+QHmXYBJggWyEIil8Bje7
+KRw6B5ucs4qSzp5VH4CqDr9PDnLD8lBGHk0x8jpwh4V/yEODJKATY0Vj00793L8u
+qA35ZiyczUvvJSLYvf7STO943GswkxdAfqxXbYifiK2gjE/7SAmB+2jFxsonUDOB
+1BAY5s3FKqrkaxZr3BBjeuGGoCuiSX/cXRIhABEBAAG0Fldlcm5lciBLb2NoIChk
+aXN0IHNpZymJAT4EEwECACgFAk0ti4ECGwMFCRDdnwIGCwkIBwMCBhUIAgkKCwQW
+AgMBAh4BAheAAAoJECSbOdJPJeO2PlMIAJxPtFXf5yozPpFjRbSkSdjsk9eru05s
+hKZOAKw3RUePTU80SRLPdg4AH+vkm1JMWFFpwvHlgfxqnE9rp13o7L/4UwNUwqH8
+5zCwu7SHz9cX3d4UUwzcP6qQP4BQEH9/xlpQS9eTK9b2RMyggqwd/J8mxjvoWzL8
+Klf/wl6jXHn/yP92xG9/YA86lNOL1N3/PhlZzLuJ6bdD9WzsEp/+kh3UDfjkIrOc
+WkqwupB+d01R4bHPu9tvXy8Xut8Sok2zku2xVkEOsV2TXHbwuHO2AGC5pWDX6wgC
+E4F5XeCB/0ovao2/bk22w1TxzP6PMxo6sLkmaF6D0frhM2bl4C/uSsq5AQ0ETS2L
+gQEIAKHwucgbaRj0V7Ht0FnM6RmbqwZ7IFV2lR+YN1gkZaWRRCaJoPEZFKhhPEBX
+1bDVwr/iTPaPPEtpi7oQoHk65yeLrhtOmXXpNVkV/5WQjAJIrWn+JQ3z/ZejxHUL
+hzKsGg5FC6pRYcEyzRXHtv4BO9kBIKNVirZjEkQG4BnIrQgl6e2YFa47GNMqcQH7
+nJdwG1cGQOZOIDQQM41gBzwoSrStMA6DjHkukFegKfcSbSLArBtYNAwTwmW7RqOM
+EJwlo0+NYx2Yn75x66bYwdlsP0FLOgez/O/IxoPRxXr0l4e+uj6dFHqvBi04dx6J
+sPmXEyeAyLiCWSh7Rwq8uIhBUBUAEQEAAYkBJQQYAQIADwUCTS2LgQIbIAUJEN2f
+AgAKCRAkmznSTyXjtrsSCACRNgfGkD0OqOiwYo1/+KyWnrQLusVvSYOw8hN66geU
+3BO8iQ0Koy+m0QKY1kWjaHwewpg8ZebY4E2sHbNIC9Spyiyz29sAJ2invf4/4Mep
+TgpxNiw4+XmykCkN1AfVhvMTQXMzRbO5ZwRtPpjsMr1j5vX1s6U3/RxSAItpAkCu
+1GGTTOH0r12Ochc/um+QGAyO6WUj/IiZ1MX7toXW0SCo8DSl8z5Q7KmJWF6TQLK1
+Lku4bIVG1Huwo1/0WHc2vCad5BxHjgoy8TsKLTmvYQZWtnjWvQGV2UOABYWcacut
+ZXQQ2PPCIY7LlpuS/45CXWbT5Y+mxY3y7dbz4aF+8uyC
+=s+L2
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..0f21969
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,5 @@
+version=4
+
+opts=pgpsigurlmangle=s/$/.sig/ \
+ https://gnupg.org/ftp/gcrypt/@PACKAGE@/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@ \
+ debian uupdate