-#!/bin/sh
+#!/bin/bash
# script to run after "release bump" style change.
# takes Release from spec and creates commit with message
# groups similiar commits together.
get_dump() {
local specfile="$1"
- if ! out=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1); then
- echo >&2 "$out"
+ local rpm_dump
+ local success="y"
+ if [ -x /usr/bin/rpm-specdump ]; then
+ rpm_dump=$(rpm-specdump "$specfile" 2>&1) || success="n"
+ else
+ rpm_dump=$(rpm --specfile "$specfile" --define 'prep %dump' -q 2>&1) || success="n"
+ fi
+ if [ "$success" != "y" ]; then
+ echo >&2 "$rpm_dump"
echo >&2 "You need icon files being present in SOURCES."
exit 1
fi
- echo "$out"
+ echo "$rpm_dump"
}
usage="Usage:
rel=$(awk '/^%define[ ]+_?rel[ ]+/{print $NF}' $specfile)
if [ -z "$rel" ]; then
dump=$(get_dump "$specfile")
- rel=$(echo "$dump" | awk '/PACKAGE_RELEASE/{print $NF; exit}')
+ rel=$(echo "$dump" | awk '$2~/^(PACKAGE_)?RELEASE$/{print $NF; exit}')
fi
echo $rel
}
# commit the changes
msg=""
- [ -n "$message" ] && msg="$msg- $message$n"
- msg="$msg- release ${rel%%%*} (by relup.sh)"
+ [ -n "$message" ] && msg="${msg}$message$n$n"
+ msg="${msg}Release ${rel%%%*} (by relup.sh)"
+
echo git commit -m "$msg" $spec
if [ "$test" != 1 ]; then
cd $pkgdir