Skip to contentSkip to conversation

make-release: misc fixes

PATCH Applied Michael S. Tsirkin 2 participants 3 messages May 24, 2010 – May 31, 2010 KVM

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 make-release: misc fixes

This fixes /tmp usage in make-release script for security. Also, create output directory if it does not exist. This also adds a 'tarball' optin to specify output file name. Finally, remote output file before gzip to avoid prompt 'do you want to overwrite'.

---
 kvm/scripts/make-release |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
kvm/scripts/make-release +10 -3
index 11d9c27..fdc402b 100755
@@ -1,7 +1,7 @@
 #!/bin/bash -e
 
 usage() {
-    echo "usage: $0 [--upload] [--formal] commit [name]"
+    echo "usage: $0 [--upload] [--formal] commit [name] [tarball]"
     exit 1
 }
 
@@ -12,7 +12,7 @@ formal=
 
 releasedir=~/sf-release
 [[ -z "$TMP" ]] && TMP="/tmp"
-tmpdir="$TMP/qemu-kvm-make-release.$$"
+tmpdir=`mktemp -d --tmpdir="$TMP" qemu-kvm-make-release.XXXXXXXXXX`
 while [[ "$1" = -* ]]; do
     opt="$1"
     shift
@@ -40,9 +40,15 @@ if [[ -z "$name" ]]; then
     name="$commit"
 fi
 
-tarball="$releasedir/$name.tar"
+tarball="$3"
+if [[ -z "$tarball" ]]; then
+    tarball="$releasedir/$name.tar.gz"
+fi
+#strip trailing .gz if any
+tarball=${tarball/%.gz/}
 
 cd "$(dirname "$0")"/../..
+mkdir -p "$(dirname "$tarball")"
 git archive --prefix="$name/" --format=tar "$commit" > "$tarball"
 
 mkdir -p "$tmpdir"
@@ -59,6 +65,7 @@ if [[ -n "$formal" ]]; then
     rm -rf "$tmpdir"
 fi
 
+rm -f "$tarball.gz"
 gzip -9 "$tarball"
 tarball="$tarball.gz"
 
Signature · 1 line
1.7.1.12.g42b7f
#1 lore raw
Quoted 7 lines · Michael S. Tsirkin

This fixes /tmp usage in make-release script for security. Also, create output directory if it does not exist. This also adds a 'tarball' optin to specify output file name. Finally, remote output file before gzip to avoid prompt 'do you want to overwrite'.

Ping. Please review/apply.

Quoted 53 lines
---
 kvm/scripts/make-release |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
kvm/scripts/make-release +10 -3
index 11d9c27..fdc402b 100755
@@ -1,7 +1,7 @@
 #!/bin/bash -e
 
 usage() {
-    echo "usage: $0 [--upload] [--formal] commit [name]"
+    echo "usage: $0 [--upload] [--formal] commit [name] [tarball]"
     exit 1
 }
 
@@ -12,7 +12,7 @@ formal=
 
 releasedir=~/sf-release
 [[ -z "$TMP" ]] && TMP="/tmp"
-tmpdir="$TMP/qemu-kvm-make-release.$$"
+tmpdir=`mktemp -d --tmpdir="$TMP" qemu-kvm-make-release.XXXXXXXXXX`
 while [[ "$1" = -* ]]; do
     opt="$1"
     shift
@@ -40,9 +40,15 @@ if [[ -z "$name" ]]; then
     name="$commit"
 fi
 
-tarball="$releasedir/$name.tar"
+tarball="$3"
+if [[ -z "$tarball" ]]; then
+    tarball="$releasedir/$name.tar.gz"
+fi
+#strip trailing .gz if any
+tarball=${tarball/%.gz/}
 
 cd "$(dirname "$0")"/../..
+mkdir -p "$(dirname "$tarball")"
 git archive --prefix="$name/" --format=tar "$commit" > "$tarball"
 
 mkdir -p "$tmpdir"
@@ -59,6 +65,7 @@ if [[ -n "$formal" ]]; then
     rm -rf "$tmpdir"
 fi
 
+rm -f "$tarball.gz"
 gzip -9 "$tarball"
 tarball="$tarball.gz"
 
Signature · 1 line
1.7.1.12.g42b7f