-#!/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
}
branch=${specfile#*:}
- echo ${branch:-master}
+ if [ "$branch" != "$specfile" ]; then
+ echo "$branch"
+ else
+ echo ""
+ fi
}
if [ ! -x /usr/bin/getopt ]; then
specname=${spec##*/}
# start real work
- echo "$pkg:$branch ..."
+ if [ -n "$branch" ]; then
+ echo "$pkg:$branch ..."
+ else
+ echo "$pkg ..."
+ fi
# get package
[ "$get" = 1 -a -d "$pkgdir" ] && continue
if [ "$update" = "1" -o "$get" = "1" ]; then
- ./builder -g -ns "$spec" -r $branch
+ if [ -n "$branch" ]; then
+ ./builder -g -ns "$spec" -r $branch
+ else
+ ./builder -g -ns "$spec"
+ fi
fi
[ "$get" = 1 ] && continue
# 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