source: main/trunk/greenstone3/gs3-server.sh@ 30378

Last change on this file since 30378 was 30119, checked in by ak19, 9 years ago

Mac icons for when launching the startup scripts from the command line. This also ensures the appropriate icon for the second item in the dock panel when launching the .app files.

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1#!/bin/bash
2serverlang=en
3
4java_min_version=1.4.0_00
5
6autoset_gsdl_home() {
7
8 # remove leading ./ if present
9 prog="${0#./}"
10
11 isrelative="${prog%%/*}"
12
13 if [ ! -z $isrelative ] ; then
14 # some text is left after stripping
15 # => is relative
16 pwd="$PWD"
17 prog="$pwd/$prog"
18 fi
19
20 fulldir="${prog%/*}"
21
22 # remove trailing /. if present
23 eval $1=\""${fulldir%/.}"\"
24}
25
26check_gsdl3home_writable() {
27
28 echo "Checking if the Greenstone3 web directory is writable ..."
29 (echo "This is a temporary file. It is safe to delete it." > "$GSDL3HOME/testing.tmp" ) 2>/dev/null
30 if [ -e "$GSDL3HOME/testing.tmp" ] ; then
31 /bin/rm "$GSDL3HOME/testing.tmp"
32 gsdl3home_isreadonly=0
33 echo " ... yes."
34 else
35 gsdl3home_isreadonly=1
36 gsdl3_writablehome="/tmp/greenstone/web"
37
38 echo " ... no."
39 echo "Setting Greenstone3 web home writable area to be: $gsdl3_writablehome"
40
41
42# if [ ! -d "$gsdl3_writablehome" ] ; then
43# echo "Creating the directory: $gsdl3_writablehome"
44
45# mkdir -p "$gsdl3_writablehome"
46# mkdir -p "$gsdl3_writablehome/packages"
47# mkdir -p "$gsdl3_writablehome/logs"
48# mkdir -p "$gsdl3_writablehome/ext/solr"
49
50# chmod a+rwx "$gsdl3_writablehome"
51# chmod a+rwx "$gsdl3_writablehome/packages"
52# chmod a+rwx "$gsdl3_writablehome/logs"
53# chmod a+rwx "$gsdl3_writablehome/ext/solr"
54
55## echo "Copying to $gsdl3_writablehome/packages/tomcat"
56## /bin/cp -r "$GSDL3SRCHOME/packages/tomcat" "$gsdl3_writablehome/packages/."
57
58## echo "=> Copying Greenstone's web/WEB-INF to writable area"
59
60## gsdl3_home=$GSDL3HOME
61## /bin/cp -r "$gsdl3_home/WEB-INF" "$gsdl3_writablehome/."
62## /bin/cp -r "$gsdl3_home/index.html" "$gsdl3_writablehome/."
63## fi
64 fi
65}
66
67echo "Greenstone 3 Server"
68echo "Copyright (C) 2009, New Zealand Digital Library Project, University Of Waikato"
69echo "This software comes with ABSOLUTELY NO WARRANTY; for details see LICENSE.txt"
70echo "This is free software, and you are welcome to redistribute it"
71
72## -------- Run the Greenstone 3 Server --------
73
74
75## ---- Determine GSDL3SRCHOME ----
76gsdl3path=
77
78# Some users may set the above line manually
79if [ -z "$gsdl3path" ]; then
80 autoset_gsdl_home "gsdl3path"
81fi
82
83# Setup Greenstone3
84pushd $gsdl3path > /dev/null
85source ./gs3-setup.sh
86popd > /dev/null
87
88
89check_gsdl3home_writable
90
91opt_properties=
92if [ $gsdl3home_isreadonly = 1 ] ; then
93 opt_properties="-Dgsdl3home.isreadonly=true -Dgsdl3.writablehome=$gsdl3_writablehome"
94else
95 opt_properties="-Dgsdl3.writablehome=$GSDL3HOME"
96fi
97
98# Calling ant target to initialize the gsdl3-writablehome area (if it doesn't already exist)
99# ... including the all important global.properties.
100
101ant $opt_properties configure-web
102
103
104# JRE_HOME or JAVA_HOME must be set correctly to run this program
105HINT="`pwd`/packages/jre"
106if [ "$GSDLOS" = "darwin" ]; then
107 if [ ! -d "$HINT" ]; then
108 HINT=`/usr/libexec/java_home`
109 fi
110
111 # set the mac icon for when launching this script manually
112 if [ -f "gs3-server.app/Contents/Resources/AutomatorApplet.icns" ]; then
113 opt_properties="$opt_properties -Xdock:icon=gs3-server.app/Contents/Resources/AutomatorApplet.icns"
114 fi
115fi
116
117javapath=`search4j -p "$HINT" -m $java_min_version -e`
118if [ "$?" == "0" ]; then
119 # In Java code, '...getResourceAsStream("build.properties")'
120 # needs up to be in the right directory when run
121 pushd "$gsdl3path" > /dev/null
122
123 "$javapath" $opt_properties org.greenstone.server.Server3 "$GSDL3SRCHOME" $serverlang
124
125 popd > /dev/null
126fi
127
Note: See TracBrowser for help on using the repository browser.