diff --git a/autogen.sh b/autogen.sh index 07ceaccb..909caee3 100755 --- a/autogen.sh +++ b/autogen.sh @@ -26,42 +26,8 @@ fi echo "Creating help files..." perl syntax.pl -# create changelog -# the TZ hack is needed. -# otherwise the log will have local timezone -if test -z "$SVN"; then - SVN=svn -fi -if $SVN --version >/dev/null 2>/dev/null; then - if test -f $srcdir/ChangeLog; then - CHANGELOG_VERSION=`head -n 2 $srcdir/ChangeLog| grep '^r' | sed 's/^r\([0-9]*\).*/\1/'` - fi - if test -z "$CHANGELOG_VERSION"; then - echo "Getting ChangeLog from svn..." - TZ=UTC $SVN log -v > $srcdir/ChangeLog - else - SVN_VERSION=`LC_ALL=C $SVN info $srcdir | grep 'Last Changed Rev' | awk '{print $4}'` - if test -z "$SVN_VERSION"; then - echo "**Warning**: Couldn't get svn revision number. This is probably not an svn checkout." - else - if test $SVN_VERSION -eq $CHANGELOG_VERSION; then - echo ChangeLog is already up-to-date. - else - echo "Updating ChangeLog from version $CHANGELOG_VERSION to $SVN_VERSION..." - mv $srcdir/ChangeLog $srcdir/ChangeLog.prev - TZ=UTC $SVN log -v --incremental $srcdir -r $SVN_VERSION:`expr $CHANGELOG_VERSION + 1` > $srcdir/ChangeLog - cat $srcdir/ChangeLog.prev >> $srcdir/ChangeLog - fi - fi - fi -else - if test -f $srcdir/ChangeLog; then - echo "**Warning**: svn not found, skipping ChangeLog updating. The reported irssi version may be incorrect." - else - echo "**Error**: svn not found, and ChangeLog file missing, can not determine version." - exit 1 - fi -fi +$srcdir/update-changelog.sh +test -f $srcdir/ChangeLog || exit 1 files=`echo docs/help/in/*.in|sed -e 's,docs/help/in/Makefile.in ,,' -e 's,docs/help/in/,!,g' -e 's/\.in /.in ?/g'` cat docs/help/in/Makefile.am.gen|sed "s/@HELPFILES@/$files/g"|sed 's/?/\\?/g'|tr '!?' '\t\n' > docs/help/in/Makefile.am diff --git a/update-changelog.sh b/update-changelog.sh new file mode 100755 index 00000000..fe055b88 --- /dev/null +++ b/update-changelog.sh @@ -0,0 +1,15 @@ +#! /bin/sh + +srcdir=$1 +test -d $srcdir/.svn || exit +SVN_VERSION=`LC_ALL=C svn info $srcdir 2>/dev/null | awk '/^Last Changed Rev/{print $4}'` +test -n "$SVN_VERSION" || exit +if test -f $srcdir/ChangeLog; then + CHANGELOG_VERSION=`awk 'NR == 2{print substr($1, 2);exit}' $srcdir/ChangeLog` +fi +if test -z "$CHANGELOG_VERSION"; then + TZ=UTC svn log -v $srcdir > $srcdir/ChangeLog +elif test $SVN_VERSION -ne $CHANGELOG_VERSION; then + TZ=UTC svn log -v --incremental -r $SVN_VERSION:`expr $CHANGELOG_VERSION + 1` $srcdir | \ + cat - $srcdir/ChangeLog > ChangeLog.$$ && mv ChangeLog.$$ $srcdir/ChangeLog +fi