root/release-kits/lirk2/installer/build.xml @ 19510

Revision 19510, 5.7 KB (checked in by oranfry, 11 years ago)

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

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 browser.