]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - relup.sh
- sorting fix
[packages/rpm-build-tools.git] / relup.sh
index 4b70e53d7cb31b0fe2a31b67a26c48fc55b69741..722454d01af16c0499064bbd46714bb8174aa3d6 100644 (file)
--- a/relup.sh
+++ b/relup.sh
@@ -1,21 +1,35 @@
 #!/bin/sh
 # script to run after "rel up" style change.
 # takes Release from spec and creates commit with message
+# groups similiar commits to gether.
 # "- rel $rel"
 
 set -e
 specfile="$1"
 
 get_dump() {
-       rpm --specfile "$specfile" --define 'prep %dump'  -q 2>&1
+       local specfile="$1"
+       rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1
 }
 
 get_release() {
-       awk '/PACKAGE_RELEASE/{print $NF; exit}'
+       local specfile="$1"
+       rel=$(awk '/^%define.*_rel/{print $NF}' $specfile)
+       if [ -z "$rel" ]; then
+               rel=$(get_dump "$specfile" | 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.027774 seconds and 4 git commands to generate.