#!/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