]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - relup.sh
- autodetect noarch target (sick of the strip and chrpath noise)
[packages/rpm-build-tools.git] / relup.sh
index 4b70e53d7cb31b0fe2a31b67a26c48fc55b69741..64481874162b6caddba49879c167702973177d8e 100644 (file)
--- a/relup.sh
+++ b/relup.sh
@@ -1,21 +1,44 @@
 #!/bin/sh
 # script to run after "rel up" style change.
 # takes Release from spec and creates commit with message
+# groups similiar commits together.
 # "- rel $rel"
+# - fails when specfile defines Icon: but the icon is not present in SOURCES
+# TODO
+# - optional message after rel: "- rel 9 (rebuild with foolib)"
 
 set -e
 specfile="$1"
 
 get_dump() {
-       rpm --specfile "$specfile" --define 'prep %dump'  -q 2>&1
+       local specfile="$1"
+       if ! out=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1); then
+               echo >&2 "$out"
+               echo >&2 "You need icon files being present in SOURCES."
+               exit 1
+       fi
+       echo "$out"
 }
 
 get_release() {
-       awk '/PACKAGE_RELEASE/{print $NF; exit}'
+       local specfile="$1"
+       rel=$(awk '/^%define.*_rel/{print $NF}' $specfile)
+       if [ -z "$rel" ]; then
+               dump=$(get_dump "$specfile")
+               rel=$(echo "$dump" | awk '/PACKAGE_RELEASE/{print $NF; exit}')
+       fi
+       echo $rel
 }
 
-rel=$(get_dump | get_release)
-echo "Release: $rel"
-if [ "$rel" ]; then
-       cvs ci -m "- rel $rel" $specfile
-fi
+tmpd=$(mktemp -d "${TMPDIR:-/tmp}/relXXXXXX")
+for spec in "$@"; do
+       rel=$(get_release "$spec")
+       echo "$spec" >> "$tmpd/$rel"
+done
+
+for file in $(ls "$tmpd" 2>/dev/null); do
+       files=$(cat "$tmpd/$file")
+       rel=$(basename "$file")
+       cvs ci -m "- rel $rel" $files
+done
+rm -rf $tmpd
This page took 0.029884 seconds and 4 git commands to generate.