From 9f0ed52cbf3e24a5b6e26b1e29ddf44c736315b5 Mon Sep 17 00:00:00 2001 From: tchernobog Date: Fri, 13 Jan 2006 16:16:46 +0000 Subject: [PATCH] - Add support for automatic ChangeLog creation with svn2cl git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@171 3ecf2c5c-341e-0410-92b4-d18e462d057c --- ChangeLog | 83 ++++++++++-------- autogen.sh | 11 ++- config/svn2cl.sh | 130 ++++++++++++++++++++++++++++ config/svn2cl.xsl | 215 ++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 402 insertions(+), 37 deletions(-) create mode 100755 config/svn2cl.sh create mode 100644 config/svn2cl.xsl diff --git a/ChangeLog b/ChangeLog index 2cfb917..d4e26dc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,37 +1,50 @@ -2006-01-13 gettextize +2006-01-13 16:00 tchernobog - * m4/codeset.m4: New file, from gettext-0.14.5. - * m4/gettext.m4: New file, from gettext-0.14.5. - * m4/glibc2.m4: New file, from gettext-0.14.5. - * m4/glibc21.m4: New file, from gettext-0.14.5. - * m4/iconv.m4: New file, from gettext-0.14.5. - * m4/intdiv0.m4: New file, from gettext-0.14.5. - * m4/intmax.m4: New file, from gettext-0.14.5. - * m4/inttypes.m4: New file, from gettext-0.14.5. - * m4/inttypes_h.m4: New file, from gettext-0.14.5. - * m4/inttypes-pri.m4: New file, from gettext-0.14.5. - * m4/isc-posix.m4: New file, from gettext-0.14.5. - * m4/lcmessage.m4: New file, from gettext-0.14.5. - * m4/lib-ld.m4: New file, from gettext-0.14.5. - * m4/lib-link.m4: New file, from gettext-0.14.5. - * m4/lib-prefix.m4: New file, from gettext-0.14.5. - * m4/longdouble.m4: New file, from gettext-0.14.5. - * m4/longlong.m4: New file, from gettext-0.14.5. - * m4/nls.m4: New file, from gettext-0.14.5. - * m4/po.m4: New file, from gettext-0.14.5. - * m4/printf-posix.m4: New file, from gettext-0.14.5. - * m4/progtest.m4: New file, from gettext-0.14.5. - * m4/signed.m4: New file, from gettext-0.14.5. - * m4/size_max.m4: New file, from gettext-0.14.5. - * m4/stdint_h.m4: New file, from gettext-0.14.5. - * m4/uintmax_t.m4: New file, from gettext-0.14.5. - * m4/ulonglong.m4: New file, from gettext-0.14.5. - * m4/wchar_t.m4: New file, from gettext-0.14.5. - * m4/wint_t.m4: New file, from gettext-0.14.5. - * m4/xsize.m4: New file, from gettext-0.14.5. - * m4/Makefile.am (EXTRA_DIST): New variable. - * Makefile.am (EXTRA_DIST): Add config/config.rpath, config/mkinstalldirs. - * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in. + * trunk/autogen.sh, trunk/configure.ac: - Add macro for autopoint + +2006-01-13 15:52 tchernobog + + * trunk/ChangeLog, trunk/Makefile.am, trunk/autogen.sh, + trunk/configure.ac, trunk/doc/Makefile.am, trunk/doc/sgpem2.texi, + trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi, + trunk/gettext.h, trunk/m4/Makefile.am, trunk/m4/ac_pkg_swig.m4, + trunk/m4/ac_python_devel.m4, trunk/m4/ac_python_module.m4, + trunk/po/ChangeLog, trunk/po/Makevars, trunk/po/POTFILES.in: - + Added libtool, gettext support - Added needed m4 macros - fixed + autogen.sh to be made executable - fix directory categories with + info manuals + +2005-12-30 20:09 tchernobog + + * trunk/autogen.sh, trunk/configure.ac: - Fix autoreconf parameters + in autogen.sh - Change obsolete macros in configure.ac + +2005-12-30 19:40 tchernobog + + * trunk/AUTHORS, trunk/COPYING, trunk/ChangeLog, trunk/Makefile.am, + trunk/NEWS, trunk/README, trunk/autogen.sh, trunk/configure.ac, + trunk/doc/Makefile.am, trunk/doc/sgpem2.texi, + trunk/doc/sgpem2dman.texi, trunk/doc/sgpem2uman.texi, + trunk/m4/Makefile.am, trunk/m4/compilerflags.m4: - Lay out + autotools foundations + +2005-12-26 23:21 tchernobog + + * trunk/doc/gpl.texi, trunk/doc/sgpem2dman.texi: - Changed dir + layout to reflect current repository setup - Added how to insert + license info in the source files + +2005-12-21 12:22 johnny + + * trunk/data, trunk/desktop, trunk/distro, trunk/m4, trunk/po: - + Added directories as defined in developers' manual. + +2005-12-21 12:09 johnny + + * docs/manuals, src, trunk/doc, trunk/src: - Moved src in trunk/src + - Moved docs/manuals in trunk/doc + +2005-12-21 12:06 johnny + + * branches, tags, trunk: - Added directories tags, trunk, branches. -2005, December 30th Matteo Settenvini - * Lay out autotools foundations diff --git a/autogen.sh b/autogen.sh index 4e41105..9c70a9e 100755 --- a/autogen.sh +++ b/autogen.sh @@ -1,7 +1,14 @@ #!/bin/sh -if [ ! -d config ]; then - mkdir config +# Changelog from SVN (svn2cl) +if [ -d .svn ]; then + if [ "x$no_log" != "x1" ]; then + # only recreate if we in svn repository + echo "*info* creating ChangeLog from SVN history" + sh ./config/svn2cl.sh + fi fi +touch ChangeLog +# run autoreconf autoreconf -i --warnings=all -B m4 -v diff --git a/config/svn2cl.sh b/config/svn2cl.sh new file mode 100755 index 0000000..bf89bb0 --- /dev/null +++ b/config/svn2cl.sh @@ -0,0 +1,130 @@ +#!/bin/sh + +# svn2cl.sh - front end shell script for svn2cl.xsl, calls xsltproc +# with the correct parameters +# +# Copyright (C) 2005 Arthur de Jong. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. The name of the author may not be used to endorse or promote +# products derived from this software without specific prior +# written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER +# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN +# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# exit on any failures +set -e + +# svn2cl version +VERSION="0.3" + +# set default parameters +STRIPPREFIX=`basename $(pwd)` +LINELEN=75 +GROUPBYDAY="no" +INCLUDEREV="no" +CHANGELOG="ChangeLog" + +# do command line checking +prog=`basename $0` +while [ -n "$1" ] +do + case "$1" in + --strip-prefix) + STRIPPREFIX="$2" + shift 2 + ;; + --linelen) + LINELEN="$2"; + shift 2 + ;; + --group-by-day) + GROUPBYDAY="yes"; + shift + ;; + -r|--include-rev) + INCLUDEREV="yes"; + shift + ;; + -o|--output) + CHANGELOG="$2" + shift 2 + ;; + --stdout) + CHANGELOG="-" + shift + ;; + -V|--version) + echo "$prog $VERSION"; + echo "Written by Arthur de Jong." + echo "" + echo "Copyright (C) 2005 Arthur de Jong." + echo "This is free software; see the source for copying conditions. There is NO" + echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." + exit 0 + ;; + -h|--help) + echo "Usage: $prog [OPTION]..." + echo "Generate a ChangeLog from a checked out subversion repository." + echo "" + echo " --strip-prefix NAME prefix to strip from all entries, defaults" + echo " to the name of the current directory" + echo " --linelen NUM maximum length of an output line" + echo " --group-by-day group changelog entries by day" + echo " -r, --include-rev include revision numbers" + echo " -o, --output FILE output to FILE instead of ChangeLog" + echo " -f, --file FILE alias for -o, --output" + echo " --stdout output to stdout instead of ChangeLog" + echo " -h, --help display this help and exit" + echo " -V, --version output version information and exit" + exit 0 + ;; + *) + echo "$prog: invalid option -- $1" + echo "Try \`$prog --help' for more information." + exit 1 + ;; + esac +done + +# find the directory that this script resides in +prog="$0" +while [ -h "$prog" ] +do + prog=`ls -ld "$prog" | sed "s/^.*-> \(.*\)/\1/;/^[^/]/s,^,$(dirname "$prog")/,"` +done +dir=`dirname $prog` +dir=`cd $dir && pwd` +XSL="$dir/svn2cl.xsl" + +# redirect stdout to the changelog file if needed +if [ "x$CHANGELOG" != "x-" ] +then + exec > "$CHANGELOG" +fi + +# actually run the command we need +svn --verbose --xml log | \ + xsltproc --stringparam strip-prefix "$STRIPPREFIX" \ + --stringparam linelen $LINELEN \ + --stringparam groupbyday $GROUPBYDAY \ + --stringparam include-rev $INCLUDEREV \ + "$XSL" - diff --git a/config/svn2cl.xsl b/config/svn2cl.xsl new file mode 100644 index 0000000..f4226b5 --- /dev/null +++ b/config/svn2cl.xsl @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + * + + + + + + + + + + + + + + + + , + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +