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

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

it's all good stuff

File size: 5.9 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}/packages"/>
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 <target name="Installing Documented Examples">
148 <copy todir="${installDir}/collect">
149 <fileset dir="${orig.dir}/Documented Examples" includes="documented-examples/**/*"/>
150 </copy>
151 </target>
152
153
154</project>
Note: See TracBrowser for help on using the repository browser.