rhoconnect 3.0.0.beta3 → 3.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -4
- data/Gemfile.lock +1 -1
- data/Rakefile +40 -44
- data/doc/client.txt +16 -0
- data/doc/install.txt +2 -2
- data/examples/simple/dump.rdb +0 -0
- data/install.sh +49 -57
- data/installer/unix-like/post_install.sh +4 -0
- data/installer/unix-like/post_uninstall.sh +9 -0
- data/installer/unix-like/pre_install.sh +9 -0
- data/installer/unix-like/pre_uninstall.sh +23 -0
- data/installer/unix-like/rho_connect_install_checkers.rb +1 -4
- data/installer/unix-like/rho_connect_install_constants.rb +1 -1
- data/installer/unix-like/rho_connect_install_debian.rb +2 -2
- data/installer/unix-like/rho_connect_install_dnd.rb +7 -9
- data/installer/unix-like/rho_connect_install_get_params.rb +0 -2
- data/installer/unix-like/rho_connect_install_installers.rb +37 -37
- data/installer/unix-like/rho_connect_install_utilities.rb +7 -41
- data/installer/unix-like/rhoinstaller.rb +1 -5
- data/installer/utils/create_texts.rb +26 -9
- data/installer/utils/install_test.rb +24 -12
- data/installer/windows/rhosync.nsi +5 -5
- data/lib/rhoconnect/console/app/public/home.css +3 -10
- data/lib/rhoconnect/console/app/public/images/foot_logo_rhoconnect.png +0 -0
- data/lib/rhoconnect/console/app/public/images/logo_rhoconnect.png +0 -0
- data/lib/rhoconnect/console/app/routes/docs.rb +1 -1
- data/lib/rhoconnect/console/app/routes/home.rb +1 -1
- data/lib/rhoconnect/console/app/routes/user.rb +1 -1
- data/lib/rhoconnect/console/app/views/index.erb +1 -1
- data/lib/rhoconnect/console/app/views/layout.erb +4 -16
- data/lib/rhoconnect/db_adapter.rb +5 -7
- data/lib/rhoconnect/tasks.rb +31 -4
- data/lib/rhoconnect/version.rb +1 -1
- data/tasks/redis.rake +2 -2
- metadata +10 -21
- data/bin/rhoconnect-setup +0 -84
- data/installer/deb-scripts/LICENSE +0 -75
- data/installer/deb-scripts/install.sh +0 -300
- data/installer/deb-scripts/scripts/rho_connect_install_constants.rb +0 -32
- data/installer/deb-scripts/scripts/rho_connect_install_installers.rb +0 -103
- data/installer/deb-scripts/scripts/rho_connect_install_utilities.rb +0 -110
- data/installer/deb-scripts/scripts/rhoinstaller.rb +0 -55
- data/installer/deb-scripts/utils/README +0 -67
- data/installer/deb-scripts/utils/create_texts.rb +0 -76
- data/installer/deb-scripts/utils/redis_init_script +0 -124
- data/installer/deb-scripts/utils/redis_log_rotate +0 -8
- data/installer/unix-like/install.sh +0 -361
- data/installer/unix-like/post-install.sh +0 -8
- data/installer/unix-like/pre-install.sh +0 -8
- data/lib/rhoconnect/console/app/public/images/rhomobile_rhohub_logo.png +0 -0
data/CHANGELOG
CHANGED
@@ -1,5 +1,10 @@
|
|
1
|
-
## 3.0.0.
|
1
|
+
## 3.0.0.rc1 (not released)
|
2
|
+
* load sqlite3 gem on demand, fixes issue with generator requiring it
|
3
|
+
* #18934311 - create :startbg task for Rhostudio
|
2
4
|
|
5
|
+
## 3.0.0.beta3 (2011-09-23)
|
6
|
+
* #18672811 - edge case produces race condition which leads to corruption of Store data
|
7
|
+
* #18508155 - on failed syncs allow the user to retry it up to pre-defined number of times
|
3
8
|
|
4
9
|
## 3.0.0.beta2 (2011-09-14)
|
5
10
|
* #17830175 - moved SystemTimer in application's Gemfile so rhoconnect gem isn't specific
|
@@ -18,7 +23,7 @@
|
|
18
23
|
* #12105115 - removed unnecessary log4r dependency
|
19
24
|
* added bundler to manage gem's dependencies, migrated from rspec1 to rspec2
|
20
25
|
* #5687948 - fixed issue "iPhone push specs failed"
|
21
|
-
* use redis 2.2.
|
26
|
+
* use redis 2.2.14 by default
|
22
27
|
* added SystemTimer gem dependency (used only on posix systems)
|
23
28
|
* #13616807 - Rake task spec:all fails for enterprise ruby (ree)
|
24
29
|
* #13776713 - Rake -v 0.9.0 breaks rhosync rake tasks
|
@@ -47,8 +52,6 @@
|
|
47
52
|
* #18003071 - enhancing console to support multi-user ping
|
48
53
|
* #10313437 - source settings per environment (also applied to dynamic adapters)
|
49
54
|
* #18356697 - store lock is never released (bug fix)
|
50
|
-
* #18672811 - edge case produces race condition which leads to corruption of Store data
|
51
|
-
* #18508155 - on failed syncs allow the user to retry it up to pre-defined number of times
|
52
55
|
|
53
56
|
## 2.1.10 (2011-08-17)
|
54
57
|
* #16001227 - raise exceptions on c2dm errors
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -90,79 +90,75 @@ task :archive do
|
|
90
90
|
end
|
91
91
|
|
92
92
|
# Debian and RPM package building tasks
|
93
|
-
|
94
|
-
version = Rhoconnect::VERSION
|
95
|
-
|
96
|
-
def create_post_install(version)
|
97
|
-
post_install = "#!/bin/sh
|
98
|
-
VERSION=#{version}
|
99
|
-
|
100
|
-
cd /tmp/installdir/rhoconnect-$VERSION
|
101
|
-
./install.sh -v $VERSION
|
102
|
-
|
103
|
-
echo \"Delete tmp files ...\"
|
104
|
-
rm -rf /tmp/installdir
|
105
|
-
end #create_Post_install"
|
106
|
-
|
107
|
-
post_install
|
108
|
-
end #create_post_install
|
109
|
-
|
110
93
|
def build_pkg(dist, arch, deps)
|
111
|
-
curr_dir
|
112
|
-
workspace
|
113
|
-
version
|
114
|
-
description
|
115
|
-
post_install
|
116
|
-
prefix
|
117
|
-
gem_name
|
118
|
-
|
119
|
-
|
94
|
+
curr_dir = `pwd`.strip
|
95
|
+
workspace = "#{curr_dir}/pkg/workspace"
|
96
|
+
version = Rhoconnect::VERSION
|
97
|
+
description = '"Rhoconnect production environment"'
|
98
|
+
post_install = "#{workspace}/unix-like/post-install.sh"
|
99
|
+
prefix = "/opt/rhoconnect/installer"
|
100
|
+
gem_name = "rhoconnect-#{version}.gem"
|
101
|
+
pre_install = "#{workspace}/unix-like/pre_install.sh"
|
102
|
+
post_install = "#{workspace}/unix-like/post_install.sh"
|
103
|
+
pre_uninstall = "#{workspace}/unix-like/pre_uninstall.sh"
|
104
|
+
post_uninstall = "#{workspace}/unix-like/post_uninstall.sh"
|
120
105
|
|
121
106
|
Dir.mkdir("#{workspace}")
|
122
107
|
Dir.mkdir("#{workspace}/unix-like")
|
123
108
|
Dir.mkdir("#{workspace}/utils")
|
124
109
|
|
125
|
-
# Turn post_install string into a bash script file and place it in the workspace.
|
126
|
-
post_install_file = File.new("#{post_install_script}", "w")
|
127
|
-
post_install_file.write(post_install)
|
128
|
-
post_install_file.close
|
129
|
-
|
130
110
|
# Copy all necessary Files into the workspace
|
131
|
-
system("cp
|
132
|
-
system("cp -r
|
133
|
-
system("cp -r
|
134
|
-
system("cp
|
111
|
+
system("cp install.sh Gemfile Gemfile.lock #{workspace}")
|
112
|
+
system("cp -r installer/unix-like/* #{workspace}/unix-like")
|
113
|
+
system("cp -r installer/utils/create_texts.rb #{workspace}/utils")
|
114
|
+
system("cp pkg/#{gem_name} #{workspace}")
|
135
115
|
|
136
116
|
# cd into the pkg dir so that fpm will create the package into the pkg dir.
|
137
117
|
Dir.chdir("./pkg")
|
138
118
|
|
139
119
|
# Construct fpm command
|
140
|
-
fpm_cmd = "fpm -s dir -t #{dist} -n rhoconnect -v #{version} -a #{arch} " +
|
141
|
-
"-
|
142
|
-
"--
|
120
|
+
fpm_cmd = "fpm -s dir -t #{dist} -n rhoconnect -v #{version} -a #{arch} -C #{workspace} " +
|
121
|
+
"--pre-install #{pre_install} --post-install #{post_install} " +
|
122
|
+
"--pre-uninstall #{pre_uninstall} --post-uninstall #{post_uninstall} " +
|
123
|
+
"--prefix #{prefix} --description #{description}"
|
143
124
|
|
144
125
|
# Add the list of dependencies to the fpm call
|
145
126
|
deps.each do |dep|
|
146
|
-
fpm_cmd << " -d #{dep}"
|
127
|
+
fpm_cmd << " -d '#{dep}'"
|
147
128
|
end #do
|
148
129
|
|
149
130
|
# Create the package
|
131
|
+
puts fpm_cmd
|
150
132
|
system(fpm_cmd)
|
151
|
-
|
152
133
|
# Leave no trace...
|
153
134
|
system("rm -rf #{workspace}")
|
154
135
|
end #build_pkg
|
155
136
|
|
137
|
+
desc "Build Debian DEB rhoconnect-#{Rhoconnect::VERSION}_all.deb package into the pkg directory"
|
156
138
|
task "build:deb" => :build do
|
157
|
-
deps = [
|
158
|
-
|
139
|
+
deps = [
|
140
|
+
"build-essential (>= 0)",
|
141
|
+
"zlib1g-dev (>= 0)",
|
142
|
+
"libssl-dev (>= 0)",
|
143
|
+
"libcurl4-openssl-dev (>= 0)",
|
144
|
+
"libreadline5-dev (>= 0)",
|
145
|
+
"libsqlite3-0 (>= 3.7.4)",
|
146
|
+
"libsqlite3-dev (>= 3.7.4)"
|
147
|
+
]
|
159
148
|
|
160
149
|
build_pkg "deb", "all", deps
|
161
150
|
end #build:deb
|
162
151
|
|
152
|
+
desc "Build Red Hat RPM rhoconnect-#{Rhoconnect::VERSION}.noarch.rpm package into the pkg directory"
|
163
153
|
task "build:rpm" => :build do
|
164
|
-
deps = [
|
165
|
-
|
154
|
+
deps = [
|
155
|
+
"gcc-c++ >= 4.1.2",
|
156
|
+
"zlib-devel >= 1.2.3",
|
157
|
+
"curl-devel >= 7.15.5",
|
158
|
+
"pcre-devel >= 6.6",
|
159
|
+
"openssl-devel >= 0.9.8e",
|
160
|
+
"readline-devel >= 5.1"
|
161
|
+
]
|
166
162
|
|
167
163
|
build_pkg "rpm", "noarch", deps
|
168
164
|
end #build:rpm
|
data/doc/client.txt
CHANGED
@@ -14,6 +14,22 @@ Rhoconnect Client is a library to add sync data capability to your applications.
|
|
14
14
|
|
15
15
|
* Add these libraries to your project: `libstdc++6.dylib, libsqlite3.dylib, libz.dylib, CFNetwork.framework`.
|
16
16
|
|
17
|
+
### Features supported
|
18
|
+
|
19
|
+
<table>
|
20
|
+
<tr><th>Feature</th><th> Ruby </th><th>ObjectiveC</th></tr>
|
21
|
+
<tr><td>Property bag model</td><td>yes</td><td>yes</td></tr>
|
22
|
+
<tr><td>Fixed schema mode</td><td>yes</td><td>yes</td></tr>
|
23
|
+
<tr><td>Model associations</td><td>yes</td><td>yes</td></tr>
|
24
|
+
<tr><td>BLOB attributes</td><td>yes</td><td>yes</td></tr>
|
25
|
+
<tr><td>Bulk sync</td><td>yes</td><td>yes</td></tr>
|
26
|
+
<tr><td>Sync</td><td>yes</td><td>yes</td></tr>
|
27
|
+
<tr><td>Notifications</td><td>yes</td><td>yes</td></tr>
|
28
|
+
<tr><td>Database reset</td><td>yes</td><td>yes</td></tr>
|
29
|
+
<tr><td>Authentication</td><td>yes</td><td>yes</td></tr>
|
30
|
+
<tr><td>DB partitioning</td><td>yes</td><td>not yet</td></tr>
|
31
|
+
</table>
|
32
|
+
|
17
33
|
### Object Model
|
18
34
|
|
19
35
|
#### RhoConnectClient
|
data/doc/install.txt
CHANGED
@@ -13,11 +13,11 @@ Your RhoConnect application folder will be located in C:\RhoConnect\rhoconnect b
|
|
13
13
|
|
14
14
|
1. [Ruby v1.8.7+](http://www.ruby-lang.org/en/downloads/)
|
15
15
|
|
16
|
-
2. [RubyGems v1.
|
16
|
+
2. [RubyGems v1.8.5+](http://rubygems.org/pages/download)
|
17
17
|
|
18
18
|
3. Ruby Web Server - We test with [thin](http://code.macournoyer.com/thin/), and [passenger](http://www.modrails.com/). WEBrick, the web server that ships with ruby, is known to cause issues with HTTP headers/cookies and is ***not*** recommended.
|
19
19
|
|
20
|
-
4. [Redis 2.2.
|
20
|
+
4. [Redis 2.2.14+](http://redis.io/) - RhoConnect includes a simple [rake task](/rhoconnect/command-line#rake-tasks) `redis:install` to install redis, covered in the next section. Alternatively, you can [install redis directly](http://redis.io/download).
|
21
21
|
|
22
22
|
### Installing RhoConnect Gem
|
23
23
|
|
Binary file
|
data/install.sh
CHANGED
@@ -13,35 +13,29 @@ installTime=$timeInitial
|
|
13
13
|
|
14
14
|
# CONSTANTS
|
15
15
|
|
16
|
-
RHOCONNECT_VERSION="3.0.0.beta3"
|
17
16
|
DEPS=(gcc tar make wget)
|
18
17
|
|
19
18
|
# FUNCTIONS
|
20
|
-
|
21
|
-
|
22
|
-
{
|
23
|
-
timeStamp="[`date`]: "
|
24
|
-
echo -e $1
|
25
|
-
#end echoLog
|
26
|
-
}
|
27
|
-
|
19
|
+
# showHelp
|
20
|
+
# Prints options to the screen
|
28
21
|
showHelp ()
|
29
22
|
{
|
30
|
-
|
31
|
-
Usage: install.sh [options]
|
32
|
-
--no-redis Skip the installation of the redis server
|
33
|
-
--offline Check that all necessary files are installed in /opt/rhoconnect if no prefix is specified
|
34
|
-
-p, --prefix PREFIX Specify PREFIX as the installation directory. Default is /opt/rhoconnect
|
35
|
-
-r, --ruby-version VERSION Specify version of ruby to install. Default is Ruby Enterprise
|
36
|
-
-s, --silent Perform installation with minimal output
|
37
|
-
--skip-ruby Use system ruby instead of ruby installed through this installer
|
38
|
-
-w, --web-server SERVER Specify that you are using web server SERVER. Default is Nginx
|
39
|
-
-h, --help Display this screen
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
} #end showHelp
|
23
|
+
cat << _USAGE_
|
24
|
+
Usage: install.sh [options]
|
25
|
+
--no-redis Skip the installation of the redis server.
|
26
|
+
--offline Check that all necessary files are installed in /opt/rhoconnect if no prefix is specified.
|
27
|
+
-p, --prefix PREFIX Specify PREFIX as the installation directory. Default is /opt/rhoconnect.
|
28
|
+
-r, --ruby-version VERSION Specify version of ruby to install. Default is Ruby Enterprise.
|
29
|
+
-s, --silent Perform installation with minimal output.
|
30
|
+
--skip-ruby Use system ruby instead of ruby installed through this installer.
|
31
|
+
-w, --web-server SERVER Specify that you are using web server SERVER. Default is Nginx.
|
32
|
+
-h, --help Display this screen.
|
33
|
+
_USAGE_
|
34
|
+
exit
|
35
|
+
}
|
44
36
|
|
37
|
+
# checkDeps
|
38
|
+
# Checks that all common dependencies are present, exits if not
|
45
39
|
checkDeps ()
|
46
40
|
{
|
47
41
|
missingDeps=""
|
@@ -54,13 +48,16 @@ checkDeps ()
|
|
54
48
|
done
|
55
49
|
|
56
50
|
if [[ $missingDeps != "" ]]; then
|
57
|
-
|
58
|
-
|
59
|
-
|
51
|
+
echo "Dependencies Missing: " | tee -a $log
|
52
|
+
echo "${missingDeps}" | tee -a $log
|
53
|
+
echo "These must be installed before setup can continue..." | tee -a $log
|
60
54
|
exit
|
61
55
|
fi
|
62
56
|
} #end checkDeps
|
63
57
|
|
58
|
+
# determinePkgMgr
|
59
|
+
# Determines if the system is currently using rpm or
|
60
|
+
# debian based pckage management
|
64
61
|
determinePkgMgr ()
|
65
62
|
{
|
66
63
|
if [[ `which apt-get 2> /dev/null` != "" ]]; then
|
@@ -70,12 +67,14 @@ determinePkgMgr ()
|
|
70
67
|
pkgMgr="yum -y"
|
71
68
|
dist='yum'
|
72
69
|
else
|
73
|
-
|
74
|
-
|
70
|
+
echo "No supported package manager." | tee -a $log
|
71
|
+
echo "Please install apt-get or yum to continue..." | tee -a $log
|
75
72
|
exit
|
76
73
|
fi
|
77
74
|
} #end determinePkgMgr
|
78
75
|
|
76
|
+
# parseOpts
|
77
|
+
# Parses options passed to the install script
|
79
78
|
parseOpts ()
|
80
79
|
{
|
81
80
|
for i in "$*"; do
|
@@ -92,9 +91,6 @@ parseOpts ()
|
|
92
91
|
"r" )
|
93
92
|
rubyVersion=$i
|
94
93
|
;;
|
95
|
-
"v" )
|
96
|
-
rhoconnectVersion=$i
|
97
|
-
;;
|
98
94
|
* )
|
99
95
|
;;
|
100
96
|
esac
|
@@ -120,15 +116,12 @@ parseOpts ()
|
|
120
116
|
--skip-ruby )
|
121
117
|
ruby=false
|
122
118
|
;;
|
123
|
-
-v )
|
124
|
-
getVal="v"
|
125
|
-
;;
|
126
119
|
--help | -h )
|
127
120
|
showHelp
|
128
121
|
;;
|
129
122
|
* )
|
130
123
|
#if [ "${i}" ]; then
|
131
|
-
#
|
124
|
+
# echo "${i} is not a valid option" | tee -a $log
|
132
125
|
# exit
|
133
126
|
#fi
|
134
127
|
;;
|
@@ -166,11 +159,11 @@ setPrefixDependantPaths ()
|
|
166
159
|
|
167
160
|
# Make path to log file absolute and create directory if not already existent
|
168
161
|
log="${prefix}/logs/${log}"
|
169
|
-
touch $log
|
162
|
+
touch $log > /dev/null
|
170
163
|
|
171
164
|
# Add the log file path to the info file
|
172
165
|
`echo $log >> info.dat`
|
173
|
-
cat info.dat
|
166
|
+
#cat info.dat
|
174
167
|
|
175
168
|
# Move info.dat into installation directory if not already there
|
176
169
|
if ! [ -e "${prefix}/info.dat" ]; then
|
@@ -193,9 +186,8 @@ setDefaults ()
|
|
193
186
|
|
194
187
|
logAndPrint ()
|
195
188
|
{
|
196
|
-
$1 >
|
189
|
+
$1 > $log 2>&1
|
197
190
|
exitStatus=$?
|
198
|
-
cat tempout | tee -a $log
|
199
191
|
} #end logAndPrint
|
200
192
|
|
201
193
|
setRubyVars ()
|
@@ -214,7 +206,7 @@ setRubyVars ()
|
|
214
206
|
rubyTar="${rubyDir}.tar.gz"
|
215
207
|
rubyURL="http://ftp.ruby-lang.org/pub/ruby/1.9/${rubyTar}"
|
216
208
|
else
|
217
|
-
|
209
|
+
echo "${rubyVersion} is not a valid ruby version" | tee -a $log
|
218
210
|
exit
|
219
211
|
fi
|
220
212
|
} #end setRubyVars
|
@@ -222,13 +214,13 @@ setRubyVars ()
|
|
222
214
|
installRuby ()
|
223
215
|
{
|
224
216
|
if [[ ! -d "${prefix}${rubyDir}" ]]; then
|
225
|
-
|
226
|
-
|
227
|
-
wget -P ${prefix} ${rubyURL}
|
228
|
-
|
229
|
-
tar -xzf ${prefix}/${rubyTar} -C ${prefix}
|
217
|
+
echo "Downloading ${rubyURL} ..." | tee -a $log
|
218
|
+
echo "wget -P ${prefix} ${rubyURL}" >> $log
|
219
|
+
wget -P ${prefix} ${rubyURL} > $log 2>&1
|
220
|
+
echo "tar -xzf ${prefix}/${rubyTar} -C ${prefix}" >> $log
|
221
|
+
tar -xzf ${prefix}/${rubyTar} -C ${prefix} > $log 2>&1
|
230
222
|
fi
|
231
|
-
|
223
|
+
echo "Installing ruby. This may take some time..." | tee -a $log
|
232
224
|
|
233
225
|
case $rubyVersion in
|
234
226
|
rubyee)
|
@@ -243,18 +235,19 @@ installRuby ()
|
|
243
235
|
logAndPrint "make && make install"
|
244
236
|
;;
|
245
237
|
*)
|
246
|
-
logAndPrint "
|
238
|
+
logAndPrint "echo \"${rubyVersion} is not a supported ruby version\""
|
247
239
|
exit
|
248
240
|
;;
|
249
241
|
esac
|
250
242
|
|
251
243
|
if [[ $exitStatus != 0 ]]; then
|
252
|
-
|
253
|
-
|
244
|
+
echo "Some dependencies not installed..." | tee -a $log
|
245
|
+
echo "Please install them and then re-run the installation script." | tee -a $log
|
246
|
+
echo "For troubleshooting see file $log ..." | tee -a $log
|
254
247
|
exit
|
255
248
|
fi
|
256
|
-
|
257
|
-
|
249
|
+
|
250
|
+
echo "Ruby $rubyDir is successfully installed." | tee -a $log
|
258
251
|
} #end installRuby
|
259
252
|
|
260
253
|
getTime ()
|
@@ -289,16 +282,15 @@ getTime ()
|
|
289
282
|
fi
|
290
283
|
fi
|
291
284
|
|
292
|
-
|
285
|
+
echo "\nInstallation completed in ${timeHour}${timeMin}${timeSec}."
|
293
286
|
} #end getTime
|
294
287
|
|
295
288
|
# SCRIPT
|
296
289
|
|
297
290
|
# Get starting directory
|
298
291
|
startDir=`pwd`
|
299
|
-
|
300
|
-
|
301
|
-
INSTALL_DIR="/tmp/installdir/rhoconnect-${RHOCONNECT_VERSION}"
|
292
|
+
if [[ $startDir = "/opt/rhoconnect/installer" ]]; then #FIXME:
|
293
|
+
INSTALL_DIR="/opt/rhoconnect/installer"
|
302
294
|
else
|
303
295
|
INSTALL_DIR="./installer"
|
304
296
|
fi
|
@@ -329,7 +321,7 @@ setDefaults
|
|
329
321
|
|
330
322
|
# Reformat ruby version to fit this scripts format
|
331
323
|
# Tolower rubyVersion
|
332
|
-
rubyVersion=$(
|
324
|
+
rubyVersion=$(echo $rubyVersion | tr '[:upper:]' '[:lower:]')
|
333
325
|
# Remove all white space
|
334
326
|
rubyVersion=${rubyVersion//[[:space:]]}
|
335
327
|
# Remove periods and hyphens such as those present in version numbers
|
@@ -348,7 +340,7 @@ setPrefixDependantPaths
|
|
348
340
|
if ! [ -e "${prefix}/bin/ruby" ]; then
|
349
341
|
installRuby
|
350
342
|
else
|
351
|
-
|
343
|
+
echo "Ruby already installed" | tee -a $log
|
352
344
|
fi
|
353
345
|
|
354
346
|
# Construct the string with which to call the ruby installation script.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# Stop redis
|
4
|
+
if [ -e "/etc/init.d/redis" ]; then
|
5
|
+
/etc/init.d/redis stop
|
6
|
+
if [[ `which dpkg 2> /dev/null` != "" ]]; then # Debian
|
7
|
+
update-rc.d -f redis remove
|
8
|
+
elif [[ `which rpm 2> /dev/null` != "" ]]; then # Red Hat
|
9
|
+
/sbin/chkconfig redis off
|
10
|
+
fi
|
11
|
+
fi
|
12
|
+
|
13
|
+
#stop nginx
|
14
|
+
if [ -e "/etc/init.d/nginx" ]; then
|
15
|
+
/etc/init.d/nginx stop
|
16
|
+
fi
|
17
|
+
|
18
|
+
# /etc/logrotate.d/redis
|
19
|
+
rm -f /etc/init.d/redis
|
20
|
+
rm -f /etc/logrotate.d/redis
|
21
|
+
|
22
|
+
rm -f /etc/init.d/nginx
|
23
|
+
rm -f /etc/logrotate.d/nginx
|
@@ -1,9 +1,7 @@
|
|
1
1
|
require 'rho_connect_install_constants'
|
2
2
|
|
3
3
|
module Checkers
|
4
|
-
|
5
|
-
|
6
|
-
# check_all_installed
|
4
|
+
# check_all_installed
|
7
5
|
# This method runs all tests that check whether or not the software is
|
8
6
|
# installed correctly.
|
9
7
|
def check_all_installed(options)
|
@@ -80,7 +78,6 @@ module Checkers
|
|
80
78
|
# This method uses a system call to chack that a gem is installed
|
81
79
|
def check_gem(gem, gem_path)
|
82
80
|
result = `#{gem_path} query --local | grep #{ gem }`
|
83
|
-
puts "Result:" + result
|
84
81
|
if result == ""
|
85
82
|
installed = false
|
86
83
|
else
|
@@ -33,8 +33,8 @@ class Debian
|
|
33
33
|
install_redis if @options[:redis]
|
34
34
|
|
35
35
|
# Look for sqlite3-dev as it is required by the sqlite3 gem
|
36
|
-
|
37
|
-
|
36
|
+
`#{@options[:pkg_mgr]} install libsqlite3-dev` if `#{@options[:pkg_chkr]} | grep libsqlite3-dev`.empty?
|
37
|
+
|
38
38
|
#start installing
|
39
39
|
install_all_gems
|
40
40
|
configure_passenger @options
|
@@ -1,24 +1,23 @@
|
|
1
1
|
require 'rho_connect_install_constants'
|
2
2
|
|
3
3
|
module DownloadAndDocompress
|
4
|
-
extend self
|
5
|
-
|
6
4
|
# download_and_decompress
|
7
5
|
# Delegates the download and decompression duties
|
8
6
|
def download_and_decompress(prefix, tarballs)
|
9
|
-
print_header "Downloading
|
7
|
+
#print_header "Downloading ..."
|
10
8
|
downloads = 0
|
11
9
|
tarballs.each do |url|
|
12
10
|
if !File.exists?("#{ get_tarball_name url }") ||
|
13
11
|
!File.exists?("#{ get_version url }")
|
12
|
+
puts "Downloading #{url} ..."
|
14
13
|
wget_download prefix, url
|
15
14
|
decompress prefix, url
|
16
15
|
downloads += 1
|
17
16
|
end #if
|
18
17
|
end #do
|
19
|
-
if downloads == 0
|
20
|
-
log_print "Nothing additional to download"
|
21
|
-
end #if
|
18
|
+
# if downloads == 0
|
19
|
+
# log_print "Nothing additional to download"
|
20
|
+
# end #if
|
22
21
|
end #download_and_decompress
|
23
22
|
|
24
23
|
# wget_download
|
@@ -27,7 +26,7 @@ module DownloadAndDocompress
|
|
27
26
|
def wget_download(prefix, url)
|
28
27
|
if !File.exists?("#{ prefix }/#{ get_tarball_name url }") &&
|
29
28
|
!File.directory?("#{ prefix }/#{ get_version url }")
|
30
|
-
cmd "wget -P #{ prefix } #{ url }"
|
29
|
+
cmd "wget -P #{ prefix } #{ url } "
|
31
30
|
end #if
|
32
31
|
end #wget_download
|
33
32
|
|
@@ -37,8 +36,7 @@ module DownloadAndDocompress
|
|
37
36
|
def decompress(prefix, url)
|
38
37
|
tarball = get_tarball_name(url)
|
39
38
|
dir = get_version(url)
|
40
|
-
cmd "tar -xzf #{ prefix }/#{ tarball } -C #{ prefix }"
|
41
|
-
File.directory? "#{ prefix }/#{ dir }"
|
39
|
+
cmd "tar -xzf #{ prefix }/#{ tarball } -C #{ prefix }" unless File.directory? "#{ prefix }/#{ dir }"
|
42
40
|
end #decompress
|
43
41
|
|
44
42
|
# get_version
|