rhoconnect 3.0.0.beta1 → 3.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +16 -2
- data/Gemfile +14 -5
- data/Gemfile.lock +13 -23
- data/Rakefile +86 -0
- data/bench/bench_runner.rb +5 -4
- data/bench/benchapp/Gemfile +17 -8
- data/bench/blobapp/Gemfile +13 -14
- data/doc/adapters-crm.txt +226 -0
- data/doc/adapters-intro.txt +18 -0
- data/doc/client.txt +29 -2
- data/doc/heroku-addon.txt +54 -0
- data/doc/install.txt +1 -2
- data/doc/migration.txt +18 -6
- data/doc/net-plugin.txt +276 -0
- data/doc/plugin-intro.txt +6 -0
- data/doc/push.txt +1 -1
- data/doc/rails-plugin.txt +116 -0
- data/doc/rest-api.txt +2 -2
- data/doc/settings.txt +59 -0
- data/doc/tutorial.txt +8 -5
- data/generators/rhoconnect.rb +30 -0
- data/generators/templates/application/Gemfile +16 -7
- data/generators/templates/application/gitignore +4 -0
- data/install.sh +74 -106
- data/installer/deb-scripts/LICENSE +75 -0
- data/installer/deb-scripts/install.sh +300 -0
- data/installer/deb-scripts/scripts/rho_connect_install_constants.rb +32 -0
- data/installer/deb-scripts/scripts/rho_connect_install_installers.rb +103 -0
- data/installer/deb-scripts/scripts/rho_connect_install_utilities.rb +110 -0
- data/installer/deb-scripts/scripts/rhoinstaller.rb +55 -0
- data/installer/deb-scripts/utils/README +67 -0
- data/installer/deb-scripts/utils/create_texts.rb +76 -0
- data/installer/deb-scripts/utils/redis_init_script +124 -0
- data/installer/deb-scripts/utils/redis_log_rotate +8 -0
- data/installer/unix-like/install.sh +361 -0
- data/installer/unix-like/post-install.sh +8 -0
- data/installer/unix-like/pre-install.sh +8 -0
- data/installer/unix-like/rho_connect_install_constants.rb +9 -14
- data/installer/unix-like/rho_connect_install_debian.rb +7 -5
- data/installer/unix-like/rho_connect_install_dnd.rb +6 -6
- data/installer/unix-like/rho_connect_install_get_params.rb +1 -1
- data/installer/unix-like/rho_connect_install_installers.rb +39 -38
- data/installer/unix-like/rho_connect_install_utilities.rb +9 -10
- data/installer/unix-like/rho_connect_install_yum.rb +6 -5
- data/installer/unix-like/rhoinstaller.rb +8 -3
- data/installer/utils/create_texts.rb +313 -85
- data/installer/windows/rhosync.nsi +5 -5
- data/lib/rhoconnect/api/application/clientcreate.rb +1 -1
- data/lib/rhoconnect/api/application/clientregister.rb +1 -1
- data/lib/rhoconnect/api/application/clientreset.rb +1 -1
- data/lib/rhoconnect/client.rb +0 -1
- data/lib/rhoconnect/client_sync.rb +1 -0
- data/lib/rhoconnect/console/app/routes/home.rb +1 -1
- data/lib/rhoconnect/console/app/routes/user.rb +8 -3
- data/lib/rhoconnect/console/app/views/adapter.erb +2 -2
- data/lib/rhoconnect/console/app/views/ping.erb +14 -2
- data/lib/rhoconnect/console/app/views/users.erb +8 -1
- data/lib/rhoconnect/jobs/ping_job.rb +11 -3
- data/lib/rhoconnect/model.rb +2 -2
- data/lib/rhoconnect/read_state.rb +2 -0
- data/lib/rhoconnect/server.rb +4 -3
- data/lib/rhoconnect/source.rb +33 -6
- data/lib/rhoconnect/source_adapter.rb +5 -9
- data/lib/rhoconnect/source_sync.rb +11 -5
- data/lib/rhoconnect/store.rb +7 -4
- data/lib/rhoconnect/tasks.rb +3 -3
- data/lib/rhoconnect/version.rb +1 -1
- data/lib/rhoconnect.rb +22 -8
- data/rhoconnect.gemspec +4 -22
- data/spec/api/application/rhoconnect_api_spec.rb +54 -8
- data/spec/api/source/get_source_params_spec.rb +2 -1
- data/spec/api/source/list_sources_spec.rb +3 -3
- data/spec/app_spec.rb +8 -1
- data/spec/apps/rhotestapp/settings/settings.yml +10 -5
- data/spec/apps/rhotestapp/sources/other_adapter.rb +7 -0
- data/spec/client_sync_spec.rb +5 -8
- data/spec/dynamic_adapter_spec.rb +8 -8
- data/spec/generator/generator_spec.rb +4 -2
- data/spec/jobs/ping_job_spec.rb +53 -0
- data/spec/model_spec.rb +2 -2
- data/spec/rhosync_spec.rb +1 -1
- data/spec/server/server_spec.rb +3 -14
- data/spec/source_sync_spec.rb +84 -2
- data/spec/support/shared_examples.rb +2 -2
- data/tasks/redis.rake +2 -2
- metadata +30 -41
- data/spec/api/rhosync_api_spec.rb.orig +0 -606
data/generators/rhoconnect.rb
CHANGED
@@ -46,6 +46,11 @@ module Rhoconnect
|
|
46
46
|
template.destination = "#{name}/config.ru"
|
47
47
|
end
|
48
48
|
|
49
|
+
template :gitignore do |template|
|
50
|
+
template.source = 'gitignore'
|
51
|
+
template.destination = "#{name}/.gitignore"
|
52
|
+
end
|
53
|
+
|
49
54
|
template :settings do |template|
|
50
55
|
template.source = 'settings/settings.yml'
|
51
56
|
template.destination = "#{name}/settings/settings.yml"
|
@@ -75,6 +80,26 @@ module Rhoconnect
|
|
75
80
|
template.source = 'spec/spec_helper.rb'
|
76
81
|
template.destination = "#{name}/spec/spec_helper.rb"
|
77
82
|
end
|
83
|
+
|
84
|
+
empty_directory :public do |dir|
|
85
|
+
dir.destination = File.join("#{name}", 'public')
|
86
|
+
end
|
87
|
+
|
88
|
+
def after_run
|
89
|
+
install_gems_note = <<_BUNDLE_INSTALL_
|
90
|
+
|
91
|
+
To ensure that all the dependencies in your generated rhoconnect application
|
92
|
+
are available execute these commands:
|
93
|
+
cd #{name}; bundle install
|
94
|
+
|
95
|
+
If you're setting up the application in a production environment run the following:
|
96
|
+
cd #{name}; bundle install --without=test development
|
97
|
+
|
98
|
+
_BUNDLE_INSTALL_
|
99
|
+
|
100
|
+
puts install_gems_note
|
101
|
+
end
|
102
|
+
|
78
103
|
end
|
79
104
|
|
80
105
|
class SourceGenerator < BaseGenerator
|
@@ -105,6 +130,11 @@ module Rhoconnect
|
|
105
130
|
envs[env] = settings[env]
|
106
131
|
end
|
107
132
|
file.write envs.to_yaml[3..-1]
|
133
|
+
# write all other settings
|
134
|
+
[:development, :test, :production, :sources].each do |key|
|
135
|
+
settings.delete(key)
|
136
|
+
end
|
137
|
+
file.write settings.to_yaml[3..-1] unless settings.empty?
|
108
138
|
end
|
109
139
|
end
|
110
140
|
|
@@ -2,16 +2,25 @@ source 'http://rubygems.org'
|
|
2
2
|
|
3
3
|
gem 'rhoconnect', '<%=gem_version%>'
|
4
4
|
|
5
|
-
|
5
|
+
# Helps with some of the limitations of green threads, not needed in ruby 1.9.x
|
6
|
+
gem 'SystemTimer', '~> 1.2.3', :platforms => :ruby_18
|
7
|
+
|
8
|
+
platforms :jruby do
|
9
|
+
gem 'jdbc-sqlite3', ">= 3.7.2"
|
10
|
+
gem 'dbi', ">= 0.4.5"
|
11
|
+
gem 'dbd-jdbc', ">= 0.1.4"
|
12
|
+
gem 'jruby-openssl', ">= 0.7.4"
|
13
|
+
gem 'warbler'
|
14
|
+
end
|
15
|
+
|
16
|
+
gem 'sqlite3', ">= 1.3.3", :platforms => [:ruby, :mswin, :mingw]
|
17
|
+
|
18
|
+
# For jruby trinidad JRuby web server is used
|
19
|
+
gem 'trinidad', :platforms => :jruby
|
6
20
|
|
7
21
|
group :development do
|
8
22
|
# By default to run application thin web server is used
|
9
|
-
gem 'thin', :platforms => :ruby
|
10
|
-
|
11
|
-
# For jruby trinidad JRuby web server is used
|
12
|
-
gem 'trinidad', :platforms => :jruby
|
13
|
-
# Alternative for jruby
|
14
|
-
# gem 'jetty-rackup', :platforms => :jruby
|
23
|
+
gem 'thin', :platforms => [:ruby, :mswin, :mingw]
|
15
24
|
end
|
16
25
|
|
17
26
|
group :test do
|
data/install.sh
CHANGED
@@ -13,10 +13,8 @@ installTime=$timeInitial
|
|
13
13
|
|
14
14
|
# CONSTANTS
|
15
15
|
|
16
|
+
RHOCONNECT_VERSION="3.0.0.beta3"
|
16
17
|
DEPS=(gcc tar make wget)
|
17
|
-
# This array is a list of all software that needs to be installed for
|
18
|
-
# the process to be successful
|
19
|
-
INSTALL_ARRAY=(ruby rubygems redis sqlite passenger rhoconnect)
|
20
18
|
|
21
19
|
# FUNCTIONS
|
22
20
|
|
@@ -37,7 +35,7 @@ Usage: install.sh [options]\n
|
|
37
35
|
-r, --ruby-version VERSION Specify version of ruby to install. Default is Ruby Enterprise.\n
|
38
36
|
-s, --silent Perform installation with minimal output.\n
|
39
37
|
--skip-ruby Use system ruby instead of ruby installed through this installer.\n
|
40
|
-
-w, --web-server SERVER Specify that you are using web server SERVER. Default is
|
38
|
+
-w, --web-server SERVER Specify that you are using web server SERVER. Default is Nginx.\n
|
41
39
|
-h, --help Display this screen.\n
|
42
40
|
"
|
43
41
|
# End script after printing help message
|
@@ -49,64 +47,60 @@ checkDeps ()
|
|
49
47
|
missingDeps=""
|
50
48
|
for ((i=0; i<${#DEPS[@]}; i++))
|
51
49
|
do
|
52
|
-
dep=`which ${DEPS[$i]}`
|
50
|
+
dep=`which ${DEPS[$i]} 2> /dev/null`
|
53
51
|
if [[ $dep == "" ]]; then
|
54
52
|
missingDeps="${missingDeps}${DEPS[$i]}\n"
|
55
53
|
fi
|
56
54
|
done
|
57
55
|
|
58
56
|
if [[ $missingDeps != "" ]]; then
|
59
|
-
echoLog "Dependencies Missing:" | tee -a $log
|
57
|
+
echoLog "Dependencies Missing: " | tee -a $log
|
60
58
|
echoLog "${missingDeps}" | tee -a $log
|
61
59
|
echoLog "These must be installed before setup can continue..." | tee -a $log
|
62
60
|
exit
|
63
61
|
fi
|
64
62
|
} #end checkDeps
|
65
63
|
|
66
|
-
|
64
|
+
determinePkgMgr ()
|
67
65
|
{
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
$pkgMgr update
|
79
|
-
$pkgMgr version >> $pmutd
|
80
|
-
else
|
81
|
-
echoLog "No supported package manager." | tee -a $log
|
82
|
-
echoLog "Please install apt-get or yum to continue..." | tee -a $log
|
83
|
-
exit
|
84
|
-
fi
|
66
|
+
if [[ `which apt-get 2> /dev/null` != "" ]]; then
|
67
|
+
pkgMgr="apt-get -y"
|
68
|
+
dist='debian'
|
69
|
+
elif [[ `which yum 2> /dev/null` != "" ]]; then
|
70
|
+
pkgMgr="yum -y"
|
71
|
+
dist='yum'
|
72
|
+
else
|
73
|
+
echoLog "No supported package manager." | tee -a $log
|
74
|
+
echoLog "Please install apt-get or yum to continue..." | tee -a $log
|
75
|
+
exit
|
85
76
|
fi
|
86
|
-
} #end
|
77
|
+
} #end determinePkgMgr
|
87
78
|
|
88
79
|
parseOpts ()
|
89
80
|
{
|
90
|
-
for i; do
|
91
|
-
i
|
81
|
+
for i in "$*"; do
|
82
|
+
i=$(echo $i | tr '[:upper:]' '[:lower:]')
|
92
83
|
opts="${opts}${i} "
|
93
84
|
# looking for getVal flag to grab next value.
|
94
85
|
case $getVal in
|
95
86
|
"p" )
|
96
|
-
prefix=$
|
87
|
+
prefix=$i
|
97
88
|
;;
|
98
89
|
"w" )
|
99
|
-
webServer=$
|
90
|
+
webServer=$i
|
100
91
|
;;
|
101
92
|
"r" )
|
102
|
-
rubyVersion=$
|
93
|
+
rubyVersion=$i
|
94
|
+
;;
|
95
|
+
"v" )
|
96
|
+
rhoconnectVersion=$i
|
103
97
|
;;
|
104
98
|
* )
|
105
99
|
;;
|
106
100
|
esac
|
107
101
|
|
108
102
|
# Check options passed in and assign flags where applicable
|
109
|
-
case $
|
103
|
+
case $i in
|
110
104
|
--web-server | -w )
|
111
105
|
getVal="w"
|
112
106
|
;;
|
@@ -120,17 +114,23 @@ parseOpts ()
|
|
120
114
|
;;
|
121
115
|
--silent | -s )
|
122
116
|
;;
|
123
|
-
--
|
117
|
+
--skip-redis )
|
124
118
|
redis=false
|
125
119
|
;;
|
126
120
|
--skip-ruby )
|
121
|
+
ruby=false
|
122
|
+
;;
|
123
|
+
-v )
|
124
|
+
getVal="v"
|
127
125
|
;;
|
128
126
|
--help | -h )
|
129
127
|
showHelp
|
130
128
|
;;
|
131
129
|
* )
|
132
|
-
|
133
|
-
|
130
|
+
#if [ "${i}" ]; then
|
131
|
+
# echoLog "${i} is not a valid option" | tee -a $log
|
132
|
+
# exit
|
133
|
+
#fi
|
134
134
|
;;
|
135
135
|
esac
|
136
136
|
done
|
@@ -138,11 +138,6 @@ parseOpts ()
|
|
138
138
|
|
139
139
|
cleanPrefix ()
|
140
140
|
{
|
141
|
-
# put a / on the end if not there already
|
142
|
-
if [[ $prefix != *\/ ]]; then
|
143
|
-
prefix=$prefix"/"
|
144
|
-
fi
|
145
|
-
|
146
141
|
# make sure there are no double /'s in the prefix path
|
147
142
|
prefix=${prefix/\/\/+/"/"}
|
148
143
|
|
@@ -161,33 +156,25 @@ setPrefixDependantPaths ()
|
|
161
156
|
{
|
162
157
|
# if rubyBinDir not specified
|
163
158
|
if [$rubyBinDir == ""]; then
|
164
|
-
rubyBinDir="${prefix}ruby/bin"
|
159
|
+
rubyBinDir="${prefix}/ruby/bin"
|
165
160
|
fi
|
166
161
|
|
167
162
|
# If logs directory does not exist, create it
|
168
|
-
if ! [[ -d "${prefix}logs/" ]]; then
|
169
|
-
mkdir "${prefix}logs/"
|
163
|
+
if ! [[ -d "${prefix}/logs/" ]]; then
|
164
|
+
mkdir "${prefix}/logs/"
|
170
165
|
fi
|
171
166
|
|
172
167
|
# Make path to log file absolute and create directory if not already existent
|
173
|
-
log="${prefix}logs/${log}"
|
174
|
-
installchecklist=$prefix"installchecklist"
|
168
|
+
log="${prefix}/logs/${log}"
|
175
169
|
touch $log
|
176
|
-
touch $installchecklist
|
177
170
|
|
178
171
|
# Add the log file path to the info file
|
179
|
-
|
172
|
+
`echo $log >> info.dat`
|
180
173
|
cat info.dat
|
181
174
|
|
182
|
-
# Move pmutd into installation directory
|
183
|
-
if ! [ -e $prefix$pmutd ]; then
|
184
|
-
mv $pmutd $prefix$pmutd
|
185
|
-
pmutd=$prefix$pmutd
|
186
|
-
fi
|
187
|
-
|
188
175
|
# Move info.dat into installation directory if not already there
|
189
|
-
if ! [ -e "${prefix}info.dat" ]; then
|
190
|
-
mv info.dat "${prefix}info.dat"
|
176
|
+
if ! [ -e "${prefix}/info.dat" ]; then
|
177
|
+
mv info.dat "${prefix}/info.dat"
|
191
178
|
fi
|
192
179
|
} #end setPrefixDependantPaths
|
193
180
|
|
@@ -195,12 +182,12 @@ setDefaults ()
|
|
195
182
|
{
|
196
183
|
# if $prefix not specified set to /opt/rhoconnect
|
197
184
|
if [$prefix == ""]; then
|
198
|
-
prefix="/opt/rhoconnect
|
185
|
+
prefix="/opt/rhoconnect"
|
199
186
|
fi
|
200
187
|
|
201
|
-
# if $webServer not specified set to
|
188
|
+
# if $webServer not specified set to nginx
|
202
189
|
if [$webServer == ""]; then
|
203
|
-
webServer="
|
190
|
+
webServer="nginx"
|
204
191
|
fi
|
205
192
|
} #end setDefaults
|
206
193
|
|
@@ -237,22 +224,22 @@ installRuby ()
|
|
237
224
|
if [[ ! -d "${prefix}${rubyDir}" ]]; then
|
238
225
|
echoLog "Loading ruby tarball ..." | tee -a $log
|
239
226
|
echoLog "wget -P ${prefix} ${rubyURL}" | tee -a $log
|
240
|
-
wget -P ${prefix} ${rubyURL}
|
241
|
-
echoLog "tar -xzf ${prefix}
|
242
|
-
tar -xzf ${prefix}
|
227
|
+
wget -P ${prefix} ${rubyURL}
|
228
|
+
echoLog "tar -xzf ${prefix}/${rubyTar} -C ${prefix}" | tee -a $log
|
229
|
+
tar -xzf ${prefix}/${rubyTar} -C ${prefix}
|
243
230
|
fi
|
244
231
|
echoLog "Installing ruby. This may take some time..." | tee -a $log
|
245
232
|
|
246
233
|
case $rubyVersion in
|
247
234
|
rubyee)
|
248
|
-
logAndPrint "${prefix}
|
235
|
+
logAndPrint "${prefix}/${rubyDir}/installer --dont-install-useful-gems --no-dev-docs --auto ${prefix}"
|
249
236
|
;;
|
250
237
|
ruby187)
|
251
|
-
logAndPrint "${prefix}
|
238
|
+
logAndPrint "${prefix}/${rubyDir}/configure --prefix=\"${prefix}\""
|
252
239
|
logAndPrint "make && make install"
|
253
240
|
;;
|
254
241
|
ruby192)
|
255
|
-
logAndPrint "${prefix}
|
242
|
+
logAndPrint "${prefix}/${rubyDir}/configure --prefix=\"${prefix}\""
|
256
243
|
logAndPrint "make && make install"
|
257
244
|
;;
|
258
245
|
*)
|
@@ -265,8 +252,6 @@ installRuby ()
|
|
265
252
|
echoLog "Some dependencies not installed..." | tee -a $log
|
266
253
|
echoLog "Please install them and then re-run the installation script." | tee -a $log
|
267
254
|
exit
|
268
|
-
else
|
269
|
-
echoLog "ruby" >> ${prefix}installchecklist
|
270
255
|
fi
|
271
256
|
|
272
257
|
rm tempout
|
@@ -307,39 +292,26 @@ getTime ()
|
|
307
292
|
echoLog "\nInstallation completed in ${timeHour}${timeMin}${timeSec}."
|
308
293
|
} #end getTime
|
309
294
|
|
310
|
-
checkInstalledSoftware ()
|
311
|
-
{
|
312
|
-
installedSoftware=""
|
313
|
-
while read line
|
314
|
-
do
|
315
|
-
for (( i=0; i < ${#INSTALL_ARRAY[@]}; i++ ))
|
316
|
-
do
|
317
|
-
if [ $line == ${INSTALL_ARRAY[$i]} ]; then
|
318
|
-
installedSoftware=$(( $installedSoftware + 1 ))
|
319
|
-
fi
|
320
|
-
done
|
321
|
-
done < $installchecklist
|
322
|
-
|
323
|
-
if ! [[ $installedSoftware -ge ${#INSTALL_ARRAY[@]} ]]; then
|
324
|
-
echoLog "Not all software installed"
|
325
|
-
else
|
326
|
-
echoLog "All software installed"
|
327
|
-
fi
|
328
|
-
|
329
|
-
rm $installchecklist
|
330
|
-
} #end checkInstalledSoftware
|
331
|
-
|
332
295
|
# SCRIPT
|
296
|
+
|
297
|
+
# Get starting directory
|
298
|
+
startDir=`pwd`
|
299
|
+
|
300
|
+
if [[ $startDir =~ "rhoconnect-${RHOCONNECT_VERSION}" ]]; then
|
301
|
+
INSTALL_DIR="/tmp/installdir/rhoconnect-${RHOCONNECT_VERSION}"
|
302
|
+
else
|
303
|
+
INSTALL_DIR="./installer"
|
304
|
+
fi
|
305
|
+
|
333
306
|
# define log file name
|
334
307
|
DATEFILE=`date +%Y%m%d%H%M%S`
|
335
308
|
log=rhoconnect_$(date +$DATEFILE).log
|
336
|
-
installchecklist="installchecklist"
|
337
309
|
|
338
310
|
# Make sure basic system dependencies are installed
|
339
311
|
checkDeps
|
340
312
|
|
341
|
-
#
|
342
|
-
|
313
|
+
# Determine which package management the system uses (Debian short-circuted)
|
314
|
+
determinePkgMgr
|
343
315
|
|
344
316
|
# define option variables
|
345
317
|
opts=""
|
@@ -350,7 +322,7 @@ rubyVersion=""
|
|
350
322
|
rubyBinDir=""
|
351
323
|
|
352
324
|
# parse command-line options
|
353
|
-
parseOpts
|
325
|
+
parseOpts "$*"
|
354
326
|
|
355
327
|
# Set default Values
|
356
328
|
setDefaults
|
@@ -373,36 +345,32 @@ cleanPrefix
|
|
373
345
|
setPrefixDependantPaths
|
374
346
|
|
375
347
|
# Install ruby if not already installed
|
376
|
-
if ! [ -e "${prefix}bin/ruby" ]; then
|
348
|
+
if ! [ -e "${prefix}/bin/ruby" ]; then
|
377
349
|
installRuby
|
378
350
|
else
|
379
351
|
echoLog "Ruby already installed" | tee -a $log
|
380
|
-
echoLog "ruby" >> ${prefix}installchecklist
|
381
352
|
fi
|
382
353
|
|
383
354
|
# Construct the string with which to call the ruby installation script.
|
384
|
-
callruby="sudo ${prefix}bin/ruby
|
355
|
+
callruby="sudo ${prefix}/bin/ruby ${INSTALL_DIR}/unix-like/rhoinstaller.rb ${opts}"
|
385
356
|
# Call the ruby script
|
386
357
|
$callruby
|
387
358
|
|
388
|
-
checkInstalledSoftware
|
389
|
-
|
390
359
|
if [[ $installedSoftware -eq ${#INSTALL_ARRAY[@]} ]]; then
|
391
|
-
rm "${prefix}info.dat"
|
392
|
-
rm $pmutd
|
360
|
+
rm "${prefix}/info.dat"
|
393
361
|
if [ -e $prefix$rubyTar ]; then
|
394
|
-
mv $prefix
|
362
|
+
mv $prefix/$rubyTar $prefix"/downloads/"$rubyTar
|
395
363
|
fi
|
396
364
|
if [ -e $prefix$rubyDir ]; then
|
397
|
-
mv $prefix$rubyDir $prefix"downloads/"$rubyDir
|
365
|
+
mv $prefix$rubyDir $prefix"/downloads/"$rubyDir
|
398
366
|
fi
|
399
|
-
if [ ! -e $prefix"post-install" ]; then
|
400
|
-
mkdir $prefix"post-install"
|
367
|
+
if [ ! -e $prefix"/post-install" ]; then
|
368
|
+
mkdir $prefix"/post-install"
|
401
369
|
fi
|
402
370
|
|
403
|
-
opts
|
371
|
+
opts=" -d $dist"
|
404
372
|
|
405
|
-
sudo ${prefix}bin/ruby
|
406
|
-
timeFinal=`date +%H%M%S`
|
407
|
-
getTime $timeFinal
|
373
|
+
sudo ${prefix}/bin/ruby ${INSTALL_DIR}/utils/create_texts.rb ${opts}
|
374
|
+
# timeFinal=`date +%H%M%S`
|
375
|
+
# getTime $timeFinal
|
408
376
|
fi
|
@@ -0,0 +1,75 @@
|
|
1
|
+
An online copy of the following license is available here: http://rhomobile.com/products/rhosync/license/
|
2
|
+
|
3
|
+
This RhoSync Commercial License Agreement is a legal agreement between Rhomobile Inc. ("Rhomobile"), and Licensee (either an individual or a legal entity, hereafter referred to as "Licensee") for the Licensed Software (as defined below). The Licensed Software is not open source software and this is not an open source license.
|
4
|
+
|
5
|
+
1. DEFINITIONS
|
6
|
+
Affiliate of a Party shall mean an entity (i) which is directly or indirectly controlling such Party; (ii) which is under the same direct or indirect ownership or control as such Party; or (iii) which is directly or indirectly owned or controlled by such Party.
|
7
|
+
|
8
|
+
Licensee Application shall mean an application (a) developed using a license under Rhomobile's Rhodes framework and (b) which runs on a Mobile Device and synchronizes through the Licensed Software running on a server.
|
9
|
+
|
10
|
+
Licensed Software shall mean the RhoSync computer software, online or electronic documentation, associated media and printed materials, including the source code, example programs and the documentation delivered by Rhomobile to Licensee in conjunction with this Agreement.
|
11
|
+
|
12
|
+
Support shall mean standard developer support that is provided by Rhomobile to assist eligible Designated Users in using the Licensed Software in accordance with its established standard support procedures.
|
13
|
+
|
14
|
+
Updates shall mean a release or version of the Licensed Software containing enhancements, new features, bug fixes, error corrections and other changes that are generally made available to users of the Licensed Software that have contracted for maintenance and support.
|
15
|
+
|
16
|
+
Device shall mean a specific physical mobile device that interacts with the Licensed Software
|
17
|
+
|
18
|
+
2. OWNERSHIP
|
19
|
+
The Licensed Software is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. The Licensed Software is licensed, not sold.
|
20
|
+
|
21
|
+
Rhomobile shall own all right, title and interest including the intellectual property rights in and to the information on bug fixes or error corrections relating to the Licensed Software that are submitted by Licensee to Rhomobile as well as any intellectual property rights to the correction of any errors, if any. To the extent any rights do not automatically vest in Rhomobile, Licensee assigns, and shall ensure that all of its Affiliates, agents, subcontractors and employees assign, all such rights to Rhomobile.
|
22
|
+
|
23
|
+
3. VALIDITY OF THE AGREEMENT
|
24
|
+
By installing, copying, or otherwise using the Licensed Software, Licensee agrees to be bound by the terms of this Agreement. If Licensee does not agree to the terms of this Agreement, Licensee may not install, copy, or otherwise use the Licensed Software. In addition, by installing, copying, or otherwise using any Updates or other components of the Licensed Software that Licensee receives separately as part of the Licensed Software, Licensee agrees to be bound by any additional license terms that accompany such Updates, if any. If Licensee does not agree to the additional license terms that accompany such Updates, Licensee may not install, copy, or otherwise use such Updates. Upon Licensee's acceptance of the terms and conditions of this Agreement and payment of the licensee fee, Rhomobile grants Licensee the right to use the Licensed Software in the manner provided below.
|
25
|
+
|
26
|
+
4. LICENSE GRANT
|
27
|
+
|
28
|
+
4.1 Grant
|
29
|
+
Subject to the terms and conditions of this Agreement, Rhomobile grants to Licensee a non-exclusive, non-transferable, non-sublicensable license to install and use the Licensed Software as contemplated in the applicable documentation and the applicable invoice for the Licensed Software. Licensee is not granted any rights or licenses in the Licensed Software other than those rights expressly granted in this Agreement. Unless otherwise provided in an invoice from Rhomobile or Rhomobile authorized third party sublicensor, Licensee may only install and use the Licensed Software on a single computer ("Server"). If Licensee is explicitly granted a multiple Server license by Rhomobile, or Rhomobile authorized third party sublicensor in an invoice, Licensee may install and use the Licensed Software on not more than the number of Servers listed in the applicable invoice. All uses of the Licensed Software must be in accordance with the documentation provided for the Licensed Software. The Licensed Software is licensed only to Licensee and may not be transferred to any other person or entity without Rhomobile's prior written authorization. Any authorized transferee of the Licensed Software shall be bound in writing by the terms and conditions of this Agreement. In no event may Licensee transfer, assign, rent, lease, sell, or otherwise dispose of the Licensed Software on a temporary or permanent basis except as expressly provided herein. The license granted herein will automatically terminate in the event of any violation of this Agreement by Licensee.
|
30
|
+
|
31
|
+
4.2 Capacity Restrictions
|
32
|
+
The Licensed Software shall only be used to support the number of Devices and the number of Licensee Applications set forth in the applicable invoice and paid for. To replace a Device with a new Device for purposes of determining how many Devices are being supported at any one time, the replaced Device must be removed from the RhoSync directory. Increases in the number of Devices and/or the number of Licensee Applications being supported by the Licenses Software must be purchased in advance.
|
33
|
+
|
34
|
+
5 LIMITED WARRANTY AND WARRANTY DISCLAIMER
|
35
|
+
Rhomobile warrants to Licensee for a period of ninety (90) days from the date of Licensee's receipt of the Licensed Software (the "Warranty Period") that the Licensed Software as delivered will conform substantially to Rhomobile's then-current published functional specifications set forth in the documentation for the Licensed Software when installed and operated as contemplated in such documentation. In the event of any nonconformity, Rhomobile (or its designee) may, in its sole discretion, either (i) remedy the nonconformity within a reasonable period after notice and verification thereof or (ii) refund the amount Licensee paid for the Software and terminate this Agreement and the license granted herein; provided, however, that Licensee must return the original and all copies of the Licensed Software to Rhomobile or its authorized representative before Licensee will be entitled to receive any such refund. THIS SECTION 5 STATES LICENSEE'S SOLE REMEDY FOR A BREACH OF THE LIMITED WARRANTY OF THE LICENSED SOFTWARE.
|
36
|
+
|
37
|
+
EXCEPT AS SET FORTH IN SECTION 6, THE LICENSED SOFTWARE IS PROVIDED BY RHOMOBILE AND ITS LICENSORS "AS IS" WITHOUT ANY WARRANTY OF ANY KIND INCLUDING, WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. NEITHER RHOMOBILE NOR ITS LICENSORS WARRANT THAT THE LICENSED SOFTWARE IS ERROR-FREE OR THAT IT WILL OPERATE WITHOUT INTERRUPTION. NEITHER RHOMOBILE NOR ITS LICENSORS WARRANT, GUARANTEE OR MAKE ANY REPRESENTATION REGARDING THE USE, OR THE RESULTS OF THE USE OF THE LICENSED SOFTWARE INCLUDING, WITHOUT LIMITATION, THE CORRECTNESS, ACCURACY OR RELIABILITY OF SUCH USE OR RESULTS. LICENSEE ACKNOWLEDGES AND AGREES THAT RHOMOBILE IS NOT RESPONSIBLE FOR AND WILL HAVE NO LIABILITY FOR HARDWARE, SOFTWARE, CONTENT OR OTHER ITEMS OR ANY SERVICES PROVIDED BY ANY PERSONS OTHER THAN RHOMOBILE.
|
38
|
+
|
39
|
+
6. LIMITATION OF LIABILITY
|
40
|
+
TO THE MAXIMUM EXTENT PERMITTED BY LAW, RHOMOBILE AND ITS LICENSORS WILL NOT BE LIABLE WITH RESPECT TO ANY SUBJECT MATTER OF THIS AGREEMENT UNDER ANY CONTRACT, NEGLIGENCE, STRICT LIABILITY OR OTHER LEGAL OR EQUITABLE THEORY FOR: (I) ANY AMOUNTS IN EXCESS IN THE AGGREGATE OF THE AMOUNTS YOU PAID FOR THE LICENSED SOFTWARE; (II) ANY LOST DATA OR OTHER EXEMPLARY, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, LOSS OF DATA, OR ANY AND ALL LOST PROFITS, EVEN IF RHOMOBILE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; OR (III) THE COST OF PROCURING SUBSTITUTE GOODS, SERVICES OR TECHNOLOGY. THE LIMITATION OF LIABILITY SET FORTH IN THIS SECTION 6 SHALL NOT APPLY TO THE EXTENT PROHIBITED BY APPLICABLE LAW.
|
41
|
+
|
42
|
+
7. SUPPORT AND UPDATES
|
43
|
+
Licensee shall be eligible to receive Support and Updates for one year from the date of the delivery of the Licensed Software to Licensee, in accordance with Rhomobile's then current policies and procedures, if any. After that time period the customer shall be entitled to execute a maintenance agreement which will entitle them to ongoing support and updates. Licensee may purchase additional Support and Updates following the Initial Term at 18% of the original price of the Licensed Software.
|
44
|
+
|
45
|
+
8. EXPORT
|
46
|
+
|
47
|
+
Licensee acknowledges that the Licensed Software may be subject to the export and import control laws of the United States and any country where the Licensed Software is manufactured or received. Licensee agrees not to violate any such laws. Licensee further agrees not to export the Licensed Software to any prohibited country, entity or person for which an export license or other governmental approval is required. Obtaining any necessary governmental approval or licenses is solely the obligation of Licensee.
|
48
|
+
|
49
|
+
9. GENERAL PROVISIONS
|
50
|
+
|
51
|
+
9.1 Marketing
|
52
|
+
Rhomobile may include Licensee's company name and logo in a publicly available list of Rhomobile Licensees and in its public communications.
|
53
|
+
|
54
|
+
9.2 No Assignment
|
55
|
+
Licensee shall not be entitled to assign or transfer all or any of its rights, benefits and obligations under this Agreement without the prior written consent of Rhomobile, which shall not be unreasonably withheld.
|
56
|
+
|
57
|
+
9.3 Termination
|
58
|
+
This Agreement will remain in force until terminated. Licensee may terminate this Agreement at any time upon providing written notice thirty days in advance of the termination. Rhomobile may terminate this Agreement if Licensee breaches any of the terms or conditions hereunder. Licensee agrees to destroy or return to Rhomobile the original and all copies of the Licensed Software immediately upon any termination of this Agreement, and certify the same in writing if requested.
|
59
|
+
|
60
|
+
9.4 Surviving Sections
|
61
|
+
Any terms and conditions that by their nature or otherwise reasonably should survive a cancellation or termination of this Agreement shall also be deemed to survive. Such terms and conditions include, but are not limited to the following Sections: 2, 4, 5, 6, 7, 8, 9, 11, and 12of this Agreement. Notwithstanding the foregoing, Section 4.1 shall not survive if the Agreement is terminated for material breach.
|
62
|
+
|
63
|
+
9.5 Entire Agreement
|
64
|
+
This Agreement constitutes the complete agreement between the parties and supersedes all prior or contemporaneous discussions, representations, and proposals, written or oral, with respect to the subject matters discussed herein No modification of this Agreement shall be effective unless contained in a writing executed by an authorized representative of each party. No term or condition contained in Licensee's purchase order shall apply unless expressly accepted by Rhomobile in writing. If any provision of the Agreement is found void or unenforceable, the remainder shall remain valid and enforceable according to its terms. If any remedy provided is determined to have failed for its essential purpose, all limitations of liability and exclusions of damages set forth in this Agreement shall remain in effect.
|
65
|
+
|
66
|
+
9.6 Notices
|
67
|
+
Any notice given by one party to the other shall be deemed properly given and deemed received if specifically acknowledged by the receiving party in writing or when successfully delivered to the recipient by hand, fax, or special courier during normal business hours on a business day to the addresses specified below. Each communication and document made or delivered by one party to the other party pursuant to this Agreement shall be in the English language or accompanied by a translation thereof.
|
68
|
+
Notices to Rhomobile shall be given to:
|
69
|
+
|
70
|
+
Rhomobile, Inc.
|
71
|
+
3031 Tisch Way Suite 1002
|
72
|
+
San Jose, CA 95128
|
73
|
+
|
74
|
+
9.7 Governing Law and Legal Venue
|
75
|
+
This Agreement shall be governed by and construed in accordance with the federal laws of the United States of America and the internal laws of the State of California without giving effect to any choice of law rule that would result in the application of the laws of any other jurisdiction. The United Nations Convention on Contracts for the International Sale of Goods (CISG) shall not apply. Each Party (a) hereby irrevocably submits itself to and consents to the jurisdiction of the United States District Court for the Northern District of California (or if such court lacks jurisdiction, the state courts of the State of California) for the purposes of any action, claim, suit or proceeding between the Parties in connection with any controversy, claim, or dispute arising out of or relating to this Agreement; and (b) hereby waives, and agrees not to assert by way of motion, as a defense or otherwise, in any such action, claim, suit or proceeding, any claim that is not personally subject to the jurisdiction of such court(s), that the action, claim, suit or proceeding is brought in an inconvenient forum or that the venue of the action, claim, suit or proceeding is improper.
|