From 1e046db3def244dae0d25b6386eb98faeda1f781 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Sun, 20 Oct 2013 18:53:14 +0200 Subject: [PATCH] Add helper script for release management --- releaseversion.sh | 134 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100755 releaseversion.sh diff --git a/releaseversion.sh b/releaseversion.sh new file mode 100755 index 000000000..f3c121070 --- /dev/null +++ b/releaseversion.sh @@ -0,0 +1,134 @@ +#!/bin/bash + +if test "$1" = '?'; then + + echo 'no help for the lost.' + exit +fi + +if test "$1" = 'list'; then + echo "showing current release version state: " + echo "-------- libcitadel: --------" + grep AC_INIT libcitadel/configure.in + grep 'PACKAGE_VERSION=' libcitadel/configure + echo " - Header version:" + grep LIBCITADEL_VERSION_NUMBER libcitadel/lib/libcitadel.h + head -n 5 libcitadel/debian/changelog + + echo "-------- citserver: --------" + grep 'PACKAGE_VERSION=' citadel/configure + grep '#define REV_LEVEL' citadel/citadel.h + grep '#define REV_MIN' citadel/citadel.h + grep '#define EXPORT_REV_MIN' citadel/citadel.h + grep '#define LIBCITADEL_MIN' citadel/citadel.h + head -n 5 citadel/debian/changelog + + echo "-------- textclient: --------" + grep 'PACKAGE_VERSION=' textclient/configure + head -n 5 textclient/debian/changelog + + echo "-------- webcit: --------" + grep 'PACKAGE_VERSION=' webcit/configure + grep '#define CLIENT_VERSION' webcit/webcit.h + grep '#define MINIMUM_CIT_VERSION' webcit/webcit.h + grep '#define LIBCITADEL_MIN' webcit/webcit.h + head -n 5 webcit/debian/changelog + + exit +fi + + +if test "$1" = "revert"; then + echo "reverting all changes for version files" + git checkout \ + libcitadel/lib/libcitadel.h \ + libcitadel/configure.in \ + libcitadel/debian/changelog \ + \ + citadel/citadel.h \ + citadel/configure.ac \ + citadel/debian/changelog \ + \ + textclient/configure.ac \ + textclient/debian/changelog \ + \ + webcit/webcit.h \ + webcit/configure.ac \ + webcit/debian/changelog + + exit +fi + + +PRINT_VERSION=$1 +HEADER_VERSION=$2 + +if test -z "$PRINT_VERSION" -o -z "$HEADER_VERSION"; then + echo "need print version ( 8.xx) and lib version 8xx" + exit +fi + +export LANG=C +RELEASEDATE=`date -R` + + +function DebChangeLog() +{ + FILE=$1 + PROJECT=$2 + ( + printf "${PROJECT} (${PRINT_VERSION}-1) stable; urgency=low\n\n * new release\n\n -- Wilfried Goesgens ${RELEASEDATE}\n\n" + cat ${FILE} + ) > /tmp/${PROJECT}_changelog + rm -f ${FILE} + mv /tmp/${PROJECT}_changelog ${FILE} +} + + +################################################################################ +# libcitadel + +DebChangeLog libcitadel/debian/changelog libcitadel + +sed -i -e "s;^#define LIBCITADEL_VERSION_NUMBER.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_VERSION_NUMBER\t${HEADER_VERSION}\1;g" \ + libcitadel/lib/libcitadel.h + +OLD_LIB_PRINTVERSION=`grep AC_INIT libcitadel/configure.in |sed "s;.*\(....\), http.*;\1;"` + +sed -i -e "s;${OLD_LIB_PRINTVERSION};${PRINT_VERSION};" \ + -e "s;^LIBREVISION=[0-9][0-9][0-9]\(.*\)$;LIBREVISION=${HEADER_VERSION}\1;g" \ + libcitadel/configure.in + + + +################################################################################ +# citserver + +DebChangeLog citadel/debian/changelog citadel + +OLD_PRINTVERSION=`grep AC_INIT citadel/configure.ac |sed "s;.*\[\(....\)\],.*;\1;"` + +sed -i "s;${OLD_PRINTVERSION};${PRINT_VERSION};" citadel/configure.ac + +sed -i -e "s;^#define REV_LEVEL.*[0-9][0-9][0-9]\(.*\)$;#define REV_LEVEL\t${HEADER_VERSION}\1;g" \ + -e "s;^#define LIBCITADEL_MIN.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_MIN\t${HEADER_VERSION}\1;g" \ + citadel/citadel.h + +################################################################################ +# textclient +DebChangeLog textclient/debian/changelog textclient +sed -i "s;${OLD_PRINTVERSION};${PRINT_VERSION};" textclient/configure.ac + + + +################################################################################ +# webcit +DebChangeLog webcit/debian/changelog webcit +sed -i "s;${OLD_PRINTVERSION};${PRINT_VERSION};" webcit/configure.ac + +sed -i -e "s;^#define CLIENT_VERSION.*[0-9][0-9][0-9]\(.*\)$;#define CLIENT_VERSION\t\t${HEADER_VERSION}\1;g" \ + -e "s;^#define MINIMUM_CIT_VERSION.*[0-9][0-9][0-9]\(.*\)$;#define MINIMUM_CIT_VERSION\t${HEADER_VERSION}\1;g" \ + -e "s;^#define LIBCITADEL_MIN.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_MIN\t${HEADER_VERSION}\1;g" \ + webcit/webcit.h + + -- 2.30.2