]>
Commit | Line | Data |
---|---|---|
1 | #!/bin/sh | |
2 | ||
3 | # create wx tarballs automatically given a tag, or from CVS HEAD | |
4 | PROGNAME=$0 | |
5 | VERSION="" | |
6 | TAG="" | |
7 | STARTDIR=$PWD | |
8 | ||
9 | SPINWXX11=0 | |
10 | SPINWXGTK=0 | |
11 | SPINWXMOTIF=0 | |
12 | SPINWXMAC=0 | |
13 | SPINWXBASE=0 | |
14 | SPINWXMGL=0 | |
15 | SPINWXALL=0 | |
16 | SPINWXMSW=0 | |
17 | SPINDOCS=0 | |
18 | SPINEVERYTHING=0 | |
19 | REBAKE=0 | |
20 | ||
21 | SILENTFLAG="" | |
22 | ||
23 | about() | |
24 | { | |
25 | # sorry folks, I couldn't resist. :-) | |
26 | ||
27 | echo "It's the tar-o-matic 2000! It slices! It dices! It..." | |
28 | echo "Grabs CVS revisions and generates complete tarballs from them!!" | |
29 | echo "" | |
30 | echo "WARNING:" | |
31 | echo "- Do not use tar-o-matic while intoxicated." | |
32 | echo "- Do not use tar-o-matic while driving." | |
33 | echo "- Do not use tar-o-matic while driving intoxicated." | |
34 | echo "- Keep tar-o-matic away from small children. Large ones too." | |
35 | echo "- Tar-o-matic is not for use as a life-saving device." | |
36 | echo "- Do not call tar-o-matic nasty names. It really hates that." | |
37 | echo "- Avoid developing strong emotional attachment to tar-o-matic." | |
38 | echo "- Keep tar-o-matic away from unmonitored internet connections." | |
39 | echo "- Don't say we didn't warn you." | |
40 | echo "" | |
41 | echo "In case of malfunction, let tar-o-matic know that it is special." | |
42 | } | |
43 | ||
44 | usage() | |
45 | { | |
46 | echo Usage: $PROGNAME " version-number cvs-revision [ options ]" | |
47 | echo Options: | |
48 | echo " --help Display this help message" | |
49 | echo " --wxgtk Spin wxGTK" | |
50 | echo " --wxbase Spin wxBase" | |
51 | echo " --wxx11 Spin wxX11" | |
52 | echo " --wxmotif Spin wxMotif" | |
53 | echo " --wxmac Spin wxMac" | |
54 | echo " --wxmgl Spin wxMGL" | |
55 | echo " --wxall Spin wxALL" | |
56 | echo " --wxmsw Spin wxMSW" | |
57 | echo " --docs Spin docs" | |
58 | echo " --all Spin EVERYTHING" | |
59 | echo " --updatecvs Update from CVS" | |
60 | echo " --silent Don't prompt whenever possible" | |
61 | echo " only for use with revisions > 2.6.1" | |
62 | echo " --about about $PROGNAME" | |
63 | echo "" | |
64 | echo "NOTES:" | |
65 | echo "- Set EXTRASDIR environment variable to have any zip files" | |
66 | echo " in that directory copied into deliver/extra for inclusion." | |
67 | echo "- Set WXDISTDIR environment variable to have completed " | |
68 | echo " tarballs put in that directory. This allows for things like" | |
69 | echo " setting a network path for all machines to send files to." | |
70 | echo "- EXTRASDIR defaults to ./extra and WXDISTDIR defaults to ./deliver" | |
71 | ||
72 | exit 1 | |
73 | } | |
74 | ||
75 | if [ "$1" = "" ] || [ "$1" = "--help" ]; then | |
76 | usage | |
77 | exit | |
78 | fi | |
79 | ||
80 | if [ "$1" = "--about" ]; then | |
81 | about | |
82 | exit | |
83 | fi | |
84 | ||
85 | VERSION=$1 | |
86 | shift 1 | |
87 | ||
88 | FINDTAG=`echo "$1" | sed /\-\-/p` | |
89 | if [ FINDTAG != "" ]; then | |
90 | TAG=$1 | |
91 | shift 1 | |
92 | fi | |
93 | ||
94 | for i in "$@"; do | |
95 | case "$i" in | |
96 | --wxx11) SPINWXX11=1 ;; | |
97 | --wxgtk) SPINWXGTK=1 ;; | |
98 | --wxmac) SPINWXMAC=1 ;; | |
99 | --wxbase) SPINWXBASE=1 ;; | |
100 | --wxmgl) SPINWXMGL=1 ;; | |
101 | --wxmsw) SPINWXMSW=1 ;; | |
102 | --wxmotif) SPINWXMOTIF=1 ;; | |
103 | --docs) SPINDOCS=1 ;; | |
104 | --all) SPINEVERYTHING=1 ;; | |
105 | --rebake) REBAKE=1 ;; | |
106 | --silent) SILENTFLAG="--silent" ;; | |
107 | --clean-build) CLEANBUILD=1 ;; | |
108 | *) | |
109 | usage | |
110 | exit | |
111 | ;; | |
112 | esac | |
113 | done | |
114 | ||
115 | # checkout wx sources to this tree | |
116 | if [ -d ./temp-wx ]; then | |
117 | rm -rf ./temp-wx | |
118 | fi | |
119 | ||
120 | mkdir $STARTDIR/temp-wx | |
121 | WXDIR="$STARTDIR/temp-wx/wxWidgets" | |
122 | ||
123 | TAGNAME="" | |
124 | if [ "$TAG" != "" ]; then | |
125 | echo "Checking out wxWidgets revision: $TAG" | |
126 | TAGNAME="-r $TAG" | |
127 | else | |
128 | echo "Checking out wxWidgets HEAD sources..." | |
129 | fi | |
130 | echo "" # add a blank line for readability | |
131 | ||
132 | cd $STARTDIR/temp-wx | |
133 | cvs -d:pserver:anoncvs:anoncvs@cvs.wxwidgets.org:/pack/cvsroots/wxwidgets login | |
134 | ||
135 | echo "cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/pack/cvsroots/wxwidgets checkout $TAGNAME wxWidgets" | |
136 | cvs -d :pserver:anoncvs@cvs.wxwidgets.org:/pack/cvsroots/wxwidgets checkout $TAGNAME wxWidgets | |
137 | ||
138 | if [ "$REBAKE" = "1" ]; then | |
139 | echo "TODO! Implement re-baking..." | |
140 | fi | |
141 | ||
142 | # Copy extra .zips over to deliver/extra so they'll get picked up... | |
143 | if [ ! -d $WXDIR/deliver ]; then | |
144 | mkdir $WXDIR/deliver | |
145 | fi | |
146 | ||
147 | if [ ! -d $WXDIR/deliver/extra ]; then | |
148 | mkdir $WXDIR/deliver/extra | |
149 | fi | |
150 | ||
151 | # allow the user to specify extras dir in an environment variable | |
152 | EXTRA_DIR=$STARTDIR/extra | |
153 | if [ "$EXTRASDIR" != "" ]; then | |
154 | EXTRA_DIR="$EXTRASDIR" | |
155 | fi | |
156 | ||
157 | for filename in $EXTRA_DIR/*.zip | |
158 | do | |
159 | cp $filename $WXDIR/deliver/extra | |
160 | done | |
161 | ||
162 | if [ "$SPINWXMAC" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
163 | cd $WXDIR | |
164 | sh $WXDIR/distrib/msw/tardist $WXDIR $WXDIR/deliver $VERSION --wxmac | |
165 | fi | |
166 | ||
167 | if [ "$SPINEVERYTHING" = "1" ]; then | |
168 | cd $WXDIR | |
169 | sh $WXDIR/distrib/msw/tardist $WXDIR $WXDIR/deliver $VERSION --wxall | |
170 | fi | |
171 | ||
172 | if [ "$SPINWXMSW" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
173 | cd $WXDIR | |
174 | sh $WXDIR/distrib/msw/makesetup.sh --wxmsw | |
175 | fi | |
176 | ||
177 | if [ "$SPINWXBASE" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
178 | cd $WXDIR | |
179 | sh $WXDIR/distrib/msw/maketarballs $WXDIR $WXDIR/deliver $VERSION --wxbase $SILENTFLAG | |
180 | fi | |
181 | ||
182 | if [ "$SPINWXOS2" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
183 | cd $WXDIR | |
184 | sh $WXDIR/distrib/msw/makesetup.sh --wxos2 | |
185 | fi | |
186 | ||
187 | if [ "$SPINWXGTK" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
188 | cd $WXDIR | |
189 | sh $WXDIR/distrib/msw/maketarballs $WXDIR $WXDIR/deliver $VERSION --wxgtk $SILENTFLAG | |
190 | fi | |
191 | ||
192 | if [ "$SPINWXMOTIF" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
193 | cd $WXDIR | |
194 | sh $WXDIR/distrib/msw/maketarballs $WXDIR $WXDIR/deliver $VERSION --wxmotif $SILENTFLAG | |
195 | fi | |
196 | ||
197 | if [ "$SPINWXMGL" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
198 | cd $WXDIR | |
199 | sh $WXDIR/distrib/msw/maketarballs $WXDIR $WXDIR/deliver $VERSION --wxmgl $SILENTFLAG | |
200 | fi | |
201 | ||
202 | if [ "$SPINWXX11" = "1" ] || [ "$SPINEVERYTHING" = "1" ]; then | |
203 | cd $WXDIR | |
204 | sh $WXDIR/distrib/msw/maketarballs $WXDIR $WXDIR/deliver $VERSION --wxx11 $SILENTFLAG | |
205 | fi | |
206 | ||
207 | DISTDIR="$STARTDIR/deliver" | |
208 | if [ "$WXDISTDIR" != "" ] && [ -d $WXDISTDIR ]; then | |
209 | DISTDIR="$WXDISTDIR" | |
210 | fi | |
211 | ||
212 | # delete any old tarballs | |
213 | if [ -d $DISTDIR ]; then | |
214 | rm -rf $DISTDIR | |
215 | fi | |
216 | ||
217 | mkdir $DISTDIR | |
218 | ||
219 | # copy over the created tarballs | |
220 | cp $WXDIR/deliver/*.gz $DISTDIR | |
221 | cp $WXDIR/deliver/*.bz2 $DISTDIR | |
222 | cp $WXDIR/deliver/*.zip $DISTDIR |