blob: bff22c765cfc8c3eca60dbe4e21b55938507da63 [file] [log] [blame]
#!/bin/sh
#
# Sign an arbitrary number of files using a transient GPG agent
#
unset GPG_AGENT_INFO
eval $(gpg-agent --daemon --quiet --no-use-standard-socket --keep-tty --keep-display --sh)
for f; do
fbare=$(echo "$f" | sed -e 's/\.[^./]*$//')
case "$f" in
*.gz)
gzip -cd -- "$f" | gpg --use-agent -a -b -o "$fbare".sign \
--set-filename "$(basename "$fbare")" -
;;
*.bz2)
bzip2 -cd -- "$f" | gpg --use-agent -a -b -o "$fbare".sign \
--set-filename "$(basename "$fbare")" -
;;
*.xz)
xz -cd -- "$f" | gpg --use-agent -a -b -o "$fbare".sign \
--set-filename "$(basename "$fbare")" -
;;
*)
gpg --use-agent -a -b -o "$f".sign \
--set-filename "$(basename "$f")" - < "$f"
;;
esac
done
# Kill the agent
kill $(gpg-connect-agent /subst /serverpid '/echo ${get serverpid}' /bye)