source: release-kits/lirk2/installer/build.xml@ 19510

Last change on this file since 19510 was 19510, checked in by oranfry, 15 years ago

main release kits now create their own cdrom installers and wrap them

File size: 5.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 <path id="project.classpath">
12 <pathelement path="${antinstaller.jar}"/>
13 </path>
14
15 <!-- custom tasks -->
16 <typedef name="rsr" classname="org.greenstone.anttasks.RegexSearchReplace" classpathref="project.classpath"/>
17 <typedef name="adduser" classname="org.greenstone.anttasks.AddGreenstoneUserToDatabase" classpathref="project.classpath"/>
18 <taskdef name="sevenzip" classname="org.apache.tools.ant.SevenZip" classpathref="project.classpath"/>
19
20 <condition property="bundled.java.exists">
21 <available file="../@linux-java.extracted@/bin/java"/>
22 </condition>
23
24 <target name="Initialising" if="bundled.java.exists">
25 <mkdir dir="${installDir}"/>
26 <copy todir="${installDir}/packages/jre" failonerror="false">
27 <fileset dir="../@linux-java.extracted@"/>
28 </copy>
29 <chmod dir="${installDir}/packages/jre/bin" includes="*" perm="775"/>
30 </target>
31
32 <!-- core system -->
33 <target name="Installing Core System">
34
35 <mkdir dir="${installDir}"/>
36
37 <echo>Installing Core Files</echo>
38
39 <!-- web copies from compressed lzma files, cdrom copies from folders -->
40
41 <!-- start web -->
42 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="core.lzma"/></patternset></unzip>
43 <sevenzip task="decode" input="${basedir}/core.lzma" output="${basedir}/core.comp"/>
44 <delete file="core.lzma"/>
45 <unzip src="${basedir}/core.comp" dest="${installDir}"/>
46 <delete file="core.comp"/>
47 <!-- end web -->
48
49 <!-- start cdrom -->
50 <copy todir="${installDir}">
51 <fileset dir="${orig.dir}/Software/core/all"/>
52 <fileset dir="${orig.dir}/Software/core/linux"/>
53 </copy>
54 <!-- end cdrom -->
55
56 <echo>Setting Binaries to Executable</echo>
57 <chmod dir="${installDir}" includes="*.sh,*.bash" perm="775"/>
58 <chmod dir="${installDir}/bin/linux" includes="**/*" perm="775"/>
59 <chmod dir="${installDir}/bin" includes="*" perm="775"/>
60 <chmod dir="${installDir}/cgi-bin" includes="*" perm="775"/>
61 <chmod dir="${installDir}/bin/script" includes="**/*" perm="775"/>
62 <chmod dir="${installDir}/gli" includes="*.sh" perm="775"/>
63 <chmod dir="${installDir}/apache-httpd/linux/bin" includes="*" perm="775"/>
64 <chmod dir="${installDir}/apache-httpd/linux" includes="*.sh" perm="775"/>
65 <echo/>
66
67 <echo>Filling in concrete values in config files</echo>
68 <copy file="${installDir}/cgi-bin/gsdlsite.cfg.in" tofile="${installDir}/cgi-bin/gsdlsite.cfg"/>
69 <rsr file="${installDir}/cgi-bin/gsdlsite.cfg" pattern="\*\*GSDLHOME\*\*" replacement="${installDir}"/>
70
71 <echo>Correcting perl shebangs in perl scripts</echo>
72 <exec executable="which" outputproperty="perl.executable"><arg value="perl"/></exec>
73 <rsr file="${installDir}/cgi-bin/gliserver.pl" pattern="^#!.*" replacement="#!${perl.executable} -w" lines="1"/>
74 <echo/>
75
76 <echo>Creating the english dictionary</echo>
77 <copy file="${installDir}/gli/classes/dictionary.properties" tofile="${installDir}/gli/classes/dictionary_en.properties"/>
78 <echo/>
79
80
81 <echo>Set the installation locale in config files</echo>
82 <rsr file="${installDir}/setup.bash" pattern="^gsdllang=.*" replacement="gsdllang=${language}"/>
83 <rsr file="${installDir}/gli/gli.sh" pattern="^glilang=.*" replacement="glilang=${language}"/>
84 <rsr file="${installDir}/gli/gems.sh" pattern="^glilang=.*" replacement="glilang=${language}"/>
85
86 <rsr
87 file="${installDir}/gli/classes/xml/config.xml"
88 pattern="(&lt;Argument name=&quot;general.locale&quot;&gt;).*(&lt;/Argument&gt;)"
89 replacement="$1${language}$2"/>
90
91 <echo file="${installDir}/etc/main.cfg" append="true"
92 >cgiarg shortname=l argdefault=${language}</echo>
93
94 <echo>Setting up apache web server</echo>
95 <exec dir="${installDir}" executable="${installDir}/apache-httpd/linux/install-bindist.sh">
96 <arg value="${installDir}/apache-httpd/linux"/>
97 </exec>
98
99 <echo>Creating installation properties file</echo>
100 <echo file="${installDir}/etc/installation.properties">#this file is just a placeholder for now</echo>
101
102 <echo message="Finished"/>
103
104 </target>
105
106 <!-- imagemagick -->
107 <target name="Installing ImageMagick">
108 <echo>Installing ImageMagick</echo>
109 <!-- start web -->
110 <unzip src="${antinstaller.jar}" dest="${basedir}"><patternset><include name="imagemagick.lzma"/></patternset></unzip>
111 <sevenzip task="decode" input="${basedir}/imagemagick.lzma" output="${basedir}/imagemagick.comp"/>
112 <delete file="imagemagick.lzma"/>
113 <unzip src="${basedir}/imagemagick.comp" dest="${installDir}/bin/linux"/>
114 <delete file="imagemagick.comp"/>
115 <!-- end web -->
116
117 <!-- start cdrom -->
118 <copy todir="${installDir}/bin/linux">
119 <fileset dir="${orig.dir}/Software/imagemagick/linux"/>
120 </copy>
121 <!-- end cdrom -->
122
123 <echo>Setting ImageMagick Binaries to Executable</echo>
124 <chmod dir="${installDir}/bin/linux/imagemagick/bin" includes="*" perm="775"/>
125
126 </target>
127
128 <target name="Configuring Administration Pages" if="enable.admin.pages">
129 <echo>Enabling Admin Pages</echo>
130 <rsr file="${installDir}/etc/main.cfg" pattern="^\s*status\s+.*" replacement="status enabled"/>
131 <echo>Creating admin and demo users</echo>
132 <adduser txt2db="${installDir}/bin/linux/txt2db"
133 usersDb="${installDir}/etc/users.gdb"
134 username="admin"
135 password="${admin.password}"
136 groups="administrator,colbuilder,all-collections-editor"
137 comment="created at install time"/>
138 <adduser
139 txt2db="${installDir}/bin/linux/txt2db"
140 usersDb="${installDir}/etc/users.gdb"
141 username="demo"
142 password="demo"
143 groups="demo"
144 comment="Dummy 'demo' user with password 'demo' for authen-e collection"/>
145 </target>
146
147</project>
Note: See TracBrowser for help on using the repository browser.