From 17c6ce7ada7babe8568fbe22dd4d4bb4511f7fa2 Mon Sep 17 00:00:00 2001
From: Natanael Copa <ncopa@alpinelinux.org>
Date: Thu, 23 Jul 2009 08:42:34 +0000
Subject: [PATCH] abuild-sign: use mktemp for temp files. add -q option for
 quiet

---
 abuild-sign.in | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/abuild-sign.in b/abuild-sign.in
index 5067a7478258..2aa525eee7ae 100644
--- a/abuild-sign.in
+++ b/abuild-sign.in
@@ -22,11 +22,11 @@ die() {
 
 usage() {
 	echo "abuild-sign $abuild_ver"
-	echo "usage: abuild-sign [-h] [-k PRIVKEY] [-p PUBKEY] INDEXFILE..."
+	echo "usage: abuild-sign [-hq] [-k PRIVKEY] [-p PUBKEY] INDEXFILE..."
 	echo "options:"
-	echo " -h Show this help"
-	echo " -k The private key to use for signing"
-	echo " -p The name of public key. apk add will look for /etc/apk/keys/PUBKEY"
+	echo " -h  Show this help"
+	echo " -k  The private key to use for signing"
+	echo " -p  The name of public key. apk add will look for /etc/apk/keys/PUBKEY"
 	exit 1
 }
 
@@ -38,11 +38,12 @@ usage() {
 
 privkey="$PACKAGER_PRIVKEY"
 
-while getopts "hk:p:" opt; do
+while getopts "hk:p:q" opt; do
 	case $opt in
 	h) usage;;
 	k) privkey=$OPTARG;;
 	p) pubkey=$OPTARG;;
+	q) quiet=yes;;
 	esac
 done
 shift $(( $OPTIND - 1))
@@ -51,6 +52,7 @@ if [ -z "$privkey" ]; then
 	echo "No private key found. Use 'abuild-keygen' to generate the keys"
 	echo "Then you can either:"
 	echo " 1. set the PACKAGER_PRIVKEY in $abuild_userconf"
+	echo "    (Note that 'abuild-keygen -a' does this for you)"
 	echo " 2. set the PACKAGER_PRIVKEY in $abuild_conf"
 	echo " 3. specify the key with the -k option"
 	echo ""
@@ -72,9 +74,15 @@ for f in "$@"; do
 	sig=".SIGN.RSA.$keyname"
 	openssl dgst -sha1 -sign "$privkey" -out "$sig" "$i" || die "Failed to sign $i"
 	cd "$repo"
-	tar -c "$sig" | abuild-tar --cut | gzip -9 > signature.tar.gz
-	cat signature.tar.gz "$i" > "$i.new"
-	mv "$i.new" "$i"
-	echo "Signed $i"
+	tmptargz=$(mktemp)
+	tar -c "$sig" | abuild-tar --cut | gzip -9 > "$tmptargz"
+	tmpsigned=$(mktemp)
+	cat "$tmptargz" "$i" > "$tmpsigned"
+	rm -f "$tmptargz"
+	mv "$tmpsigned" "$i"
+	if [ -z "$quiet" ]; then
+		echo "Signed $i"
+	fi
 done
 
+exit 0
-- 
GitLab