source: main/trunk/release-kits/kits/rk3/installer/build.xml@ 25447

Last change on this file since 25447 was 25447, checked in by ak19, 12 years ago

On Linux, wvware didn't yet have executable permissions when installed via the GS3 binary.

File size: 16.1 KB
Line 
1<?xml version="1.0"?>
2<!--
3This is the build.xml run by AntInstaller for the installer
4-->
5<project name="Installation">
6
7 <!-- this is required to pick up the properties generated during the install pages -->
8 <property file="${basedir}/ant.install.properties"/>
9
10 <!-- custom tasks -->
11 <path id="project.classpath"><pathelement path="${antinstaller.jar}"/></path>
12
13 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
14 <!--<typedef name="adduser" classname="org.greenstone.anttasks.AddGreenstone3UserToDatabase" classpathref="project.classpath"/>-->
15 <!-- if linux|mac -->
16 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
17 <!-- /if -->
18 <!-- if windows -->
19 <taskdef name="shortcut" classname="com.orangevolt.tools.ant.Win32ShortcutTask" classpathref="project.classpath"/>
20 <taskdef name="winprops" classname="com.orangevolt.tools.ant.Win32PropertiesTask" classpathref="project.classpath"/>
21 <typedef name="getfreepath" classname="org.greenstone.anttasks.GetFreePath" classpathref="project.classpath"/>
22 <!-- /if -->
23
24 <!-- set some properties to keep track of the OS -->
25 <!-- if windows -->
26 <property name="rk.os" value="windows"/>
27 <property name="shell.name" value="windows"/>
28 <!-- /if -->
29 <!-- if linux -->
30 <property name="rk.os" value="linux"/>
31 <property name="shell.name" value="linux"/>
32 <!-- /if -->
33 <!-- if mac -->
34 <property name="rk.os" value="mac"/>
35 <property name="shell.name" value="darwin"/>
36 <!-- /if -->
37
38
39 <!-- create a local and strictly unix installDir String -->
40 <path id="installDir.path"><pathelement location="${installDir}"/></path>
41 <property name="installDir.local" refid="installDir.path"/>
42 <pathconvert targetos="unix" property="installDir.unix" refid="installDir.path"/>
43
44 <!-- if windows -->
45 <!-- load windows properties -->
46 <winprops/>
47 <!-- /if -->
48
49 <!-- work out whether a jre is bundled with this installer -->
50 <available file="../jre/bin" property="bundled.java.exists"/>
51
52 <!-- determine if there is an existing installation in the installDir-->
53 <available file="${installDir}\installation.properties" property="is.overinstall"/>
54
55 <!-- target to copy the bundled jre into place -->
56 <target name="Initialising" if="bundled.java.exists">
57 <mkdir dir="${installDir}"/>
58 <copy todir="${installDir}/packages/jre" failonerror="false">
59 <fileset dir="../jre"/>
60 </copy>
61 <chmod dir="${installDir}/packages/jre/bin" includes="*" perm="775"/>
62 </target>
63
64 <!-- target to load in the messages left by the last installation -->
65 <target name="Looking For Previous Installation" if="is.overinstall">
66 <property file="${installDir}\installation.properties"/>
67 <delete dir="${installed.startmenu.path}" failonerror="false"/>
68 </target>
69
70 <target name="Installing Core System">
71
72 <!-- rip out build.xml to the temp dir so we can fake and <antcall> with <ant> -->
73 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="build.xml"/></patternset></unzip>
74
75
76 <!-- if windows -->
77 <echo>Figuring out the start menu path</echo>
78 <getfreepath path="${win32.personal.programs_menu}\Greenstone-@version@" property="startmenu.path"/>
79 <path id="startmenu.path.path" path="${startmenu.path}"/>
80 <pathconvert targetos="unix" property="startmenu.path.unix" refid="startmenu.path.path"/>
81
82 <echo>Extracting 7za tool</echo>
83 <unzip src="${antinstaller.jar}" dest="${basedir}">
84 <patternset><include name="7za.exe"/></patternset>
85 </unzip>
86 <!-- /if -->
87
88 <echo>Extracting core component</echo>
89 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="core.lzma"/></patternset></unzip>
90 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x core.lzma"/></exec><!-- /if -->
91 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/core.lzma" output="${basedir}/core.comp"/><!-- /if -->
92 <delete file="core.lzma"/>
93 <unzip src="${basedir}/core.comp" dest="${installDir}"/>
94 <delete file="core.comp"/>
95
96 <echo>Setting binaries to executable</echo>
97 <chmod dir="${installDir}" includes="*.sh" perm="775"/>
98 <chmod dir="${installDir}/bin/script" includes="*" perm="775"/>
99 <chmod dir="${installDir}/bin" includes="*" perm="775"/>
100 <!-- if linux -->
101 <chmod dir="${installDir}/gs2build/bin/linux" includes="*" perm="775"/>
102 <chmod dir="${installDir}/gs2build/bin/linux/wv/bin" includes="*" perm="775"/>
103 <!-- /if -->
104 <!-- if mac -->
105 <chmod dir="${installDir}/gs2build/bin/darwin" includes="*" perm="775"/>
106 <chmod dir="${installDir}/gs2build/bin/darwin/wv/bin" includes="*" perm="775"/>
107 <!-- /if -->
108 <chmod dir="${installDir}/gs2build/bin/script" includes="**/*" perm="775"/>
109 <!-- GLI START -->
110 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
111 <!-- GLI END -->
112
113 <chmod file="${installDir}/packages/ant/bin/ant" perm="775"/>
114 <!--
115 source is not included for now
116 <chmod dir="${installDir}/gs2build" includes="**/configure" perm="775"/>
117 <chmod dir="${installDir}/gs2build/common-src/packages/gdbm/gdbm-1.8.3" includes="mkinstalldirs" perm="775"/>
118 <chmod file="${installDir}/src/packages/javagdbm/configure" perm="775"/>
119 -->
120
121 <echo>Setting tomcat ports</echo>
122 <rsr file="${installDir}/build.properties">
123 <job pattern="^(tomcat\.server[=:]).*" replacement="$1${tomcat.server}" />
124 <job pattern="^(tomcat\.port[=:]).*" replacement="$1${tomcat.port}" />
125 <job pattern="^(tomcat\.shutdown.port[=:]).*" replacement="$1${tomcat.shutdown.port}" />
126 </rsr>
127
128 <echo>Setting up global properties</echo>
129 <copy file="${installDir}/resources/java/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
130 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
131 <job pattern="^(gsdl3\.home[:=]).*" replacement="$1${installDir.unix}/web" />
132 <job pattern="^(tomcat.server[:=]).*" replacement="$1${tomcat.server}" />
133 <job pattern="^(tomcat\.port[:=]).*" replacement="$1${tomcat.port}" />
134 </rsr>
135
136 <echo>Setting up log4j properties</echo>
137 <copy file="${installDir}/resources/java/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
138 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
139
140 <!-- if windows -->
141 <echo message="Setting GSDLHOME in gs2build\setup.bat"/>
142 <!-- No quotes around GSDLHOME filepath in setup.bat. since the set operations of batchfiles don't want spaces in their assignments, and where quotes are needed in setup.bat, setup.bat handles this itself -->
143 <rsr file="${installDir}/gs2build/setup.bat" pattern="&quot;?\*\*GSDLHOME\*\*&quot;?" replacement="${installDir.local}\gs2build" />
144 <!-- /if -->
145
146 <!-- GLI START -->
147 <echo>Creating the english dictionary</echo>
148 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
149 <!-- GLI END -->
150
151 <echo>Creating usage.txt</echo>
152 <echo file="${installDir}/gs2build/etc/usage.txt"></echo>
153
154 <echo>Creating installation properties file</echo>
155 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
156
157 <echo>Finished</echo>
158
159 </target>
160
161 <target name="Installing ImageMagick">
162
163 <echo>Installing ImageMagick</echo>
164 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
165 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec><!-- /if -->
166 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/><!-- /if -->
167 <delete file="imagemagick.lzma"/>
168 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}"/>
169 <delete file="imagemagick.comp"/>
170
171 <echo>Setting binaries to executable</echo>
172 <!-- if linux -->
173 <chmod dir="${installDir}/gs2build/bin/linux/imagemagick/bin" includes="*" perm="775"/>
174 <!-- /if -->
175 <!-- if mac -->
176 <chmod dir="${installDir}/gs2build/bin/darwin/imagemagick/bin" includes="*" perm="775"/>
177 <!-- /if -->
178
179 </target>
180
181 <!-- NO FLAX START -->
182
183 <target name="Installing Ghostscript">
184
185 <echo>Installing Ghostscript</echo>
186 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
187 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec><!-- /if -->
188 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/ghostscript.lzma" output="${basedir}/ghostscript.comp"/><!-- /if -->
189 <delete file="ghostscript.lzma"/>
190 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}"/>
191 <delete file="ghostscript.comp"/>
192
193 <echo>Setting binaries to executable</echo>
194 <!-- if linux -->
195 <chmod dir="${installDir}/gs2build/bin/linux/ghostscript/bin" includes="*" perm="775"/>
196 <!-- /if -->
197 <!-- if mac -->
198 <chmod dir="${installDir}/gs2build/bin/darwin/ghostscript/bin" includes="*" perm="775"/>
199 <!-- /if -->
200
201 </target>
202
203 <!-- NO FLAX END -->
204
205 <!-- start amp -->
206
207 <target name="Installing AMP">
208 <echo>Installing Apache, MySQL and PHP</echo>
209 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="amp.lzma"/></patternset></unzip>
210 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x amp.lzma"/></exec><!-- /if -->
211 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/amp.lzma" output="${basedir}/amp.comp"/><!-- /if -->
212 <delete file="amp.lzma"/>
213 <unzip src="${basedir}/amp.comp" dest="${installDir}/ext/amp"/>
214 <delete file="amp.comp"/>
215
216 <!-- if linux|mac -->
217 <echo>Setting binaries to executable</echo>
218 <chmod dir="${installDir}/ext/amp" includes="*" perm="775"/>
219 <!-- /if -->
220 </target>
221
222 <!-- end amp -->
223
224 <target name="Installing Tomcat">
225
226 <echo>Installing Tomcat (packages/tomcat)</echo>
227 <mkdir dir="packages"/>
228 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="tomcat.lzma"/></patternset></unzip>
229 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x tomcat.lzma"/></exec><!-- /if -->
230 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/tomcat.lzma" output="${basedir}/tomcat.comp"/><!-- /if -->
231 <delete file="tomcat.lzma"/>
232 <unzip src="${basedir}/tomcat.comp" dest="${installDir}"/>
233 <delete file="tomcat.comp"/>
234
235
236 <echo>Changing tomcat ports tomcat's server.xml</echo>
237 <copy file="${installDir}/resources/tomcat/server_tomcat7.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
238 <rsr file="${installDir}/packages/tomcat/conf/server.xml">
239 <job pattern="@port@" replacement="${tomcat.port}"/>
240 <job pattern="@shutdown-port@" replacement="${tomcat.shutdown.port}"/>
241 </rsr>
242
243 <!-- FLAX START -->
244 <echo>Copying over FlaxWebService.wsdl and changing tomcat server/ports</echo>
245 <copy file="${installDir}/flax-resources/FlaxWebService.wsdl" tofile="${installDir}/web/FlaxWebService.wsdl" overwrite="true"/>
246 <rsr file="${installDir}/web/FlaxWebService.wsdl">
247 <job pattern="@flaxpublicserver@" replacement="${tomcat.server}"/>
248 <job pattern="@flaxpublicport@" replacement="${tomcat.port}"/>
249 </rsr>
250 <!-- FLAX END -->
251
252 <echo>Copying greenstone3.xml to tomcat directory</echo>
253 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
254 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
255 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@privilegedattribute@" replacement="privileged='true'" />
256 <echo>Set binaries to executable</echo>
257 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
258
259 </target>
260
261 <target name="Installing Start Menu Shortcuts">
262
263 <echo>Installing Start Menu Shortcuts</echo>
264
265 <!-- NO FLAX START -->
266
267 <mkdir dir="${startmenu.path}\Documentation"/>
268
269 <shortcut
270 file="${startmenu.path}\Greenstone3 Server.lnk"
271 execute="${installDir}\gs3-server.bat"
272 workingDirectory="${installDir}"
273 iconFile="${installDir}\resources\images\server.ico"
274 iconIndex="0" />
275
276 <shortcut
277 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
278 execute="${installDir}\gli\gli.bat"
279 workingDirectory="${installDir}\gli"
280 iconFile="${installDir}\resources\images\librarian.ico"
281 iconIndex="0" />
282
283 <shortcut
284 file="${startmenu.path}\Greenstone Editor for Metadata Sets (GEMS).lnk"
285 execute="${installDir}\gli\gems.bat"
286 workingDirectory="${installDir}\gli"
287 iconFile="${installDir}\resources\images\metadata.ico"
288 iconIndex="0" />
289
290 <shortcut
291 file="${startmenu.path}\Uninstall.lnk"
292 execute="${installDir}\uninstall\Uninstall.bat"
293 workingDirectory="${installDir}"
294 iconFile="${installDir}\resources\images\uninstall.ico"
295 iconIndex="0" />
296
297 <shortcut
298 file="${startmenu.path}\Documentation\README.lnk"
299 execute="${installDir}\README.txt" />
300
301 <shortcut
302 file="${startmenu.path}\Documentation\Greenstone3 Users' Guide.lnk"
303 execute="${installDir}\documentation\manual\manual.pdf" />
304
305 <shortcut
306 file="${startmenu.path}\Documentation\Greenstone2 Users' Guide.lnk"
307 execute="${installDir}\documentation\manual\gs2_user_en.pdf" />
308
309 <shortcut
310 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
311 url="http://wiki.greenstone.org" />
312
313 <shortcut
314 file="${startmenu.path}\Documentation\Greenstone Website.url"
315 url="http://www.greenstone.org" />
316
317 <!-- NO FLAX END -->
318
319 <!-- FLAX START -->
320
321 <shortcut
322 file="${startmenu.path}\Start FLAX Server.lnk"
323 execute="${installDir}\gs3-server.bat"
324 workingDirectory="${installDir}"
325 iconFile="${installDir}\resources\images\server.ico"
326 iconIndex="0" />
327
328 <shortcut
329 file="${startmenu.path}\Uninstall.lnk"
330 execute="${installDir}\uninstall\Uninstall.bat"
331 workingDirectory="${installDir}"
332 iconFile="${installDir}\resources\images\uninstall.ico"
333 iconIndex="0" />
334
335 <!-- FLAX END -->
336 </target>
337
338
339 <target name="Configuring Administration Pages" if="enable.admin.pages">
340 <echo>Enabling Admin Pages</echo>
341 <rsr file="${installDir}/web/sites/localsite/siteConfig.xml" pattern="&lt;!--&lt;serviceRack name='Authentication'/&gt;--&gt;" replacement="&lt;serviceRack name='Authentication'/&gt;"/>
342 <echo>Creating admin user</echo>
343 <!--<echo>Creating admin and demo users</echo>-->
344 <!-- if windows -->
345 <exec dir="${installDir}" executable="cmd.exe">
346 <arg line="/c echo ${admin.password}| ant config-admin"/>
347 </exec>
348 <!-- /if -->
349 <!-- if linux|mac -->
350 <exec dir="${installDir}" executable="echo">
351 <arg line="${admin.password}| ant config-admin"/>
352 </exec>
353 <!-- /if -->
354 <!--<adduser txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
355 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
356 username="admin"
357 password="${admin.password}"
358 groups="administrator,colbuilder,all-collections-editor"
359 comment="created at install time"
360 email=""/>
361 <adduser
362 txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
363 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
364 username="demo"
365 password="demo"
366 groups="demo"
367 comment="Dummy 'demo' user with password 'demo' for authen-e collection"
368 email=""/>-->
369 </target>
370
371
372 <!-- util target to extract the given component -->
373 <!-- pass in ${component.name} as a param -->
374 <!-- unused at this time as causes display errors in installer gui!
375 <target name="extract-component">
376 <!- - extract the component into place - ->
377 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
378 <!- - if windows - ->
379 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
380 <!- - /if - ->
381 <!- - if linux|mac - ->
382 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
383 <!- - /if - ->
384 <delete file="${component.name}.lzma"/>
385 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
386 <delete file="${component.name}.comp"/>
387 </target>
388 -->
389
390</project>
Note: See TracBrowser for help on using the repository browser.