thin_service 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +19 -19
- data/Gemfile +4 -4
- data/LICENSE +52 -52
- data/README.md +26 -26
- data/Rakefile +17 -17
- data/lib/thin_service/version.rb +3 -3
- data/lib/thin_service.rb +15 -15
- data/resource/thin_service_wrapper.exe +0 -0
- data/src/ServiceFB/ServiceFB_Utils.bas +2 -1
- data/tasks/native_service.rake +1 -2
- data/thin_service.gemspec +21 -21
- metadata +22 -17
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3d6b03ed194c68f52e4aba354354633405acf109
|
4
|
+
data.tar.gz: 25d0685fd474f864e4b51ca51c5ec5cdd930ad3c
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: b5bae20decb35aee1d69ec8f406f1a3c7f3cd2d40f11debf380ddec177fd681237a1352524438d6ee59619be451e690ef5c812e984eb270ed7987cdc9b95a464
|
7
|
+
data.tar.gz: 55e971f07db0e2c3c16750faf46dcec032d0c23adc4424aa3449bb94f885a3fdc608351f3f29a89599e12027e6eac1accd023729591f00bf582ff03ec4413194
|
data/.gitignore
CHANGED
@@ -1,19 +1,19 @@
|
|
1
|
-
*.gem
|
2
|
-
*.rbc
|
3
|
-
*.o
|
4
|
-
*.a
|
5
|
-
.bundle
|
6
|
-
.config
|
7
|
-
.yardoc
|
8
|
-
Gemfile.lock
|
9
|
-
InstalledFiles
|
10
|
-
_yardoc
|
11
|
-
coverage
|
12
|
-
doc/
|
13
|
-
lib/bundler/man
|
14
|
-
pkg
|
15
|
-
rdoc
|
16
|
-
spec/reports
|
17
|
-
test/tmp
|
18
|
-
test/version_tmp
|
19
|
-
tmp
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
*.o
|
4
|
+
*.a
|
5
|
+
.bundle
|
6
|
+
.config
|
7
|
+
.yardoc
|
8
|
+
Gemfile.lock
|
9
|
+
InstalledFiles
|
10
|
+
_yardoc
|
11
|
+
coverage
|
12
|
+
doc/
|
13
|
+
lib/bundler/man
|
14
|
+
pkg
|
15
|
+
rdoc
|
16
|
+
spec/reports
|
17
|
+
test/tmp
|
18
|
+
test/version_tmp
|
19
|
+
tmp
|
data/Gemfile
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
# Specify your gem's dependencies in thin_service.gemspec
|
4
|
-
gemspec
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in thin_service.gemspec
|
4
|
+
gemspec
|
data/LICENSE
CHANGED
@@ -1,53 +1,53 @@
|
|
1
|
-
Mongrel Web Server (Mongrel) is copyrighted free software by Zed A. Shaw
|
2
|
-
<zedshaw at zedshaw dot com> and contributors. You can redistribute it
|
3
|
-
and/or modify it under either the terms of the GPL2 or the conditions below:
|
4
|
-
|
5
|
-
1. You may make and give away verbatim copies of the source form of the
|
6
|
-
software without restriction, provided that you duplicate all of the
|
7
|
-
original copyright notices and associated disclaimers.
|
8
|
-
|
9
|
-
2. You may modify your copy of the software in any way, provided that
|
10
|
-
you do at least ONE of the following:
|
11
|
-
|
12
|
-
a) place your modifications in the Public Domain or otherwise make them
|
13
|
-
Freely Available, such as by posting said modifications to Usenet or an
|
14
|
-
equivalent medium, or by allowing the author to include your
|
15
|
-
modifications in the software.
|
16
|
-
|
17
|
-
b) use the modified software only within your corporation or
|
18
|
-
organization.
|
19
|
-
|
20
|
-
c) rename any non-standard executables so the names do not conflict with
|
21
|
-
standard executables, which must also be provided.
|
22
|
-
|
23
|
-
d) make other distribution arrangements with the author.
|
24
|
-
|
25
|
-
3. You may distribute the software in object code or executable
|
26
|
-
form, provided that you do at least ONE of the following:
|
27
|
-
|
28
|
-
a) distribute the executables and library files of the software,
|
29
|
-
together with instructions (in the manual page or equivalent) on where
|
30
|
-
to get the original distribution.
|
31
|
-
|
32
|
-
b) accompany the distribution with the machine-readable source of the
|
33
|
-
software.
|
34
|
-
|
35
|
-
c) give non-standard executables non-standard names, with
|
36
|
-
instructions on where to get the original software distribution.
|
37
|
-
|
38
|
-
d) make other distribution arrangements with the author.
|
39
|
-
|
40
|
-
4. You may modify and include the part of the software into any other
|
41
|
-
software (possibly commercial). But some files in the distribution
|
42
|
-
are not written by the author, so that they are not under this terms.
|
43
|
-
|
44
|
-
5. The scripts and library files supplied as input to or produced as
|
45
|
-
output from the software do not automatically fall under the
|
46
|
-
copyright of the software, but belong to whomever generated them,
|
47
|
-
and may be sold commercially, and may be aggregated with this
|
48
|
-
software.
|
49
|
-
|
50
|
-
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
51
|
-
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
52
|
-
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
1
|
+
Mongrel Web Server (Mongrel) is copyrighted free software by Zed A. Shaw
|
2
|
+
<zedshaw at zedshaw dot com> and contributors. You can redistribute it
|
3
|
+
and/or modify it under either the terms of the GPL2 or the conditions below:
|
4
|
+
|
5
|
+
1. You may make and give away verbatim copies of the source form of the
|
6
|
+
software without restriction, provided that you duplicate all of the
|
7
|
+
original copyright notices and associated disclaimers.
|
8
|
+
|
9
|
+
2. You may modify your copy of the software in any way, provided that
|
10
|
+
you do at least ONE of the following:
|
11
|
+
|
12
|
+
a) place your modifications in the Public Domain or otherwise make them
|
13
|
+
Freely Available, such as by posting said modifications to Usenet or an
|
14
|
+
equivalent medium, or by allowing the author to include your
|
15
|
+
modifications in the software.
|
16
|
+
|
17
|
+
b) use the modified software only within your corporation or
|
18
|
+
organization.
|
19
|
+
|
20
|
+
c) rename any non-standard executables so the names do not conflict with
|
21
|
+
standard executables, which must also be provided.
|
22
|
+
|
23
|
+
d) make other distribution arrangements with the author.
|
24
|
+
|
25
|
+
3. You may distribute the software in object code or executable
|
26
|
+
form, provided that you do at least ONE of the following:
|
27
|
+
|
28
|
+
a) distribute the executables and library files of the software,
|
29
|
+
together with instructions (in the manual page or equivalent) on where
|
30
|
+
to get the original distribution.
|
31
|
+
|
32
|
+
b) accompany the distribution with the machine-readable source of the
|
33
|
+
software.
|
34
|
+
|
35
|
+
c) give non-standard executables non-standard names, with
|
36
|
+
instructions on where to get the original software distribution.
|
37
|
+
|
38
|
+
d) make other distribution arrangements with the author.
|
39
|
+
|
40
|
+
4. You may modify and include the part of the software into any other
|
41
|
+
software (possibly commercial). But some files in the distribution
|
42
|
+
are not written by the author, so that they are not under this terms.
|
43
|
+
|
44
|
+
5. The scripts and library files supplied as input to or produced as
|
45
|
+
output from the software do not automatically fall under the
|
46
|
+
copyright of the software, but belong to whomever generated them,
|
47
|
+
and may be sold commercially, and may be aggregated with this
|
48
|
+
software.
|
49
|
+
|
50
|
+
6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
|
51
|
+
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
|
52
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
53
53
|
PURPOSE.
|
data/README.md
CHANGED
@@ -1,26 +1,26 @@
|
|
1
|
-
# ThinService
|
2
|
-
|
3
|
-
Run Thin as a Windows Service - based on mongrel_service by Luis Lavena
|
4
|
-
|
5
|
-
## Installation
|
6
|
-
|
7
|
-
Add this line to your application's Gemfile:
|
8
|
-
|
9
|
-
gem 'thin_service'
|
10
|
-
|
11
|
-
And then execute:
|
12
|
-
|
13
|
-
$ bundle
|
14
|
-
|
15
|
-
Or install it yourself as:
|
16
|
-
|
17
|
-
$ gem install thin_service
|
18
|
-
|
19
|
-
## Usage
|
20
|
-
|
21
|
-
Use the following commands to get more help:
|
22
|
-
|
23
|
-
thin_service install --help
|
24
|
-
thin_service remove --help
|
25
|
-
|
26
|
-
|
1
|
+
# ThinService
|
2
|
+
|
3
|
+
Run Thin as a Windows Service - based on mongrel_service by Luis Lavena
|
4
|
+
|
5
|
+
## Installation
|
6
|
+
|
7
|
+
Add this line to your application's Gemfile:
|
8
|
+
|
9
|
+
gem 'thin_service'
|
10
|
+
|
11
|
+
And then execute:
|
12
|
+
|
13
|
+
$ bundle
|
14
|
+
|
15
|
+
Or install it yourself as:
|
16
|
+
|
17
|
+
$ gem install thin_service
|
18
|
+
|
19
|
+
## Usage
|
20
|
+
|
21
|
+
Use the following commands to get more help:
|
22
|
+
|
23
|
+
thin_service install --help
|
24
|
+
thin_service remove --help
|
25
|
+
|
26
|
+
|
data/Rakefile
CHANGED
@@ -1,17 +1,17 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
require "bundler/gem_tasks"
|
3
|
-
require "rake/clean"
|
4
|
-
require "rspec/core/rake_task"
|
5
|
-
|
6
|
-
RSpec::Core::RakeTask.new
|
7
|
-
|
8
|
-
task :default => :spec
|
9
|
-
task :test => :spec
|
10
|
-
task :package => [:compile]
|
11
|
-
task :build => [:compile]
|
12
|
-
|
13
|
-
CLOBBER.include('pkg')
|
14
|
-
|
15
|
-
load 'tasks/native_lib.rake'
|
16
|
-
load 'tasks/native_service.rake'
|
17
|
-
|
1
|
+
#!/usr/bin/env rake
|
2
|
+
require "bundler/gem_tasks"
|
3
|
+
require "rake/clean"
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
|
6
|
+
RSpec::Core::RakeTask.new
|
7
|
+
|
8
|
+
task :default => :spec
|
9
|
+
task :test => :spec
|
10
|
+
task :package => [:compile]
|
11
|
+
task :build => [:compile]
|
12
|
+
|
13
|
+
CLOBBER.include('pkg')
|
14
|
+
|
15
|
+
load 'tasks/native_lib.rake'
|
16
|
+
load 'tasks/native_service.rake'
|
17
|
+
|
data/lib/thin_service/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
module ThinService
|
2
|
-
VERSION = "0.0.
|
3
|
-
end
|
1
|
+
module ThinService
|
2
|
+
VERSION = "0.0.6"
|
3
|
+
end
|
data/lib/thin_service.rb
CHANGED
@@ -1,15 +1,15 @@
|
|
1
|
-
require_relative "thin_service/version.rb"
|
2
|
-
require_relative "thin_service/command.rb"
|
3
|
-
|
4
|
-
module ThinService
|
5
|
-
class Service
|
6
|
-
def initialize( args )
|
7
|
-
@args = args
|
8
|
-
end
|
9
|
-
|
10
|
-
def run!
|
11
|
-
ThinService::Command::Registry.new.run( @args )
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
1
|
+
require_relative "thin_service/version.rb"
|
2
|
+
require_relative "thin_service/command.rb"
|
3
|
+
|
4
|
+
module ThinService
|
5
|
+
class Service
|
6
|
+
def initialize( args )
|
7
|
+
@args = args
|
8
|
+
end
|
9
|
+
|
10
|
+
def run!
|
11
|
+
ThinService::Command::Registry.new.run( @args )
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
Binary file
|
@@ -98,7 +98,7 @@ namespace utils '# fb.svc.utils
|
|
98
98
|
|
99
99
|
'# this process started as service?
|
100
100
|
'# that means his parent is services.exe
|
101
|
-
if (parent_name = "services.exe") then
|
101
|
+
if (parent_name = "services.exe" Or parent_name = "<unknown>") then
|
102
102
|
result = RunAsService
|
103
103
|
else
|
104
104
|
'# ok, it didn't start as service, analyze command line then
|
@@ -417,6 +417,7 @@ namespace utils '# fb.svc.utils
|
|
417
417
|
dim GetProcessImageFileName as function (byval as HANDLE, byval as LPTSTR, byval as DWORD) as DWORD
|
418
418
|
|
419
419
|
'# assign "<unknown>" to process name, allocate MAX_PATH (260 bytes)
|
420
|
+
result = "<unknown>"
|
420
421
|
zresult = "<unknown>" + chr(0)
|
421
422
|
|
422
423
|
'# get dynlib
|
data/tasks/native_service.rake
CHANGED
@@ -24,12 +24,11 @@ namespace :native do
|
|
24
24
|
define "GEM_VERSION=\"#{ThinService::VERSION}\""
|
25
25
|
|
26
26
|
main 'src/thin_service/thin_service.bas'
|
27
|
-
source 'src/thin_service/console_process.bas'
|
27
|
+
source 'src/thin_service/console_process.bas', "src/ServiceFB/ServiceFB.bas", "src/ServiceFB/ServiceFB_Utils.bas"
|
28
28
|
|
29
29
|
search_path 'src/ServiceFB'
|
30
30
|
|
31
31
|
lib_path 'builds'
|
32
|
-
library 'ServiceFB', 'ServiceFB_Utils'
|
33
32
|
library 'user32', 'advapi32', 'psapi'
|
34
33
|
|
35
34
|
option exe_options
|
data/thin_service.gemspec
CHANGED
@@ -1,21 +1,21 @@
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
2
|
-
require File.expand_path('../lib/thin_service/version', __FILE__)
|
3
|
-
|
4
|
-
Gem::Specification.new do |gem|
|
5
|
-
gem.authors = ["Garth Smedley"]
|
6
|
-
gem.email = ["gsmedley@kanayo.com"]
|
7
|
-
gem.description = %q{Runs Thin as a Windows Service - based on mongrel_service}
|
8
|
-
gem.summary = %q{Windows service exe launches thin_service and keeps it launched.}
|
9
|
-
gem.homepage = ""
|
10
|
-
|
11
|
-
gem.files = `git ls-files`.split($\)
|
12
|
-
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
-
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
-
gem.name = "thin_service"
|
15
|
-
gem.require_paths = ["lib"]
|
16
|
-
gem.version = ThinService::VERSION
|
17
|
-
|
18
|
-
gem.add_development_dependency 'rake'
|
19
|
-
gem.add_development_dependency 'rspec'
|
20
|
-
|
21
|
-
end
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/thin_service/version', __FILE__)
|
3
|
+
|
4
|
+
Gem::Specification.new do |gem|
|
5
|
+
gem.authors = ["Garth Smedley"]
|
6
|
+
gem.email = ["gsmedley@kanayo.com"]
|
7
|
+
gem.description = %q{Runs Thin as a Windows Service - based on mongrel_service}
|
8
|
+
gem.summary = %q{Windows service exe launches thin_service and keeps it launched.}
|
9
|
+
gem.homepage = ""
|
10
|
+
|
11
|
+
gem.files = `git ls-files`.split($\)
|
12
|
+
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
13
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
14
|
+
gem.name = "thin_service"
|
15
|
+
gem.require_paths = ["lib"]
|
16
|
+
gem.version = ThinService::VERSION
|
17
|
+
|
18
|
+
gem.add_development_dependency 'rake'
|
19
|
+
gem.add_development_dependency 'rspec'
|
20
|
+
|
21
|
+
end
|
metadata
CHANGED
@@ -1,38 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thin_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.6
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Garth Smedley
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-02-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rake
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - '>='
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - '>='
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: rspec
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - '>='
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '>='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
description: Runs Thin as a Windows Service - based on mongrel_service
|
37
42
|
email:
|
38
43
|
- gsmedley@kanayo.com
|
@@ -80,28 +85,28 @@ files:
|
|
80
85
|
- tools/freebasic.rb
|
81
86
|
homepage: ''
|
82
87
|
licenses: []
|
88
|
+
metadata: {}
|
83
89
|
post_install_message:
|
84
90
|
rdoc_options: []
|
85
91
|
require_paths:
|
86
92
|
- lib
|
87
93
|
required_ruby_version: !ruby/object:Gem::Requirement
|
88
|
-
none: false
|
89
94
|
requirements:
|
90
|
-
- -
|
95
|
+
- - '>='
|
91
96
|
- !ruby/object:Gem::Version
|
92
97
|
version: '0'
|
93
98
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
94
|
-
none: false
|
95
99
|
requirements:
|
96
|
-
- -
|
100
|
+
- - '>='
|
97
101
|
- !ruby/object:Gem::Version
|
98
102
|
version: '0'
|
99
103
|
requirements: []
|
100
104
|
rubyforge_project:
|
101
|
-
rubygems_version:
|
105
|
+
rubygems_version: 2.0.14
|
102
106
|
signing_key:
|
103
|
-
specification_version:
|
107
|
+
specification_version: 4
|
104
108
|
summary: Windows service exe launches thin_service and keeps it launched.
|
105
109
|
test_files:
|
106
110
|
- spec/spec_helper.rb
|
107
111
|
- spec/thin_service_spec.rb
|
112
|
+
has_rdoc:
|