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
RevLine 
[14982]1<?xml version="1.0"?>
2<!--
3This is the build.xml run by AntInstaller for the installer
4-->
[15205]5<project name="Installation">
[14982]6
7 <!-- this is required to pick up the properties generated during the install pages -->
8 <property file="${basedir}/ant.install.properties"/>
9
[19935]10 <!-- custom tasks -->
11 <path id="project.classpath"><pathelement path="${antinstaller.jar}"/></path>
[14982]12
[24437]13 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
[25329]14 <!--<typedef name="adduser" classname="org.greenstone.anttasks.AddGreenstone3UserToDatabase" classpathref="project.classpath"/>-->
[19959]15 <!-- if linux|mac -->
[17468]16 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
[19959]17 <!-- /if -->
[19935]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 -->
[24437]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
[14982]38
[19935]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"/>
[14982]43
[19935]44 <!-- if windows -->
45 <!-- load windows properties -->
46 <winprops/>
47 <!-- /if -->
48
49 <!-- work out whether a jre is bundled with this installer -->
[20306]50 <available file="../jre/bin" property="bundled.java.exists"/>
[19935]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 -->
[17765]56 <target name="Initialising" if="bundled.java.exists">
[17754]57 <mkdir dir="${installDir}"/>
58 <copy todir="${installDir}/packages/jre" failonerror="false">
[19935]59 <fileset dir="../jre"/>
[17754]60 </copy>
61 <chmod dir="${installDir}/packages/jre/bin" includes="*" perm="775"/>
62 </target>
63
[19935]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
[17764]70 <target name="Installing Core System">
[17754]71
[19935]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>
[14982]74
75
[19935]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>
[20190]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"/>
[19935]95
96 <echo>Setting binaries to executable</echo>
[14982]97 <chmod dir="${installDir}" includes="*.sh" perm="775"/>
98 <chmod dir="${installDir}/bin/script" includes="*" perm="775"/>
[15142]99 <chmod dir="${installDir}/bin" includes="*" perm="775"/>
[19935]100 <!-- if linux -->
[14982]101 <chmod dir="${installDir}/gs2build/bin/linux" includes="*" perm="775"/>
[25447]102 <chmod dir="${installDir}/gs2build/bin/linux/wv/bin" includes="*" perm="775"/>
[19935]103 <!-- /if -->
104 <!-- if mac -->
105 <chmod dir="${installDir}/gs2build/bin/darwin" includes="*" perm="775"/>
[25447]106 <chmod dir="${installDir}/gs2build/bin/darwin/wv/bin" includes="*" perm="775"/>
[19935]107 <!-- /if -->
[14982]108 <chmod dir="${installDir}/gs2build/bin/script" includes="**/*" perm="775"/>
[23816]109 <!-- GLI START -->
[14982]110 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
[23816]111 <!-- GLI END -->
112
[25080]113 <chmod file="${installDir}/packages/ant/bin/ant" perm="775"/>
[19964]114 <!--
115 source is not included for now
[19953]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"/>
[19964]118 <chmod file="${installDir}/src/packages/javagdbm/configure" perm="775"/>
119 -->
[14982]120
[19935]121 <echo>Setting tomcat ports</echo>
[21847]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>
[14982]127
[17123]128 <echo>Setting up global properties</echo>
[14982]129 <copy file="${installDir}/resources/java/global.properties.in" tofile="${installDir}/web/WEB-INF/classes/global.properties" overwrite="true"/>
[19935]130 <rsr file="${installDir}/web/WEB-INF/classes/global.properties">
[21847]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}" />
[19935]134 </rsr>
[14982]135
[17123]136 <echo>Setting up log4j properties</echo>
[14982]137 <copy file="${installDir}/resources/java/log4j.properties.in" tofile="${installDir}/web/WEB-INF/classes/log4j.properties" overwrite="true"/>
[19955]138 <rsr file="${installDir}/web/WEB-INF/classes/log4j.properties" pattern="@gsdl3home@" replacement="${installDir.unix}/web" />
[14982]139
[19935]140 <!-- if windows -->
141 <echo message="Setting GSDLHOME in gs2build\setup.bat"/>
[21890]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" />
[19935]144 <!-- /if -->
145
[23816]146 <!-- GLI START -->
[18980]147 <echo>Creating the english dictionary</echo>
148 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
[23816]149 <!-- GLI END -->
[18980]150
[19935]151 <echo>Creating usage.txt</echo>
[17814]152 <echo file="${installDir}/gs2build/etc/usage.txt"></echo>
153
[17257]154 <echo>Creating installation properties file</echo>
[19935]155 <echo file="${installDir}\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
[17257]156
[17123]157 <echo>Finished</echo>
[15142]158
[14982]159 </target>
160
[17646]161 <target name="Installing ImageMagick">
[19935]162
[17646]163 <echo>Installing ImageMagick</echo>
[20190]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"/>
[19935]170
171 <echo>Setting binaries to executable</echo>
172 <!-- if linux -->
[17699]173 <chmod dir="${installDir}/gs2build/bin/linux/imagemagick/bin" includes="*" perm="775"/>
[19935]174 <!-- /if -->
175 <!-- if mac -->
176 <chmod dir="${installDir}/gs2build/bin/darwin/imagemagick/bin" includes="*" perm="775"/>
177 <!-- /if -->
178
[14982]179 </target>
180
[23843]181 <!-- NO FLAX START -->
182
[19935]183 <target name="Installing Ghostscript">
[17646]184
[19935]185 <echo>Installing Ghostscript</echo>
[20190]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"/>
[19935]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
[23843]203 <!-- NO FLAX END -->
204
[22325]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
[17596]224 <target name="Installing Tomcat">
[19935]225
[17123]226 <echo>Installing Tomcat (packages/tomcat)</echo>
[17446]227 <mkdir dir="packages"/>
[20190]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"/>
[17446]234
[20190]235
[17123]236 <echo>Changing tomcat ports tomcat's server.xml</echo>
[25156]237 <copy file="${installDir}/resources/tomcat/server_tomcat7.xml" tofile="${installDir}/packages/tomcat/conf/server.xml" overwrite="true"/>
[19935]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
[23811]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
[17123]252 <echo>Copying greenstone3.xml to tomcat directory</echo>
[15973]253 <copy file="${installDir}/resources/tomcat/greenstone3.xml" tofile="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" overwrite="true"/>
[19962]254 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@gsdl3webhome@" replacement="${installDir.local}${file.separator}web" />
[23667]255 <rsr file="${installDir}/packages/tomcat/conf/Catalina/localhost/greenstone3.xml" pattern="@privilegedattribute@" replacement="privileged='true'" />
[19935]256 <echo>Set binaries to executable</echo>
[15973]257 <chmod dir="${installDir}/packages/tomcat/bin" includes="*.sh" perm="775"/>
[19935]258
[15142]259 </target>
[15205]260
[19935]261 <target name="Installing Start Menu Shortcuts">
[17786]262
[19935]263 <echo>Installing Start Menu Shortcuts</echo>
[17814]264
[23937]265 <!-- NO FLAX START -->
266
[19935]267 <mkdir dir="${startmenu.path}\Documentation"/>
[23811]268
[19935]269 <shortcut
270 file="${startmenu.path}\Greenstone3 Server.lnk"
271 execute="${installDir}\gs3-server.bat"
272 workingDirectory="${installDir}"
[21819]273 iconFile="${installDir}\resources\images\server.ico"
[19935]274 iconIndex="0" />
[17786]275
[19935]276 <shortcut
277 file="${startmenu.path}\Greenstone Librarian Interface (GLI).lnk"
278 execute="${installDir}\gli\gli.bat"
279 workingDirectory="${installDir}\gli"
[21819]280 iconFile="${installDir}\resources\images\librarian.ico"
[19935]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"
[21819]287 iconFile="${installDir}\resources\images\metadata.ico"
[19935]288 iconIndex="0" />
[17786]289
[19935]290 <shortcut
291 file="${startmenu.path}\Uninstall.lnk"
[23836]292 execute="${installDir}\uninstall\Uninstall.bat"
[19935]293 workingDirectory="${installDir}"
[20012]294 iconFile="${installDir}\resources\images\uninstall.ico"
[19935]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" />
[20012]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" />
[19935]316
[23811]317 <!-- NO FLAX END -->
318
[24091]319 <!-- FLAX START -->
[23811]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"
[23836]330 execute="${installDir}\uninstall\Uninstall.bat"
[23811]331 workingDirectory="${installDir}"
332 iconFile="${installDir}\resources\images\uninstall.ico"
333 iconIndex="0" />
334
335 <!-- FLAX END -->
[19935]336 </target>
[17814]337
[24437]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;"/>
[25329]342 <echo>Creating admin user</echo>
343 <!--<echo>Creating admin and demo users</echo>-->
[25385]344 <!-- if windows -->
[25329]345 <exec dir="${installDir}" executable="cmd.exe">
346 <arg line="/c echo ${admin.password}| ant config-admin"/>
347 </exec>
[25385]348 <!-- /if -->
349 <!-- if linux|mac -->
350 <exec dir="${installDir}" executable="echo">
351 <arg line="${admin.password}| ant config-admin"/>
352 </exec>
353 <!-- /if -->
[25329]354 <!--<adduser txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
355 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
[24437]356 username="admin"
357 password="${admin.password}"
358 groups="administrator,colbuilder,all-collections-editor"
[25329]359 comment="created at install time"
360 email=""/>
[24437]361 <adduser
[25329]362 txt2db="org.greenstone.gsdl3.util.ChangePwdUsersDB"
363 usersDb="${installDir}/web/sites/localsite/etc/usersDB"
[24437]364 username="demo"
365 password="demo"
366 groups="demo"
[25329]367 comment="Dummy 'demo' user with password 'demo' for authen-e collection"
368 email=""/>-->
[24437]369 </target>
370
371
[19935]372 <!-- util target to extract the given component -->
373 <!-- pass in ${component.name} as a param -->
[20190]374 <!-- unused at this time as causes display errors in installer gui!
[19935]375 <target name="extract-component">
[20190]376 <!- - extract the component into place - ->
[19935]377 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="${component.name}.lzma"/></patternset></unzip>
[20190]378 <!- - if windows - ->
[19935]379 <exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ${component.name}.lzma"/></exec>
[20190]380 <!- - /if - ->
381 <!- - if linux|mac - ->
[19935]382 <sevenzip task="decode" input="${basedir}/${component.name}.lzma" output="${basedir}/${component.name}.comp"/>
[20190]383 <!- - /if - ->
[19935]384 <delete file="${component.name}.lzma"/>
385 <unzip src="${basedir}/${component.name}.comp" dest="${installDir}"/>
386 <delete file="${component.name}.comp"/>
[17786]387 </target>
[20190]388 -->
[17786]389
[14982]390</project>
Note: See TracBrowser for help on using the repository browser.