Package: duplicity Version: 0.7.14-1 Severity: important Hello and thanks for maintaining duplicity in Debian.
I have experienced a new issue with duplicity for some weeks and I do not understand what's going on. When I backup my user data with duplicity, I do not have any X graphical session open. The command issued on the text console is: $ duplicity --encrypt-key XXXXXXXXXXXXXXXX \ --full-if-older-than 30D \ --include-filelist .duplicity.include . file://backup When doing so, duplicity (or maybe gpg) complains that it could not perform any decryption, since no passphrase was given: ===== Begin GnuPG log ===== gpg: encrypted with XXXX-bit XXX key, ID 0xXXXXXXXXXXXXXXXX, created XXXX-XX-XX "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" gpg: public key decryption failed: No passphrase given gpg: decryption failed: No secret key ===== End GnuPG log ===== After that, duplicity seems to go on and to correctly perform the backup (at least, it says 0 errors and the statistics output looks OK). However, at each backup, I see the above quoted error message. The point is: no passphrase was ever asked for, hence no wonder no passphrase was given! At first I thought that I needed a pinentry-* package for non-graphical environments: I only had pinentry-gtk2 installed. Hence I installed pinentry-tty: $ aptitude search pinentry | grep ^i i A pinentry-gtk2 - GTK+-2-based PIN or pass-phrase entry dialog for GnuPG i pinentry-tty - minimal dumb-terminal PIN or pass-phrase entry for GnuPG But the issue persists. I tried to restore one file from my backup (from inside an X graphical session) and it seems to work correctly: it asks for the GPG key passphrase (on the terminal emulator) and successfully restore a file identical to the original. $ duplicity restore --file-to-restore tmp/foo file://backup Downloads/foo Local and Remote metadata are synchronized, no sync needed. Last full backup date: Sun Oct 8 01:06:24 2017 GnuPG passphrase for decryption: $ diff -sq tmp/foo Downloads/foo Files tmp/foo and Downloads/foo are identical However, when performing backups, duplicity seems to be unable to ask for the passphrase. Please note that this bug is similar to #565398, but the symptoms are different in my case. I do not have a non-English locale: $ locale LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC_MEASUREMENT="en_US.UTF-8" LC_IDENTIFICATION="en_US.UTF-8" LC_ALL= What's going on? Is there anything I failed to understand? Please let me know. Thanks for your time! -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (800, 'testing'), (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 4.13.0-1-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages duplicity depends on: ii gnupg 2.2.1-4 ii libc6 2.24-17 ii librsync1 0.9.7-10+b1 ii python 2.7.14-1 ii python-fasteners 0.12.0-3 ii python-lockfile 1:0.12.2-2 Versions of packages duplicity recommends: ii python-oauthlib 2.0.4-1 ii python-paramiko 2.0.0-1 ii python-pexpect 4.2.1-1 ii python-urllib3 1.21.1-1 ii rsync 3.1.2-2 Versions of packages duplicity suggests: pn lftp <none> pn ncftp <none> pn python-boto <none> pn python-cloudfiles <none> pn python-gdata <none> pn python-swiftclient <none> pn tahoe-lafs <none> -- no debconf information