Mercurial > gnulib
changeset 17204:69d4aaeb9067
gnupload: Work with GnuPG using gpg-agent (for smartcards).
* build-aux/gnupload: If GnuPG is configured to use gpg-agent,
let it handle password prompting.
author | Simon Josefsson <simon@josefsson.org> |
---|---|
date | Tue, 11 Dec 2012 17:14:34 +0100 |
parents | 60ac4a074708 |
children | 80b56d8fd2b7 |
files | ChangeLog build-aux/gnupload |
diffstat | 2 files changed, 16 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Mon Dec 10 14:52:22 2012 -0800 +++ b/ChangeLog Tue Dec 11 17:14:34 2012 +0100 @@ -1,3 +1,9 @@ +2012-12-11 Simon Josefsson <simon@josefsson.org> + + gnupload: Work with GnuPG using gpg-agent (for smartcards). + * build-aux/gnupload: If GnuPG is configured to use gpg-agent, + let it handle password prompting. + 2012-12-10 Eli Zaretskii <eliz@gnu.org> canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
--- a/build-aux/gnupload Mon Dec 10 14:52:22 2012 -0800 +++ b/build-aux/gnupload Tue Dec 11 17:14:34 2012 +0100 @@ -1,7 +1,7 @@ #!/bin/sh # Sign files and upload them. -scriptversion=2012-06-11.00; # UTC +scriptversion=2012-12-11.16; # UTC # Copyright (C) 2004-2012 Free Software Foundation, Inc. # @@ -242,6 +242,8 @@ # Make sure passphrase is not exported in the environment. unset passphrase +unset passphrase_fd_0 +GNUPGHOME=${GNUPGHOME:-$HOME/.gnupg} # Reset PATH to be sure that echo is a built-in. We will later use # 'echo $passphrase' to output the passphrase, so it is important that @@ -249,12 +251,13 @@ # listings with their arguments...). # Remember this script runs with 'set -e', so if echo is not built-in # it will exit now. -if $dry_run; then :; else +if $dry_run || grep -q "^use-agent" $GNUPGHOME/gpg.conf; then :; else PATH=/empty echo -n "Enter GPG passphrase: " stty -echo read -r passphrase stty echo echo + passphrase_fd_0="--passphrase-fd 0" fi if test $# -ne 0; then @@ -262,7 +265,7 @@ do echo "Signing $file ..." rm -f $file.sig - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 -ba -o $file.sig $file + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 -ba -o $file.sig $file done fi @@ -320,12 +323,12 @@ case $dest in alpha.gnu.org:*) mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive $dbg ncftpput ftp-upload.gnu.org /incoming/alpha $files $base.directive.asc ;; ftp.gnu.org:*) mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive $dbg ncftpput ftp-upload.gnu.org /incoming/ftp $files $base.directive.asc ;; savannah.gnu.org:*) @@ -344,7 +347,7 @@ destdir_p1=`echo "$destdir" | sed 's,^[^/]*/,,'` destdir_topdir=`echo "$destdir" | sed 's,/.*,,'` mkdirective "$destdir_p1" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive for f in $files $base.directive.asc do echo put $f @@ -353,7 +356,7 @@ /*) dest_host=`echo "$dest" | sed 's,:.*,,'` mkdirective "$destdir" "$base" "$file" "$stmt" - echo "$passphrase" | $dbg $GPG --passphrase-fd 0 --clearsign $base.directive + echo "$passphrase" | $dbg $GPG $passphrase_fd_0 --clearsign $base.directive $dbg cp $files $base.directive.asc $dest_host ;; *)