source: main/trunk/release-kits/kits/rk2/installer/build.xml@ 23244

Last change on this file since 23244 was 23244, checked in by sjm84, 13 years ago

Updated the Uninstall start menu shortcut to point to the correct location

File size: 13.7 KB
Line 
1<?xml version="1.0"?>
2<!--
3This is the build.xml run by AntInstaller for the installer
4-->
5
6<project name="Installation">
7
8 <!-- this is required to pick up the properties generated during the install pages -->
9 <property file="${basedir}/ant.install.properties"/>
10
11 <!-- set some properties to keep track of the OS -->
12 <!-- if windows -->
13 <property name="rk.os" value="windows"/>
14 <property name="shell.name" value="windows"/>
15 <!-- /if -->
16 <!-- if linux -->
17 <property name="rk.os" value="linux"/>
18 <property name="shell.name" value="linux"/>
19 <!-- /if -->
20 <!-- if mac -->
21 <property name="rk.os" value="mac"/>
22 <property name="shell.name" value="darwin"/>
23 <!-- /if -->
24
25 <!-- classpath -->
26 <path id="project.classpath">
27 <pathelement path="${antinstaller.jar}"/>
28 </path>
29
30 <!-- custom tasks -->
31 <taskdef name="if" classname="ise.antelope.tasks.IfTask" classpathref="project.classpath"/>
32 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
33 <typedef name="adduser" classname="org.greenstone.anttasks.AddGreenstoneUserToDatabase" classpathref="project.classpath"/>
34 <!-- if windows -->
35 <taskdef name="shortcut" classname="com.orangevolt.tools.ant.Win32ShortcutTask" classpathref="project.classpath"/>
36 <taskdef name="winprops" classname="com.orangevolt.tools.ant.Win32PropertiesTask" classpathref="project.classpath"/>
37 <typedef name="getfreepath" classname="org.greenstone.anttasks.GetFreePath" classpathref="project.classpath"/>
38 <!-- /if -->
39 <!-- if linux|mac -->
40 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
41 <!-- /if -->
42
43 <!-- determine if a bundled java exists -->
44 <condition property="bundled.java.exists">
45 <or>
46 <available file="../@java.extracted@/bin/java"/>
47 <available file="../@java.extracted@/bin/java.exe"/>
48 </or>
49 </condition>
50
51 <!-- determine if there is an existing installation in the installDir-->
52 <available file="${installDir}\etc\installation.properties" property="is.overinstall"/>
53
54 <!-- create a local installDir String -->
55 <path id="installDir.path"><pathelement location="${installDir}"/></path>
56 <property name="installDir.local" refid="installDir.path"/>
57
58 <!-- if windows -->
59 <!-- load windows properties -->
60 <winprops/>
61 <!-- /if -->
62
63 <!-- load the properties of the previous installation if this is an overinstall -->
64 <target name="Looking For Previous Installation" if="is.overinstall">
65 <property file="${installDir}\etc\installation.properties"/>
66 <delete dir="${installed.startmenu.path}" failonerror="false"/>
67 </target>
68
69 <!-- copy jre -->
70 <target name="Initialising" if="bundled.java.exists">
71 <mkdir dir="${installDir}/packages"/>
72 <copy todir="${installDir}/packages/jre" failonerror="false">
73 <fileset dir="../@java.extracted@"/>
74 </copy>
75 <chmod dir="${installDir}/packages/jre/bin" includes="*" perm="775"/>
76 </target>
77
78 <!-- core system -->
79 <target name="Installing Core System">
80
81 <!-- if windows -->
82 <!-- figure out the start menu path -->
83 <getfreepath path="${win32.personal.programs_menu}\Greenstone-@version@" property="startmenu.path"/>
84 <path id="startmenu.path.path" path="${startmenu.path}"/>
85 <pathconvert targetos="unix" property="startmenu.path.unix" refid="startmenu.path.path"/>
86
87 <!-- extract 7za tool -->
88 <unzip src="${antinstaller.jar}" dest="${basedir}">
89 <patternset><include name="7za.exe"/></patternset>
90 </unzip>
91 <!-- /if -->
92
93 <!-- start web -->
94 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="core.lzma"/></patternset></unzip>
95 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/core.lzma" output="${basedir}/core.comp"/><!-- /if -->
96 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x core.lzma"/></exec><!-- /if -->
97 <delete file="core.lzma"/>
98 <unzip src="${basedir}/core.comp" dest="${installDir}"/>
99 <delete file="core.comp"/>
100 <!-- end web -->
101
102 <!-- start cdrom -->
103 <copy todir="${installDir}">
104 <fileset dir="${orig.dir}/Software/core/all"/>
105 <fileset dir="${orig.dir}/Software/core/${rk.os}"/><!-- /if -->
106 </copy>
107 <!-- if windows -->
108 <copy todir="${installDir}/packages/jre" failonerror="false">
109 <fileset dir="${orig.dir}/Java/Windows/jre"/>
110 </copy>
111 <!-- /if -->
112 <!-- end cdrom -->
113
114 <echo>Setting Binaries to Executable</echo>
115 <chmod dir="${installDir}" includes="*.sh,*.bash" perm="775"/>
116 <chmod dir="${installDir}/bin" includes="*" perm="775"/>
117 <chmod dir="${installDir}/cgi-bin" includes="*" perm="775"/>
118 <chmod dir="${installDir}/bin/script" includes="**/*" perm="775"/>
119 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
120 <!-- if linux|mac -->
121 <chmod dir="${installDir}/bin/${shell.name}" includes="**/*" perm="775"/>
122 <!-- /if -->
123
124 <echo>Filling in concrete values in config files</echo>
125 <copy file="${installDir}/cgi-bin/gsdlsite.cfg.in" tofile="${installDir}/cgi-bin/gsdlsite.cfg"/>
126 <rsr file="${installDir}/cgi-bin/gsdlsite.cfg" pattern="&quot;?\*\*GSDLHOME\*\*&quot;?" replacement="&quot;${installDir.local}&quot;"/>
127
128 <echo>Correcting perl shebangs in perl scripts</echo>
129 <!-- if linux|mac -->
130 <exec executable="which" outputproperty="perl.executable"><arg value="perl"/></exec>
131 <rsr file="${installDir}/cgi-bin/gliserver.pl" pattern="^#!.*" replacement="#!${perl.executable} -w" lines="1"/>
132 <!-- /if -->
133 <!-- if windows -->
134 <property name="perl.executable" value="${installDir.local}\bin\windows\perl\bin\perl.exe"/>
135 <rsr file="${installDir}/cgi-bin/gliserver.pl" pattern="^#!.*" replacement="#!${perl.executable} -w" lines="1"/>
136 <!-- /if -->
137
138 <echo>Creating the english dictionary</echo>
139 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
140
141 <!-- if linux|mac -->
142 <echo>Set the installation locale in config files</echo>
143 <rsr file="${installDir}/setup.bash" pattern="^gsdllang=.*" replacement="gsdllang=${language}"/>
144 <rsr file="${installDir}/gli/gli.sh" pattern="^glilang=.*" replacement="glilang=${language}"/>
145 <rsr file="${installDir}/gli/gems.sh" pattern="^glilang=.*" replacement="glilang=${language}"/>
146 <!-- /if -->
147 <rsr
148 file="${installDir}/gli/classes/xml/config.xml"
149 pattern="(&lt;Argument name=&quot;general.locale&quot;&gt;).*(&lt;/Argument&gt;)"
150 replacement="$1${language}$2"/>
151
152 <echo file="${installDir}/etc/main.cfg" append="true"
153 >cgiarg shortname=l argdefault=${language}</echo>
154
155 <echo message="Creating installation properties file"/>
156 <!-- if linux|mac -->
157 <echo file="${installDir}/etc/installation.properties">#this file is just a placeholder for now</echo>
158 <!-- /if -->
159 <!-- if windows -->
160 <echo file="${installDir}\etc\installation.properties">installed.startmenu.path:${startmenu.path.unix}</echo>
161 <!-- /if -->
162
163 </target>
164
165 <!-- Apache HTTPD -->
166 <target name="Installing Apache Web Server">
167 <echo>Installing the Apache Web Server</echo>
168
169 <!-- start web -->
170 <unzip src="${antinstaller.jar}" dest="${basedir}">
171 <patternset>
172 <include name="apachehttpd.lzma"/>
173 </patternset>
174 </unzip>
175
176 <!-- if linux|mac -->
177 <sevenzip task="decode" input="${basedir}/apachehttpd.lzma" output="${basedir}/apachehttpd.comp"/>
178 <!-- /if -->
179 <!-- if windows -->
180 <exec dir="${basedir}" executable="${basedir}/7za.exe">
181 <arg line="x apachehttpd.lzma"/>
182 </exec>
183 <!-- /if -->
184 <unzip src="${basedir}/apachehttpd.comp" dest="${installDir}"/>
185 <delete file="apachehttpd.comp"/>
186 <!-- end web -->
187
188 <!-- start cdrom -->
189 <copy todir="${installDir}">
190 <fileset dir="${orig.dir}/Software/apache-httpd"/>
191 <fileset dir="${orig.dir}/Software/apache-httpd/**/*"/>
192 </copy>
193 <!-- end cdrom -->
194
195 <!-- if linux|mac -->
196 <chmod dir="${installDir}/apache-httpd/${shell.name}/bin" includes="*" perm="775"/>
197 <chmod dir="${installDir}/apache-httpd/${shell.name}" includes="*.sh" perm="775"/>
198 <echo>Setting up apache web server</echo>
199 <exec dir="${installDir}" executable="${installDir}/apache-httpd/${shell.name}/install-bindist.sh">
200 <arg value="${installDir}/apache-httpd/${shell.name}"/>
201 </exec>
202 <!-- /if -->
203 </target>
204
205 <!-- ImageMagick -->
206 <target name="Installing ImageMagick">
207 <echo>Installing ImageMagick</echo>
208 <!-- start web -->
209 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
210 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/><!-- /if -->
211 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x imagemagick.lzma"/></exec><!-- /if -->
212 <delete file="imagemagick.lzma"/>
213 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}"/>
214 <delete file="imagemagick.comp"/>
215 <!-- end web -->
216
217 <!-- start cdrom -->
218 <copy todir="${installDir}">
219 <fileset dir="${orig.dir}/Software/imagemagick/${rk.os}/**/*"/>
220 </copy>
221 <!-- end cdrom -->
222
223 <chmod dir="${installDir}/bin/${shell.name}/imagemagick/bin" includes="*" perm="775"/>
224
225 </target>
226
227 <!-- Ghostscript -->
228 <target name="Installing Ghostscript" depends="">
229 <echo message="Installing Ghostscript"/>
230 <!-- start web -->
231 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="ghostscript.lzma"/></patternset></unzip>
232 <!-- if linux|mac --><sevenzip task="decode" input="${basedir}/ghostscript.lzma" output="${basedir}/ghostscript.comp"/><!-- /if -->
233 <!-- if windows --><exec dir="${basedir}" executable="${basedir}/7za.exe"><arg line="x ghostscript.lzma"/></exec><!-- /if -->
234 <delete file="ghostscript.lzma"/>
235 <unzip src="${basedir}/ghostscript.comp" dest="${installDir}" />
236 <delete file="ghostscript.comp"/>
237 <!-- end web -->
238
239 <!-- start cdrom -->
240 <copy todir="${installDir}">
241 <fileset dir="${orig.dir}/Software/ghostscript/${rk.os}/**/*"/>
242 </copy>
243 <!-- end cdrom -->
244
245 <chmod dir="${installDir}/bin/${shell.name}/ghostscript/bin" includes="*" perm="775"/>
246 </target>
247
248 <!-- Start menu shortcuts -->
249 <target name="Installing Start Menu Shortcuts">
250
251 <mkdir dir="${startmenu.path}\Documentation"/>
252
253 <!-- Server shortcut -->
254 <if><bool><available file="${installDir}/web/images/server.ico"/></bool>
255 <property name="servericon" value="${installDir}\web\images\server.ico"/>
256 <else>
257 <property name="servericon" value="${installDir}\web\images\serverico.ico"/>
258 </else>
259 </if>
260
261 <shortcut
262 file="${startmenu.path}\Greenstone Server.lnk"
263 execute="${installDir}\gs2-server.bat"
264 workingDirectory="${installDir}"
265 iconFile="${servericon}"
266 iconIndex="0" />
267
268 <!-- Librarian shortcut -->
269 <if><bool><available file="${installDir}/web/images/librarian.ico"/></bool>
270 <property name="libraryicon" value="${installDir}\web\images\librarian.ico"/>
271 <else>
272 <property name="libraryicon" value="${installDir}\web\images\icon.ico"/>
273 </else>
274 </if>
275
276 <shortcut
277 file="${startmenu.path}\Librarian Interface (GLI).lnk"
278 execute="${installDir}\gli\gli.bat"
279 workingDirectory="${installDir}\gli"
280 iconFile="${libraryicon}"
281 iconIndex="0" />
282
283 <!-- Remote Server shortcut -->
284 <if><bool><available file="${installDir}/web/images/clientgli.ico"/></bool>
285 <property name="clientgliicon" value="${installDir}\web\images\clientgli.ico"/>
286 <else>
287 <property name="clientgliicon" value="${installDir}\web\images\icon.ico"/>
288 </else>
289 </if>
290
291 <shortcut
292 file="${startmenu.path}\Remote Librarian Interface (Client GLI).lnk"
293 execute="${installDir}\gli\client-gli.bat"
294 workingDirectory="${installDir}\gli"
295 iconFile="${clientgliicon}"
296 iconIndex="0" />
297
298 <!-- GEMS shortcut -->
299 <if><bool><available file="${installDir}/web/images/metadata.ico"/></bool>
300 <property name="gemsicon" value="${installDir}\web\images\metadata.ico"/>
301 <else>
302 <property name="gemsicon" value="${installDir}\web\images\gems.ico"/>
303 </else>
304 </if>
305
306 <shortcut
307 file="${startmenu.path}\Metadata Set Editor (GEMS).lnk"
308 execute="${installDir}\gli\gems.bat"
309 workingDirectory="${installDir}\gli"
310 iconFile="${gemsicon}"
311 iconIndex="0" />
312
313 <!-- Uninstall shortcut -->
314 <if><bool><available file="${installDir}/web/images/newuninstall.ico"/></bool>
315 <property name="uninstallicon" value="${installDir}\web\images\newuninstall.ico"/>
316 <else>
317 <property name="uninstallicon" value="${installDir}\web\images\uninstall.ico"/>
318 </else>
319 </if>
320
321 <shortcut
322 file="${startmenu.path}\Uninstall.lnk"
323 execute="${installDir}\uninstall\Uninstall.bat"
324 workingDirectory="${installDir}\uninstall"
325 iconFile="${uninstallicon}"
326 iconIndex="0" />
327
328 <!-- Misc shortcuts -->
329 <shortcut
330 file="${startmenu.path}\Documentation\READMEen.lnk"
331 execute="${installDir}\READMEen.txt" />
332
333 <shortcut
334 file="${startmenu.path}\Documentation\Greenstone Wiki.url"
335 url="http://wiki.greenstone.org" />
336
337 <shortcut
338 file="${startmenu.path}\Documentation\Greenstone Website.url"
339 url="http://www.greenstone.org" />
340
341 </target>
342
343 <target name="Configuring Administration Pages" if="enable.admin.pages">
344 <echo>Enabling Admin Pages</echo>
345 <rsr file="${installDir}/etc/main.cfg" pattern="^\s*status\s+.*" replacement="status enabled"/>
346 <echo>Creating admin and demo users</echo>
347 <adduser txt2db="${installDir}/bin/${shell.name}/txt2db"
348 usersDb="${installDir}/etc/users.gdb"
349 username="admin"
350 password="${admin.password}"
351 groups="administrator,colbuilder,all-collections-editor"
352 comment="created at install time"/>
353 <adduser
354 txt2db="${installDir}/bin/${shell.name}/txt2db"
355 usersDb="${installDir}/etc/users.gdb"
356 username="demo"
357 password="demo"
358 groups="demo"
359 comment="Dummy 'demo' user with password 'demo' for authen-e collection"/>
360 </target>
361
362 <target name="Installing Documented Examples">
363 <copy todir="${installDir}/collect">
364 <fileset dir="${orig.dir}/Documented Examples" includes="documented-examples/**/*"/>
365 </copy>
366 </target>
367
368</project>
Note: See TracBrowser for help on using the repository browser.