Commit 64de7581 authored by Pavel Vainerman's avatar Pavel Vainerman Committed by Vitaly Lipatov

(rpmlog): added --last-changelog command

parent aaff4cb2
......@@ -26,7 +26,8 @@ if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
echog " -q quiet mode (do not ask anything)"
echog " -n VERSION set version and reset release"
echo
echog " --last-version show current version of build"
echog " --last-version show current version of build"
echog " --last-changelog show changelog the latest build"
echo
echog "Example:"
echog " $ rpmlog -v -l - typical build new version"
......@@ -84,6 +85,12 @@ if [ "$1" = "--last-version" ] ; then
shift
fi
LASTCHANGELOGCMD=
if [ "$1" = "--last-changelog" ] ; then
LASTCHANGELOGCMD=1
shift
fi
if [ -n "${1/*.spec/}" ] || [ -z "$1" ] ; then
SPECNAME=$(get_gear_spec)
[ -z "$QUIET" ] && echo "Using autodetected spec $SPECNAME..."
......@@ -108,7 +115,7 @@ if [ ! -r "$SPECNAME" ] ; then
fatal "Spec $SPECNAME does not found"
fi
[ -n "$CHANGELOGADD$CHANGELOGUPDATE$TESTRUN$LASTVERCMD" ] || fatal "Run with -t param for test or with -h for help"
[ -n "$CHANGELOGADD$CHANGELOGUPDATE$TESTRUN$LASTVERCMD$LASTCHANGELOGCMD" ] || fatal "Run with -t param for test or with -h for help"
if [ -z "$FROMTAG" ] ; then
build_rpms_name $SPECNAME
......@@ -150,9 +157,13 @@ fi
if [ -n "$LASTVERCMD" ] ; then
echo $(get_version $SPECNAME)-$(get_release $SPECNAME)
exit 0
exit $?
fi
if [ -n "$LASTCHANGELOGCMD" ] ; then
get_last_changelog $SPECNAME
exit $?
fi
# increment release
case "$INCREMENTMODE" in
......
......@@ -359,3 +359,28 @@ remove_bashism()
rm -f $SPECNAME.main $SPECNAME.changelog
}
get_last_changelog()
{
local SPEC="$1"
local beg=
local wait_end=
while read line ; do
if echo $line | grep -q '%changelog'; then
beg=1
continue
fi
[ -z "$beg" ] && continue
# check end of changelog (skip last changelog line)
if echo "$line" | grep '*' | grep -E '[<>]+' | grep -q -E "[0-9.]+.[0-9]+"; then
[ -n "$wait_end" ] && return
wait_end=1
fi
echo "$line"
done < $SPEC
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment