|
Matthias Brugger |
c8a553 |
#!/bin/bash
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
0a417c |
#############################################################################
|
|
Michal Marek |
0a417c |
# Copyright (c) 2008,2009 Novell, Inc.
|
|
Michal Marek |
0a417c |
# All Rights Reserved.
|
|
Michal Marek |
0a417c |
#
|
|
Michal Marek |
0a417c |
# This program is free software; you can redistribute it and/or
|
|
Michal Marek |
0a417c |
# modify it under the terms of version 2 of the GNU General Public License as
|
|
Michal Marek |
0a417c |
# published by the Free Software Foundation.
|
|
Michal Marek |
0a417c |
#
|
|
Michal Marek |
0a417c |
# This program is distributed in the hope that it will be useful,
|
|
Michal Marek |
0a417c |
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Michal Marek |
0a417c |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Michal Marek |
0a417c |
# GNU General Public License for more details.
|
|
Michal Marek |
0a417c |
#
|
|
Michal Marek |
0a417c |
# You should have received a copy of the GNU General Public License
|
|
Michal Marek |
0a417c |
# along with this program; if not, contact Novell, Inc.
|
|
Michal Marek |
0a417c |
#
|
|
Michal Marek |
0a417c |
# To contact Novell about this file by physical or electronic mail,
|
|
Michal Marek |
0a417c |
# you may find current contact information at www.novell.com
|
|
Michal Marek |
0a417c |
#############################################################################
|
|
Michal Marek |
0a417c |
|
|
Michal Marek |
9bee79 |
unset FILE
|
|
Michal Marek |
9bee79 |
export EDITOR=${EDITOR:=vim}
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
[ -z "$GIT_COMMITTER_EMAIL" ] && GIT_COMMITTER_EMAIL=$(git config --get user.email)
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
if [ -n "$1" ]; then
|
|
Michal Marek |
9bee79 |
if [ -f "$1" ]; then
|
|
Michal Marek |
9bee79 |
FILE=$1
|
|
Michal Marek |
9bee79 |
else
|
|
Michal Marek |
9bee79 |
if [ -d "$1" ]; then
|
|
Michal Marek |
9bee79 |
cd $1
|
|
Michal Marek |
9bee79 |
else
|
|
Michal Marek |
9bee79 |
FILE=${1##*/}.changes
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
if [ -z "$FILE" ]; then
|
|
Michal Marek |
9bee79 |
echo "Usage: ${0##*/} [filename[.changes]|path [file_with_comment]]"
|
|
Michal Marek |
9bee79 |
echo " If no <filename> is given, exactly one *.changes or"
|
|
Michal Marek |
9bee79 |
echo " *.spec file has to be in the cwd or in <path>."
|
|
Michal Marek |
9bee79 |
echo
|
|
Michal Marek |
9bee79 |
exit 1
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
COMMENT_FILE=$2
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
tmpfile=$(mktemp /tmp/${0##*/}.XXXXXX)
|
|
Michal Marek |
9bee79 |
trap "rm -f $lockfile $tmpfile" EXIT
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
{
|
|
Michal Marek |
9bee79 |
timestamp=$(LC_ALL=POSIX TZ=Europe/Berlin date)
|
|
Michal Marek |
9bee79 |
committer=${SUSE_COMMITTER_EMAIL:-${GIT_COMMITTER_EMAIL:-$(id -un)@suse.de}}
|
|
Michal Marek |
9bee79 |
echo "-------------------------------------------------------------------"
|
|
Michal Marek |
9bee79 |
echo "$timestamp - $committer"
|
|
Michal Marek |
9bee79 |
echo
|
|
Michal Marek |
9bee79 |
if [ -n "$CHANGE_MESSAGE" ]; then
|
|
Michal Marek |
9bee79 |
echo "- $CHANGE_MESSAGE"
|
|
Michal Marek |
9bee79 |
elif [ -z "$COMMENT_FILE" ]; then
|
|
Michal Marek |
9bee79 |
echo "- "
|
|
Michal Marek |
9bee79 |
else
|
|
Michal Marek |
9bee79 |
cat $COMMENT_FILE
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
echo
|
|
Michal Marek |
9bee79 |
if [ -f "$FILE" ]; then
|
|
Michal Marek |
9bee79 |
cat $FILE
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
} >> $tmpfile || exit 1
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
if [ -z "$COMMENT_FILE" ]; then
|
|
Michal Marek |
9bee79 |
lines=1
|
|
Michal Marek |
9bee79 |
CHKSUM_BEFORE=$(md5sum $tmpfile | awk '{print $1}')
|
|
Michal Marek |
9bee79 |
else
|
|
Michal Marek |
9bee79 |
lines=$(wc -l $COMMENT_FILE | awk '{print $1}')
|
|
Michal Marek |
9bee79 |
CHKSUM_BEFORE=has_changed
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
if test -z "$CHANGE_MESSAGE"; then
|
|
Michal Marek |
9bee79 |
$EDITOR +$((3+lines)) $tmpfile
|
|
Michal Marek |
9bee79 |
|
|
Michal Marek |
9bee79 |
if [ "$CHKSUM_BEFORE" = "$(md5sum $tmpfile | awk '{print $1}')" ]; then
|
|
Michal Marek |
9bee79 |
exit 1
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
fi
|
|
Michal Marek |
9bee79 |
cat $tmpfile > $FILE
|