summaryrefslogtreecommitdiff
path: root/templates/reprepro-export-key.sh.erb
diff options
context:
space:
mode:
Diffstat (limited to 'templates/reprepro-export-key.sh.erb')
-rw-r--r--templates/reprepro-export-key.sh.erb19
1 files changed, 15 insertions, 4 deletions
diff --git a/templates/reprepro-export-key.sh.erb b/templates/reprepro-export-key.sh.erb
index c99f06b..bbc195c 100644
--- a/templates/reprepro-export-key.sh.erb
+++ b/templates/reprepro-export-key.sh.erb
@@ -1,7 +1,18 @@
-#!/bin/bash
+#!/bin/sh
+#
+# This file is managed by Puppet. Do not edit, any changes will be overwritten!
+#
-KEY="`gpg --homedir <%= basedir %>/.gnupg --with-colon --list-secret-keys | cut -d : -f 5 | head -n 1`"
+set -e
-if [ ! -z "$KEY" ]; then
- gpg --homedir <%= basedir %>/.gnupg --export --armor $KEY > <%= basedir %>/key.asc
+KEY="$(gpg --homedir '<%= @basedir %>/.gnupg' --with-colon --list-secret-keys | cut -d : -f 5 | head -n 1)"
+
+if [ -n "$KEY" ]; then
+ TEMPFILE=$(mktemp --tmpdir='<%= @basedir %>')
+ trap "rm -f '$TEMPFILE'" EXIT
+ DESTFILE='<%= @basedir %>/key.asc'
+ gpg --homedir '<%= @basedir %>/.gnupg' --export --armor "$KEY" > "$TEMPFILE"
+ mv "$TEMPFILE" "$DESTFILE"
+ chown reprepro:reprepro "$DESTFILE"
+ chmod 0664 "$DESTFILE"
fi