jerbil 1.2.2
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/Bugs.rdoc +66 -0
- data/Gemfile +12 -0
- data/History.txt +359 -0
- data/Intro.txt +5 -0
- data/LICENCE.rdoc +159 -0
- data/README.md +335 -0
- data/README_SERVICES.md +410 -0
- data/README_TESTING.md +47 -0
- data/bin/jerbil +62 -0
- data/bin/jerbil-install +56 -0
- data/etc/conf.d/jerbild +15 -0
- data/etc/conf.d/jserviced +39 -0
- data/etc/init.d/jerbild +55 -0
- data/etc/init.d/jserviced +59 -0
- data/etc/jerbil/jerbil-client.rb +2 -0
- data/etc/jerbil/jerbil.rb +83 -0
- data/lib/jerbil.rb +636 -0
- data/lib/jerbil/config.md +49 -0
- data/lib/jerbil/config.rb +67 -0
- data/lib/jerbil/errors.rb +74 -0
- data/lib/jerbil/jerbil_service/base.rb +191 -0
- data/lib/jerbil/jerbil_service/client.rb +325 -0
- data/lib/jerbil/jerbil_service/config.md +119 -0
- data/lib/jerbil/jerbil_service/config.rb +72 -0
- data/lib/jerbil/jerbil_service/sclient.rb +343 -0
- data/lib/jerbil/jerbil_service/support.rb +58 -0
- data/lib/jerbil/jerbil_service/utils.rb +35 -0
- data/lib/jerbil/servers.rb +230 -0
- data/lib/jerbil/service.rb +216 -0
- data/lib/jerbil/support.rb +160 -0
- data/lib/jerbil/thor/server.rb +76 -0
- data/lib/jerbil/thor/service.rb +74 -0
- data/lib/jerbil/version.rb +13 -0
- data/sbin/jerbil-status +120 -0
- data/sbin/jerbil-stop +139 -0
- data/sbin/jerbild +186 -0
- data/sbin/jservice-status +107 -0
- data/sbin/jservice-stop +94 -0
- data/sbin/jserviced +111 -0
- data/spec/jerbil_2_jerbil_spec.rb +87 -0
- data/spec/jerbil_client1_spec.rb +80 -0
- data/spec/jerbil_client_spec.rb +114 -0
- data/spec/jerbil_client_stop_spec.rb +24 -0
- data/spec/jerbil_daemonised/jerbil_local_spec.rb +81 -0
- data/spec/jerbil_daemonised/jerbil_remote_spec.rb +116 -0
- data/spec/jerbil_load.rb +48 -0
- data/spec/jerbil_local_spec.rb +91 -0
- data/spec/jerbil_missing_spec.rb +98 -0
- data/spec/jerbil_remote_spec.rb +117 -0
- data/spec/jerbil_remote_spec_bup.rb +168 -0
- data/spec/jerbil_service_error_spec.rb +56 -0
- data/spec/jerbil_service_spec.rb +41 -0
- data/spec/jerbil_support_spec.rb +69 -0
- data/spec/jservice_utils_spec.rb +38 -0
- data/spec/server_spec.rb +69 -0
- data/spec/server_update_spec.rb +28 -0
- data/spec/service_spec.rb +72 -0
- data/spec/spec_helper.rb +12 -0
- data/spec/test_env_spec.rb +53 -0
- data/test/bad_test_service.rb +31 -0
- data/test/conf.d/jerbil +36 -0
- data/test/conf.d/jerbil.conf +39 -0
- data/test/conf.d/jerbil.rb +55 -0
- data/test/conf.d/jerbil_local.rb +33 -0
- data/test/conf.d/jerbil_no_local.conf +39 -0
- data/test/conf.d/jerbil_old.rb +47 -0
- data/test/conf.d/jerbil_test.rb +35 -0
- data/test/conf.d/malformed +1 -0
- data/test/conf.d/missing_services +39 -0
- data/test/conf.d/ruby_test.rb +8 -0
- data/test/init.d/jerbild +14 -0
- data/test/jerbil.rb +51 -0
- data/test/jerbil_config.rb +8 -0
- data/test/jstop.rb +36 -0
- data/test/key.asc +1 -0
- data/test/lib/ruby_test.rb +37 -0
- data/test/lib/ruby_test/config.rb +56 -0
- data/test/lib/ruby_test/version.rb +13 -0
- data/test/pids/jerbil-prod.asc +1 -0
- data/test/pids/jerbil-prod.pid +1 -0
- data/test/pids/jerbil.pid +1 -0
- data/test/private_key_file.asc +3 -0
- data/test/service-stop.rb +86 -0
- data/test/service_mock.rb +94 -0
- data/test/test_service_client.rb +25 -0
- metadata +265 -0
data/Bugs.rdoc
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
== Bugs
|
2
|
+
|
3
|
+
====31-Jan-2012
|
4
|
+
|
5
|
+
* a client that does not respond to a verify can hang jerbil! Is it possible
|
6
|
+
put a timeout on?
|
7
|
+
|
8
|
+
10-01-2012
|
9
|
+
|
10
|
+
sclient will strip out log options when getting its own! Need to change this or add
|
11
|
+
an option in Jellog to not strip them.
|
12
|
+
|
13
|
+
01-Dec-2011
|
14
|
+
|
15
|
+
JerbilService::Client should be relaxed about config options!
|
16
|
+
|
17
|
+
Nov-2011
|
18
|
+
|
19
|
+
Nasty race condition where remote server deletes registering service from its local
|
20
|
+
server, so everyone knows about a service except the local server! (Should be fixed in 0.2.12)
|
21
|
+
|
22
|
+
09-Sep-2011
|
23
|
+
|
24
|
+
There is no checking that services registered locally have the same hostname as the
|
25
|
+
server. Should not be an issue, but did cause problems during testing.
|
26
|
+
|
27
|
+
There is no way of directing a client or service to a particular jerbil server. Should
|
28
|
+
only be relevant to testing, could add a :jerbil_config key to the options hash when calling
|
29
|
+
get_server, which would always return nil if it had not been set anyway. (Addressed)
|
30
|
+
|
31
|
+
05-Sep-2011
|
32
|
+
|
33
|
+
When a server assumes control of a missing service because the server is not there, it fails
|
34
|
+
to delete its own copy! And when the missing server resumes, it cannot delete the un-deleted
|
35
|
+
service because it does not have the right key for that service anymore.
|
36
|
+
|
37
|
+
Colored success response for jerbl -v would be a big benefit
|
38
|
+
|
39
|
+
01-Aug-2011
|
40
|
+
|
41
|
+
1. service-missing is not working as expected. Needs to be tested to see what happens
|
42
|
+
when a server is ungracefully removed. May need to change logic from removing services
|
43
|
+
to removing servers. - See above
|
44
|
+
|
45
|
+
2. Need to add client config file for jerbil to avoid having readable files everywhere.
|
46
|
+
|
47
|
+
23-June-2011
|
48
|
+
|
49
|
+
jerbil -V reports the number of times a service has been accessed through the local server.
|
50
|
+
Would be good to share all counts across all servers somehow?
|
51
|
+
|
52
|
+
17-Apr-2011
|
53
|
+
|
54
|
+
If you run jerbil -v on a remote server it appears to remove a service but the removal fails.
|
55
|
+
This is because it tries to remove the service locally. Also, if a server disappears then
|
56
|
+
the other servers still think the service is available. They need to remove the service manually if
|
57
|
+
that is the case!
|
58
|
+
|
59
|
+
Fixed in 0.1.0
|
60
|
+
------
|
61
|
+
17-May-2011
|
62
|
+
|
63
|
+
Would be good to hide the key check in a private function: check_key(key) rather than
|
64
|
+
expose the underlying mechanism
|
65
|
+
|
66
|
+
Also change key to pkey for private key parameters
|
data/Gemfile
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# @markup ruby
|
2
|
+
#
|
3
|
+
# general utilities
|
4
|
+
gem 'netaddr'
|
5
|
+
gem 'term-ansicolor'
|
6
|
+
gem 'thor'
|
7
|
+
gem 'daemons'
|
8
|
+
|
9
|
+
# jerbil-related utilities
|
10
|
+
gem 'jellog', '>=1.0.14' # for logging
|
11
|
+
gem 'jeckyl', '>=0.2.7' # for config files
|
12
|
+
gem 'jeni', '>=0.2.3' # for installation
|
data/History.txt
ADDED
@@ -0,0 +1,359 @@
|
|
1
|
+
# @markup rdoc
|
2
|
+
# @title Change Log
|
3
|
+
# @author Robert Sharp
|
4
|
+
|
5
|
+
==History
|
6
|
+
|
7
|
+
[jerbil-1.2.2 21-Nov-2012]
|
8
|
+
|
9
|
+
Add proper home for jerbil user in jerbil-install. Add guidance on logging to READMEs.
|
10
|
+
|
11
|
+
[jerbil-1.2.1 13-Nov-2012]
|
12
|
+
|
13
|
+
Minor bugs fixed in sbin/jerbild and runscript updated to su to jerbil user
|
14
|
+
|
15
|
+
[jerbil-1.2.0 12-Nov-2012]
|
16
|
+
|
17
|
+
Housekeeping release with unwanted modules/code removed and documentation tidied for
|
18
|
+
release into wild (evenutally).
|
19
|
+
|
20
|
+
[jerbil-1.1.3 22-Sep-2012]
|
21
|
+
|
22
|
+
Add some instrumentation to jserviced to help troubleshoot the numbat runscript.
|
23
|
+
|
24
|
+
[jerbil-1.1.2 06-Sep-2012]
|
25
|
+
|
26
|
+
Update runscript to create /var/run/jermine if not already there. 3.0+ kernels
|
27
|
+
appear to use /run on tmpfs
|
28
|
+
|
29
|
+
[jerbil-1.1.1 24-Aug-2012]
|
30
|
+
|
31
|
+
Take out the -m option from the su command - no need to preserve any environment
|
32
|
+
|
33
|
+
[jerbil-1.1.0 24-Aug-2012]
|
34
|
+
|
35
|
+
Change jservice to use su again as this seems more reliable than changing the user
|
36
|
+
internally. Also add logging to verify calls.
|
37
|
+
|
38
|
+
[jerbil-1.0.19 22-Aug-2012]
|
39
|
+
|
40
|
+
add log_daemon to stop and status services
|
41
|
+
|
42
|
+
[jerbil-1.0.18 22-Aug-2012]
|
43
|
+
|
44
|
+
Daemons expects STDOUT to be open, so ensure it is!
|
45
|
+
|
46
|
+
[jerbil-1.0.17 22-Aug-2012]
|
47
|
+
|
48
|
+
Fix daemon opts that depended on starting a logger
|
49
|
+
|
50
|
+
[jerbil-1.0.16 22-Aug-2012]
|
51
|
+
|
52
|
+
Fix problem with log-opts being deleted and not there a second time round
|
53
|
+
|
54
|
+
[jerbil-1.0.15 22-Aug-2012]
|
55
|
+
|
56
|
+
Tweaks to sclient.rb to fix daemon problems or help uncover them at least
|
57
|
+
|
58
|
+
[jerbil-1.0.14 22-Aug-2012]
|
59
|
+
|
60
|
+
Set log_daemon to true in sbin/jserviced
|
61
|
+
|
62
|
+
[jerbil-1.0.13 22-Aug-2012]
|
63
|
+
|
64
|
+
Add log_daemon capability to init files
|
65
|
+
|
66
|
+
[jerbil-1.0.12 22-Aug-2012]
|
67
|
+
|
68
|
+
Add log_daemon capability to sbin/jserviced
|
69
|
+
|
70
|
+
[jerbil-1.0.11 20-Aug-2012]
|
71
|
+
|
72
|
+
added defaults to key and pid directories in jerbil_service/config
|
73
|
+
|
74
|
+
[jerbil-1.0.10 20-Aug-2012]
|
75
|
+
|
76
|
+
fixed cut-and-paste errors in changing group
|
77
|
+
|
78
|
+
[jerbil-1.0.9 20-Aug-2012]
|
79
|
+
|
80
|
+
fixed Chuser calls in sbin/jerbild
|
81
|
+
|
82
|
+
[jerbil-1.0.8 17-Aug-2012]
|
83
|
+
|
84
|
+
fix another typo in config
|
85
|
+
|
86
|
+
[jerbil-1.0.7 17-Aug-2012]
|
87
|
+
|
88
|
+
add require 'etc' to config
|
89
|
+
|
90
|
+
[jerbil-1.0.6 17-Aug-2012]
|
91
|
+
|
92
|
+
Fix bug in change_group
|
93
|
+
|
94
|
+
[jerbil-1.0.5 17-Aug-2012]
|
95
|
+
|
96
|
+
Provide a separate group parameter cos changing user does not do all the groups
|
97
|
+
|
98
|
+
[jerbil-1.0.4 17-Aug-2012]
|
99
|
+
|
100
|
+
Silently ignore register remote and remove remote if the key is invalid to allow
|
101
|
+
co-existence with pre-1.0 versions
|
102
|
+
|
103
|
+
[jerbil-1.0.3 15-Aug-2012]
|
104
|
+
|
105
|
+
Ensure only valid servers are remembered during start-up.
|
106
|
+
|
107
|
+
[jerbil-1.0.2 15-Aug-2012]
|
108
|
+
|
109
|
+
Add a catchall for connecting to older servers
|
110
|
+
|
111
|
+
[jerbil-1.0.1 15-Aug-2012]
|
112
|
+
|
113
|
+
Add NoMethodError as a reason why calls tp older servers may fail.
|
114
|
+
|
115
|
+
[jerbil-1.0.0 15-Aug-2012]
|
116
|
+
|
117
|
+
Release of new version, featuring server discovery, the new jservice scripts to start
|
118
|
+
any service, increased reliability, improved jerbil command and other minor changes.
|
119
|
+
|
120
|
+
[jerbil-0.99.13 26-Jul-2012]
|
121
|
+
|
122
|
+
Reworked remote server logic to ensure duplicate servers and services are purged
|
123
|
+
|
124
|
+
[jerbil-0.99.12 25-Jul-2012]
|
125
|
+
|
126
|
+
further annotations
|
127
|
+
|
128
|
+
[jerbil-0.99.11 25-Jul-2012]
|
129
|
+
|
130
|
+
Annotated to help debug key issues
|
131
|
+
|
132
|
+
[jerbil-0.99.10 25-Jul-2012]
|
133
|
+
|
134
|
+
jerbil/jerbil_service/client requires server instead of servers
|
135
|
+
|
136
|
+
[jerbil-0.99.09 25-Jul-2012]
|
137
|
+
|
138
|
+
Fix typo when adding services from remote server
|
139
|
+
|
140
|
+
[jerbil-0.99.08 25-Jul-2012]
|
141
|
+
|
142
|
+
Fix error in thor services verify
|
143
|
+
|
144
|
+
[jerbil-0.99.07 24-Jul-2012]
|
145
|
+
|
146
|
+
another release candidate with tweaks to sbin scripts.
|
147
|
+
|
148
|
+
[jerbil-0.99.06 23-Jul-2012]
|
149
|
+
|
150
|
+
minor tweaks to config files for installation
|
151
|
+
|
152
|
+
[jerbil-0.99.05 23-Jul-2012]
|
153
|
+
|
154
|
+
fixed Etc.getpwnam.name
|
155
|
+
|
156
|
+
[jerbil-0.99.04 23-Jul-2012]
|
157
|
+
|
158
|
+
fixed Jerbil::Config to inherit JerbilService::Config
|
159
|
+
|
160
|
+
[jerbil-0.99.03 23-Jul-2012]
|
161
|
+
|
162
|
+
Release candidate for testing
|
163
|
+
|
164
|
+
[jerbil-0.99.02 12-June-2012]
|
165
|
+
|
166
|
+
Fix mistaken call to get_key, now gone
|
167
|
+
|
168
|
+
[jerbil-0.99.01 08-June-2012]
|
169
|
+
|
170
|
+
First pre-release of Jerbil 1.0.0, offering flexible server configuration and a single
|
171
|
+
script for controlling services.
|
172
|
+
|
173
|
+
* reconfigured options to use Jeckyl::Service and to add net address and mask details
|
174
|
+
* renamed Jerbil::ServerRecord to Jerbil::Servers to reflect the role of the class
|
175
|
+
|
176
|
+
[jerbil-0.2.21 19-May-2012]
|
177
|
+
|
178
|
+
Added Aurelius to the default files and rename jers to jerbil
|
179
|
+
|
180
|
+
[jerbil-0.2.20 28-Apr-2012]
|
181
|
+
|
182
|
+
Annotate the client calls to try to understand the NoMethod errors raised
|
183
|
+
|
184
|
+
[jerbil-0.2.19 22-Mar-2012]
|
185
|
+
|
186
|
+
Fix a bug where 1.9 was failing cos instance_methods returns symbols instead of
|
187
|
+
strings.
|
188
|
+
|
189
|
+
jerbil-0.2.18 23-Dec-2011
|
190
|
+
|
191
|
+
Some refactoring and ensuring exception backtraces have newlines and not \n between
|
192
|
+
them!
|
193
|
+
|
194
|
+
jerbil-0.2.17 19-Dec-2011
|
195
|
+
|
196
|
+
Attempt to fix error when stopping services: cannot read symbol as string. Assume that
|
197
|
+
it is caused by :jerbil_config option. It Worked!
|
198
|
+
|
199
|
+
jerbil-0.2.16 19-Dec-2011
|
200
|
+
|
201
|
+
Restart logging after daemon is called
|
202
|
+
|
203
|
+
jerbil-0.2.15 19-Dec-2011
|
204
|
+
|
205
|
+
Change supervisor to catch StandardError and let SystemExit fall through untouched.
|
206
|
+
Add opts to log output from daemonize
|
207
|
+
|
208
|
+
jerbil-0.2.14 19-Dec-2011
|
209
|
+
|
210
|
+
improvements to supervisor class to add daemon log and catch errors more often
|
211
|
+
|
212
|
+
jerbil-0.2.12 27-Nov-2011
|
213
|
+
|
214
|
+
Attempt to fix bug where restarting service with old records on other servers
|
215
|
+
removes new service's record on own server!
|
216
|
+
|
217
|
+
jerbil-0.2.11 25-Sep-2011
|
218
|
+
|
219
|
+
Set default config file to be module.rb rather than module.conf
|
220
|
+
|
221
|
+
jerbil-0.2.10 24-Sep-2011
|
222
|
+
|
223
|
+
thor actions: check that a link exists before testing it is equal
|
224
|
+
|
225
|
+
jerbil-0.2.9 24-Sep-2011
|
226
|
+
|
227
|
+
Add separate re-useable thor module for common install actions
|
228
|
+
|
229
|
+
jerbil-0.2.8 21-Sep-2011
|
230
|
+
|
231
|
+
Update jerbs install to ensure files are moved to the correct place
|
232
|
+
|
233
|
+
jerbil-0.2.7 21-Sep-2011
|
234
|
+
|
235
|
+
Add 'etc' to gemspec
|
236
|
+
|
237
|
+
jerbil-0.2.6 21-Sep-2011
|
238
|
+
|
239
|
+
Include new jerbs command based on thor, and change Jerbil.remove so that it
|
240
|
+
attempts to remove a service from remote servers even if it is not registered
|
241
|
+
locally.
|
242
|
+
|
243
|
+
jerbil-0.2.5 17-Sep-2011
|
244
|
+
|
245
|
+
Adjust RUBYOPT etc in runscript
|
246
|
+
|
247
|
+
jerbil-0.2.4 17-Sep-2011
|
248
|
+
|
249
|
+
Add chmod to install
|
250
|
+
|
251
|
+
jerbil-0.2.3 17-Sep-2011
|
252
|
+
|
253
|
+
Correct runscript!
|
254
|
+
|
255
|
+
jerbil-0.2.2 17-Sep-2011
|
256
|
+
|
257
|
+
Correct uid in jerbs install
|
258
|
+
|
259
|
+
jerbil-0.2.1 17-Sep-2011
|
260
|
+
|
261
|
+
Adds in the jerbs executable, being a prospective replacement for bin/jerbil using thor
|
262
|
+
and including an install command
|
263
|
+
|
264
|
+
jerbil-0.2.0 08-Sep-2011
|
265
|
+
|
266
|
+
Migrate to Jellog 1.0
|
267
|
+
Add colour to jerbil listings
|
268
|
+
Fix bug in missing_service that failed to remove from local server
|
269
|
+
Add test to see if prior registered service is responding and kick it if it is not
|
270
|
+
|
271
|
+
jerbil-0.1.12 04-Aug-2011
|
272
|
+
|
273
|
+
ensure that jerbild daemon creates things in a defined directory.
|
274
|
+
delete pid and key files before trying to open them in case of permissions problems.
|
275
|
+
|
276
|
+
jerbil-0.1.11 02-Aug-2011
|
277
|
+
|
278
|
+
Included logging in jerbild to avoid whatever caused the daemonised version to fail.
|
279
|
+
Change default config file for jerbil to jerbil-client.conf.
|
280
|
+
|
281
|
+
jerbil-0.1.10 09-June-2011
|
282
|
+
|
283
|
+
Minor fix for incorrect exception names in jerbil/support
|
284
|
+
|
285
|
+
jerbil-0.1.9 01-June-2011
|
286
|
+
|
287
|
+
correct version method to respond with Jerbil::Version and add to output of bin/jerbil -S
|
288
|
+
|
289
|
+
jerbil-0.1.8 01-June-2011
|
290
|
+
|
291
|
+
Added back the verify method to JerbilService::Client!
|
292
|
+
|
293
|
+
jerbil-0.1.7 31-May-2011
|
294
|
+
|
295
|
+
Update to JerbilService::Client to refactor and redesign the interface to remove use of
|
296
|
+
evals that would otherwise compromise security
|
297
|
+
|
298
|
+
jerbil-0.1.6 30-May-2011
|
299
|
+
|
300
|
+
Add option to JerbilService::Base to not set $SAFE > 0 where subclass needs to set it later
|
301
|
+
|
302
|
+
jerbil-0.1.5 17-May-2011
|
303
|
+
|
304
|
+
Added a backtrace to Supervisor to help debug!
|
305
|
+
|
306
|
+
jerbil-0.1.4 17-May-2011
|
307
|
+
|
308
|
+
Added the service_key method to Client to make it easier to get the key for the service
|
309
|
+
|
310
|
+
jerbil-0.1.3 17-May-2011
|
311
|
+
|
312
|
+
Added a log entry for invalid service keys
|
313
|
+
|
314
|
+
jerbil-0.1.2 17-May-2011
|
315
|
+
|
316
|
+
Added a check_key method to JerbilService::Base to hide key checking.
|
317
|
+
Cleaned up some unnecessary system logging in jerbil.
|
318
|
+
|
319
|
+
jerbil-0.1.1 02-May-2011
|
320
|
+
|
321
|
+
Minor changes to Client
|
322
|
+
|
323
|
+
jerbil-0.1.0 2-May-2011
|
324
|
+
|
325
|
+
Second release with a substantial number of changes and tweaks.
|
326
|
+
|
327
|
+
jerbil-0.0.8 17-Apr-2011
|
328
|
+
|
329
|
+
Further tweaks to initscript install option
|
330
|
+
|
331
|
+
jerbil-0.0.7 17-Apr-2011
|
332
|
+
|
333
|
+
Tweak to init script for install option
|
334
|
+
|
335
|
+
jerbil-0.0.6 17-Apr-2011
|
336
|
+
|
337
|
+
Fixed a few more typos and added install to init script
|
338
|
+
|
339
|
+
jerbil-0.0.5 16-Apr-2011
|
340
|
+
|
341
|
+
Fixed mess up in sbin/jerbild to get real local host server record
|
342
|
+
|
343
|
+
jerbil-0.0.4 16-Apr-2011
|
344
|
+
|
345
|
+
Minor changes to init scripts and correct spelling mistake on daemonize
|
346
|
+
|
347
|
+
jerbil-0.0.3a 16-Apr-2011
|
348
|
+
|
349
|
+
Initial release for system level testing only.
|
350
|
+
|
351
|
+
|
352
|
+
jerbil-0.0.2 1-Apr-2011
|
353
|
+
|
354
|
+
Made a few insignificant changes today
|
355
|
+
and that is all
|
356
|
+
|
357
|
+
jerbil-0.0.1 1-Apr-2011
|
358
|
+
|
359
|
+
Initial create, but never tagged!
|
data/Intro.txt
ADDED
@@ -0,0 +1,5 @@
|
|
1
|
+
Provides an Object Request Broker and service framework for ruby-based services.
|
2
|
+
Jerbil servers run on each machine in the system and share information on registering
|
3
|
+
services. A parent class for services hides all of the jerbil interactions and client
|
4
|
+
and supervisor modules hide interactions from scripts or applications interacting
|
5
|
+
with these services.
|
data/LICENCE.rdoc
ADDED
@@ -0,0 +1,159 @@
|
|
1
|
+
Copyright (c) 2011 Robert Sharp
|
2
|
+
|
3
|
+
This software is licensed for use under the Open Software Licence v. 3.0
|
4
|
+
The terms of this licence can be found at http://www.opensource.org/licenses/osl-3.0.php
|
5
|
+
and below. Under the terms of this licence, all derivative works
|
6
|
+
must themselves be licensed under the Open Software Licence v. 3.0
|
7
|
+
|
8
|
+
Open Source Initiative OSI - The Open Software Licence 3.0:Licensing
|
9
|
+
[OSI Approved Licence]
|
10
|
+
Open Software Licence ("OSL") v. 3.0
|
11
|
+
|
12
|
+
This Open Software Licence (the "Licence") applies to any original work of authorship
|
13
|
+
(the "Original Work") whose owner (the "Licensor") has placed the following licensing
|
14
|
+
notice adjacent to the copyright notice for the Original Work:
|
15
|
+
|
16
|
+
Licensed under the Open Software Licence version 3.0
|
17
|
+
|
18
|
+
1) Grant of Copyright Licence. Licensor grants You a worldwide, royalty-free, non-exclusive,
|
19
|
+
sublicensable license, for the duration of the copyright, to do the following:
|
20
|
+
|
21
|
+
a) to reproduce the Original Work in copies, either alone or as part of a collective work;
|
22
|
+
|
23
|
+
b) to translate, adapt, alter, transform, modify, or arrange the Original Work, thereby
|
24
|
+
creating derivative works ("Derivative Works") based upon the Original Work;
|
25
|
+
|
26
|
+
c) to distribute or communicate copies of the Original Work and Derivative Works to
|
27
|
+
the public, with the proviso that copies of Original Work or Derivative Works that
|
28
|
+
You distribute or communicate shall be licensed under this Open Software Licence;
|
29
|
+
|
30
|
+
d) to perform the Original Work publicly; and
|
31
|
+
|
32
|
+
e) to display the Original Work publicly.
|
33
|
+
|
34
|
+
2) Grant of Patent Licence. Licensor grants You a worldwide, royalty-free, non-exclusive,
|
35
|
+
sublicensable license, under patent claims owned or controlled by the Licensor that are
|
36
|
+
embodied in the Original Work as furnished by the Licensor, for the duration of the
|
37
|
+
patents, to make, use, sell, offer for sale, have made, and import the Original Work
|
38
|
+
and Derivative Works.
|
39
|
+
|
40
|
+
3) Grant of Source Code Licence. The term "Source Code" means the preferred form of
|
41
|
+
the Original Work for making modifications to it and all available documentation
|
42
|
+
describing how to modify the Original Work. Licensor agrees to provide a machine-readable
|
43
|
+
copy of the Source Code of the Original Work along with each copy of the Original Work
|
44
|
+
that Licensor distributes. Licensor reserves the right to satisfy this obligation by
|
45
|
+
placing a machine-readable copy of the Source Code in an information repository reasonably
|
46
|
+
calculated to permit inexpensive and convenient access by You for as long as Licensor
|
47
|
+
continues to distribute the Original Work.
|
48
|
+
|
49
|
+
4) Exclusions From Licence Grant. Neither the names of Licensor, nor the names of
|
50
|
+
any contributors to the Original Work, nor any of their trademarks or service marks,
|
51
|
+
may be used to endorse or promote products derived from this Original Work without
|
52
|
+
express prior permission of the Licensor. Except as expressly stated herein, nothing
|
53
|
+
in this Licence grants any license to Licensor's trademarks, copyrights, patents,
|
54
|
+
trade secrets or any other intellectual property. No patent license is granted to
|
55
|
+
make, use, sell, offer for sale, have made, or import embodiments of any patent claims
|
56
|
+
other than the licensed claims defined in Section 2. No license is granted to the
|
57
|
+
trademarks of Licensor even if such marks are included in the Original Work. Nothing
|
58
|
+
in this Licence shall be interpreted to prohibit Licensor from licensing under terms
|
59
|
+
different from this Licence any Original Work that Licensor otherwise would have a
|
60
|
+
right to license.
|
61
|
+
|
62
|
+
5) External Deployment. The term "External Deployment" means the use, distribution,
|
63
|
+
or communication of the Original Work or Derivative Works in any way such that the
|
64
|
+
Original Work or Derivative Works may be used by anyone other than You, whether those
|
65
|
+
works are distributed or communicated to those persons or made available as an application
|
66
|
+
intended for use over a network. As an express condition for the grants of license hereunder,
|
67
|
+
You must treat any External Deployment by You of the Original Work or a Derivative Work
|
68
|
+
as a distribution under section 1(c).
|
69
|
+
|
70
|
+
6) Attribution Rights. You must retain, in the Source Code of any Derivative Works
|
71
|
+
that You create, all copyright, patent, or trademark notices from the Source Code of
|
72
|
+
the Original Work, as well as any notices of licensing and any descriptive text identified
|
73
|
+
therein as an "Attribution Notice." You must cause the Source Code for any Derivative Works
|
74
|
+
that You create to carry a prominent Attribution Notice reasonably calculated to inform
|
75
|
+
recipients that You have modified the Original Work.
|
76
|
+
|
77
|
+
7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that the copyright
|
78
|
+
in and to the Original Work and the patent rights granted herein by Licensor are owned by
|
79
|
+
the Licensor or are sublicensed to You under the terms of this Licence with the permission
|
80
|
+
of the contributor(s) of those copyrights and patent rights. Except as expressly stated in
|
81
|
+
the immediately preceding sentence, the Original Work is provided under this Licence on an
|
82
|
+
"AS IS" BASIS and WITHOUT WARRANTY, either express or implied, including, without limitation,
|
83
|
+
the warranties of non-infringement, merchantability or fitness for a particular purpose.
|
84
|
+
THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. This DISCLAIMER OF WARRANTY
|
85
|
+
constitutes an essential part of this Licence. No license to the Original Work is granted
|
86
|
+
by this Licence except under this disclaimer.
|
87
|
+
|
88
|
+
8) Limitation of Liability. Under no circumstances and under no legal theory, whether
|
89
|
+
in tort (including negligence), contract, or otherwise, shall the Licensor be liable
|
90
|
+
to anyone for any indirect, special, incidental, or consequential damages of any character
|
91
|
+
arising as a result of this Licence or the use of the Original Work including, without
|
92
|
+
limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction,
|
93
|
+
or any and all other commercial damages or losses. This limitation of liability shall not
|
94
|
+
apply to the extent applicable law prohibits such limitation.
|
95
|
+
|
96
|
+
9) Acceptance and Termination. If, at any time, You expressly assented to this Licence,
|
97
|
+
that assent indicates your clear and irrevocable acceptance of this Licence and all of its
|
98
|
+
terms and conditions. If You distribute or communicate copies of the Original Work or a
|
99
|
+
Derivative Work, You must make a reasonable effort under the circumstances to obtain the
|
100
|
+
express assent of recipients to the terms of this Licence. This Licence conditions your
|
101
|
+
rights to undertake the activities listed in Section 1, including your right to create
|
102
|
+
Derivative Works based upon the Original Work, and doing so without honoring these
|
103
|
+
terms and conditions is prohibited by copyright law and international treaty. Nothing
|
104
|
+
in this Licence is intended to affect copyright exceptions and limitations (including
|
105
|
+
"fair use" or "fair dealing"). This Licence shall terminate immediately and You may no
|
106
|
+
longer exercise any of the rights granted to You by this Licence upon your failure to
|
107
|
+
honor the conditions in Section 1(c).
|
108
|
+
|
109
|
+
10) Termination for Patent Action. This Licence shall terminate automatically and
|
110
|
+
You may no longer exercise any of the rights granted to You by this Licence as of
|
111
|
+
the date You commence an action, including a cross-claim or counterclaim, against
|
112
|
+
Licensor or any licensee alleging that the Original Work infringes a patent. This
|
113
|
+
termination provision shall not apply for an action alleging patent infringement
|
114
|
+
by combinations of the Original Work with other software or hardware.
|
115
|
+
|
116
|
+
11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this Licence
|
117
|
+
may be brought only in the courts of a jurisdiction wherein the Licensor resides or
|
118
|
+
in which Licensor conducts its primary business, and under the laws of that jurisdiction
|
119
|
+
excluding its conflict-of-law provisions. The application of the United Nations Convention
|
120
|
+
on Contracts for the International Sale of Goods is expressly excluded. Any use of
|
121
|
+
the Original Work outside the scope of this Licence or after its termination shall be
|
122
|
+
subject to the requirements and penalties of copyright or patent law in the appropriate
|
123
|
+
jurisdiction. This section shall survive the termination of this Licence.
|
124
|
+
|
125
|
+
12) Attorneys' Fees. In any action to enforce the terms of this Licence or seeking
|
126
|
+
damages relating thereto, the prevailing party shall be entitled to recover its costs
|
127
|
+
and expenses, including, without limitation, reasonable attorneys' fees and costs
|
128
|
+
incurred in connection with such action, including any appeal of such action. This
|
129
|
+
section shall survive the termination of this Licence.
|
130
|
+
|
131
|
+
13) Miscellaneous. If any provision of this Licence is held to be unenforceable,
|
132
|
+
such provision shall be reformed only to the extent necessary to make it enforceable.
|
133
|
+
|
134
|
+
14) Definition of "You" in This Licence. "You" throughout this Licence, whether in
|
135
|
+
upper or lower case, means an individual or a legal entity exercising rights under,
|
136
|
+
and complying with all of the terms of, this Licence. For legal entities, "You" includes
|
137
|
+
any entity that controls, is controlled by, or is under common control with you. For
|
138
|
+
purposes of this definition, "control" means (i) the power, direct or indirect, to cause
|
139
|
+
the direction or management of such entity, whether by contract or otherwise, or (ii)
|
140
|
+
ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial
|
141
|
+
ownership of such entity.
|
142
|
+
|
143
|
+
15) Right to Use. You may use the Original Work in all ways not otherwise restricted or
|
144
|
+
conditioned by this Licence or by law, and Licensor promises not to interfere with or be
|
145
|
+
responsible for such uses by You.
|
146
|
+
|
147
|
+
16) Modification of This Licence. This Licence is Copyright © 2005 Lawrence Rosen.
|
148
|
+
Permission is granted to copy, distribute, or communicate this Licence without modification.
|
149
|
+
Nothing in this Licence permits You to modify this Licence as applied to the Original Work
|
150
|
+
or to Derivative Works. However, You may modify the text of this Licence and copy, distribute
|
151
|
+
or communicate your modified version (the "Modified Licence") and apply it to other original
|
152
|
+
works of authorship subject to the following conditions: (i) You may not indicate in any way
|
153
|
+
that your Modified Licence is the "Open Software Licence" or "OSL" and you may not use those
|
154
|
+
names in the name of your Modified Licence; (ii) You must replace the notice specified in the
|
155
|
+
first paragraph above with the notice "Licensed under <insert your license name here>" or
|
156
|
+
with a notice of your own that is not confusingly similar to the notice in this Licence;
|
157
|
+
and (iii) You may not claim that your original works are open source software unless your
|
158
|
+
Modified Licence has been approved by Open Source Initiative (OSI) and You comply with
|
159
|
+
its license review and certification process.
|