rhoconnect 3.0.0.beta3 → 3.0.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|