sdfjsdklfjsdlkfjds
[citadel.git] / releaseversion.sh
1 #!/bin/bash
2
3 if test "$1" = '?'; then
4
5         echo 'no help for the lost.'
6         exit
7 fi
8
9 if test "$1" = 'list'; then
10         echo "showing current release version state: "
11         echo "-------- libcitadel: --------"
12         grep AC_INIT libcitadel/configure.in
13         grep 'PACKAGE_VERSION=' libcitadel/configure
14         echo "  - Header version:"
15         grep LIBCITADEL_VERSION_NUMBER libcitadel/lib/libcitadel.h
16         head -n 5 libcitadel/debian/changelog
17         
18         echo "-------- citserver: --------"
19         grep 'PACKAGE_VERSION=' citadel/configure
20         grep '#define REV_LEVEL' citadel/citadel.h
21         grep '#define REV_MIN' citadel/citadel.h
22         grep '#define EXPORT_REV_MIN' citadel/citadel.h
23         grep '#define LIBCITADEL_MIN' citadel/citadel.h
24         head -n 5 citadel/debian/changelog
25
26         echo "-------- textclient: --------"
27         grep 'PACKAGE_VERSION=' textclient/configure
28         head -n 5 textclient/debian/changelog
29
30         echo "-------- webcit: --------"
31         grep 'PACKAGE_VERSION=' webcit/configure
32         grep '#define CLIENT_VERSION' webcit/webcit.h
33         grep '#define MINIMUM_CIT_VERSION' webcit/webcit.h
34         grep '#define LIBCITADEL_MIN' webcit/webcit.h
35         head -n 5 webcit/debian/changelog
36
37         exit
38 fi
39
40
41 if test "$1" = "revert"; then 
42         echo "reverting all changes for version files"
43         git checkout \
44         libcitadel/lib/libcitadel.h \
45         libcitadel/configure.in \
46         libcitadel/debian/changelog \
47         \
48         citadel/citadel.h \
49         citadel/configure.ac \
50         citadel/debian/changelog \
51         \
52         textclient/configure.ac \
53         textclient/debian/changelog \
54         \
55         webcit/webcit.h \
56         webcit/configure.ac \
57         webcit/debian/changelog
58
59         exit
60 fi 
61
62
63 NEW_VERSION=$1
64
65 if test -z "$NEW_VERSION" ; then
66         echo Need new version number
67         exit
68 fi
69
70 export LANG=C
71 RELEASEDATE=`date -R`
72
73
74 function DebChangeLog()
75 {
76         FILE=$1
77         PROJECT=$2
78         (
79         printf "${PROJECT} (${NEW_VERSION}-1) stable; urgency=low\n\n  * new release\n\n -- Wilfried Goesgens <w.goesgens@outgesourced.org>  ${RELEASEDATE}\n\n"
80         cat ${FILE}
81         ) > /tmp/${PROJECT}_changelog
82         rm -f ${FILE}
83         mv /tmp/${PROJECT}_changelog ${FILE}
84 }
85
86
87 ################################################################################
88 # libcitadel
89
90 DebChangeLog libcitadel/debian/changelog libcitadel
91
92 sed -i -e \
93         "s;^#define LIBCITADEL_VERSION_NUMBER.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_VERSION_NUMBER\t${NEW_VERSION}\1;g" \
94         libcitadel/lib/libcitadel.h
95
96 OLD_VERSION=`grep AC_INIT libcitadel/configure.in  |sed "s;.*\(....\), http.*;\1;"`
97 echo libcitadel OLD_VERSION is $OLD_VERSION
98
99 sed -i -e "s;${OLD_VERSION};${NEW_VERSION};" \
100         -e "s;^LIBREVISION=[0-9][0-9][0-9]\(.*\)$;LIBREVISION=${NEW_VERSION}\1;g" \
101         libcitadel/configure.in
102
103
104
105 ################################################################################
106 # citserver
107
108 DebChangeLog citadel/debian/changelog citadel
109
110 OLD_VERSION=`grep AC_INIT citadel/configure.ac  |sed "s;.*\[\(....\)\],.*;\1;"`
111 echo citserver OLD_VERSION is $OLD_VERSION
112
113 sed -i "s;${OLD_VERSION};${NEW_VERSION};" citadel/configure.ac
114
115 sed  -i -e "s;^#define REV_LEVEL.*[0-9][0-9][0-9]\(.*\)$;#define REV_LEVEL\t${NEW_VERSION}\1;g" \
116         -e "s;^#define LIBCITADEL_MIN.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_MIN\t${NEW_VERSION}\1;g" \
117         citadel/citadel.h
118
119 ################################################################################
120 # textclient
121
122 DebChangeLog textclient/debian/changelog textclient
123
124 sed -i "s;${OLD_VERSION};${NEW_VERSION};" textclient/configure.ac
125
126
127 ################################################################################
128 # webcit
129
130 DebChangeLog webcit/debian/changelog webcit
131
132 sed -i "s;${OLD_VERSION};${NEW_VERSION};" webcit/configure.ac
133
134 sed  -i -e "s;^#define CLIENT_VERSION.*[0-9][0-9][0-9]\(.*\)$;#define CLIENT_VERSION\t\t${NEW_VERSION}\1;g" \
135         -e "s;^#define MINIMUM_CIT_VERSION.*[0-9][0-9][0-9]\(.*\)$;#define MINIMUM_CIT_VERSION\t${NEW_VERSION}\1;g" \
136         -e "s;^#define LIBCITADEL_MIN.*[0-9][0-9][0-9]\(.*\)$;#define LIBCITADEL_MIN\t${NEW_VERSION}\1;g" \
137         webcit/webcit.h
138
139