Changed how Message-ID RFC2822 field is generated
[citadel.git] / do-release.sh
1 #!/bin/bash
2
3 # Identify the version numbers embedded in these components.
4 # This is not very useful on its own.  It will become part of a build system later.
5
6
7
8 echo -e '\033[2J\033[H'
9 echo -e '\033[34m\033[1m'
10 echo -e '╔═══════════════════════════════════════════════╗'
11 echo -e '║      UPDATE-O-VERSION-O-MATIC FOR CITADEL     ║'
12 echo -e '╚═══════════════════════════════════════════════╝'
13 echo -e '\033[0m'
14
15 libcitadel_version=`grep LIBCITADEL_VERSION_NUMBER  libcitadel/lib/libcitadel.h | sed s/"[^0-9.]"/""/g`
16 citserver_version=`grep REV_LEVEL citadel/citadel.h | sed s/"[^0-9.]"/""/g`
17 webcit_version=`grep CLIENT_VERSION webcit/webcit.h | sed s/"[^0-9.]"/""/g`
18
19 NEW_VERSION=${libcitadel_version}
20 if [ ${citserver_version} -gt ${NEW_VERSION} ] ; then
21         NEW_VERSION=${citserver_version}
22 fi
23 if [ ${webcit_version} -gt ${NEW_VERSION} ] ; then
24         NEW_VERSION=${webcit_version}
25 fi
26 NEW_VERSION=`expr ${NEW_VERSION} + 1`
27
28 echo -e '\033[33m\033[1mlibcitadel \033[32m was version     \033[33m'$libcitadel_version'\033[0m'
29 echo -e '\033[33m\033[1mcitserver  \033[32m was version     \033[33m'$citserver_version'\033[0m'
30 echo -e '\033[33m\033[1mwebcit     \033[32m was version     \033[33m'$webcit_version'\033[0m'
31 echo -e '\033[33m\033[1mnew release\033[32m will be version \033[33m'$NEW_VERSION'\033[0m'
32
33 echo -e ''
34 echo -e '\033[37m\033[1mUpdating header files to reflect the new version number\033[0m'
35 echo -e ''
36
37 # Edit libcitadel.h to make it the new version
38 sed \
39         -i s/\#define.\*LIBCITADEL_VERSION_NUMBER.\*${libcitadel_version}/\#define\ LIBCITADEL_VERSION_NUMBER\ ${NEW_VERSION}/g \
40         libcitadel/lib/libcitadel.h
41
42 # Edit citadel.h to make it the new version
43 sed \
44         -i s/\#define.\*REV_LEVEL.\*${citserver_version}/\#define\ REV_LEVEL\ ${NEW_VERSION}/g \
45         citadel/citadel.h
46
47 # Edit webcit.h to make it the new version
48 sed \
49         -i s/\#define.\*CLIENT_VERSION.\*${webcit_version}/\#define\ CLIENT_VERSION\ ${NEW_VERSION}/g \
50         webcit/webcit.h
51
52 libcitadel_version=`grep LIBCITADEL_VERSION_NUMBER  libcitadel/lib/libcitadel.h | sed s/"[^0-9.]"/""/g`
53 citserver_version=`grep REV_LEVEL citadel/citadel.h | sed s/"[^0-9.]"/""/g`
54 webcit_version=`grep CLIENT_VERSION webcit/webcit.h | sed s/"[^0-9.]"/""/g`
55
56 echo -e '\033[33m\033[1mlibcitadel \033[32m is now version  \033[33m'$libcitadel_version'\033[0m'
57 echo -e '\033[33m\033[1mcitserver  \033[32m is now version  \033[33m'$citserver_version'\033[0m'
58 echo -e '\033[33m\033[1mwebcit     \033[32m is now version  \033[33m'$webcit_version'\033[0m'
59
60 echo $NEW_VERSION >release_version.txt
61 git add release_version.txt
62 echo -e ''
63 echo -e '\033[37m\033[1mUpdating release_version.txt to indicate version '${NEW_VERSION}'\033[0m'
64 echo -e '\033[37m\033[1mGenerating a commit\033[0m'
65 echo -e ''
66 git commit -a -m "Release version ${NEW_VERSION} generated by do-release.sh"
67
68 echo -e ''
69 echo -e '\033[37m\033[1mFinished.  Remember to push this commit.\033[0m'
70 echo -e ''