lsb_init 0.0.3 → 0.0.4
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.
- checksums.yaml +4 -4
- data/lib/daemon +0 -2
- data/lib/lsb_init/configurator.rb +46 -23
- data/lib/lsb_init/main.rb +0 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 713d13361c9887c77f33c80c70c5c730fccdf613
|
4
|
+
data.tar.gz: a22496db062811e2def839ce0950b9c54df396a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 815a637a6625d20b0ce99dece19afd0d204fb50ca637e76e144863fbe5cf836f4f5ec6f6efc4ad7b1df53a59fc67def477019fce686263208d149cf22f1860fc
|
7
|
+
data.tar.gz: 1af5d2c54b664a850dcf52d1aa1a06cccc10e981c2fe8f6f9082b1a8ccfa94496796355876c37be89492f7bdb10e0042f6d783385c18f3ab96f5b30ac6592b7e
|
data/lib/daemon
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'fileutils'
|
2
|
-
require 'yaml'
|
3
2
|
|
4
3
|
module LsbInit
|
5
4
|
|
@@ -9,8 +8,8 @@ USAGE:
|
|
9
8
|
lsb_init_ruby command service_name
|
10
9
|
|
11
10
|
commands:
|
12
|
-
|
13
|
-
|
11
|
+
g - generate rc script (with disabling of existing one), for project and places it into lsb_init folder.
|
12
|
+
d - disable script
|
14
13
|
END
|
15
14
|
|
16
15
|
class ProjectIsNotUnderBundler < Exception
|
@@ -30,7 +29,7 @@ USAGE:
|
|
30
29
|
class InappropriateServiceName < Exception
|
31
30
|
|
32
31
|
def message
|
33
|
-
|
32
|
+
'Cannot generate service with give name.'
|
34
33
|
end
|
35
34
|
|
36
35
|
def note
|
@@ -55,6 +54,7 @@ USAGE:
|
|
55
54
|
class Configurator
|
56
55
|
|
57
56
|
def initialize(args)
|
57
|
+
@service_name = nil
|
58
58
|
# defining @project_root, @service_name
|
59
59
|
raise BadArgumentPassed.new if args.length < 1
|
60
60
|
find_project
|
@@ -80,45 +80,67 @@ USAGE:
|
|
80
80
|
end
|
81
81
|
|
82
82
|
def cleanup
|
83
|
-
if Dir.exists?(@lsb_init_dir) && Dir.exists?(
|
83
|
+
if Dir.exists?(@lsb_init_dir) && Dir.exists?("#{@lsb_init_dir}/runner")
|
84
84
|
puts 'Removing old runner script'
|
85
|
-
|
86
|
-
|
87
|
-
|
85
|
+
runner_dir = Dir.entries("#{@lsb_init_dir}/runner")
|
86
|
+
runner_dir.delete '.'
|
87
|
+
runner_dir.delete '..'
|
88
|
+
runner_name = runner_dir.first
|
89
|
+
if runner_name && runner_name.length>0
|
90
|
+
puts "Found runner name #{runner_name}"
|
91
|
+
`sudo rm /etc/init.d/#{runner_name}`
|
92
|
+
`sudo update-rc.d #{runner_name} remove`
|
93
|
+
`rm -rf #{@lsb_init_dir}/runner`
|
94
|
+
else
|
95
|
+
puts 'Runner name was not found. Try to generate firstly.'
|
96
|
+
end
|
88
97
|
end
|
89
98
|
|
90
|
-
puts "
|
91
|
-
`rm -rf #{@lsb_init_dir}` if Dir.exists?(@lsb_init_dir)
|
99
|
+
puts "To complete removing - delete '#{@lsb_init_dir}' manually"
|
92
100
|
end
|
93
101
|
|
94
102
|
def generate
|
95
103
|
gem_dir = File.expand_path('../..', File.expand_path(__FILE__))
|
96
104
|
puts "Preparing project's lsb_init folder"
|
97
105
|
|
98
|
-
[@lsb_init_dir].each{|d| Dir.mkdir d}
|
99
|
-
|
100
106
|
puts 'Generating scripts'
|
101
|
-
Dir.mkdir
|
107
|
+
Dir.mkdir(@lsb_init_dir) unless Dir.exists?(@lsb_init_dir)
|
108
|
+
Dir.mkdir("#{@lsb_init_dir}/runner") unless Dir.exists?("#{@lsb_init_dir}/runner")
|
102
109
|
rc_filename = "#{@lsb_init_dir}/runner/#{@service_name}"
|
103
|
-
|
104
|
-
|
105
|
-
|
110
|
+
File.open(rc_filename, 'w'){ |f| f.write script_text}
|
111
|
+
|
112
|
+
`cp #{gem_dir}/lsb_init/main.rb #{@lsb_init_dir}/main.rb` unless File.exists?("#{@lsb_init_dir}/main.rb")
|
113
|
+
|
114
|
+
runner = '#!/usr/bin/env ruby'
|
115
|
+
|
116
|
+
begin
|
117
|
+
rvm_current = `rvm current`.strip
|
118
|
+
puts "RVM current found: #{rvm_current}"
|
119
|
+
unless rvm_current.nil? || rvm_current.length==0
|
120
|
+
puts "Creating alias #{@service_name}"
|
121
|
+
`rvm alias create #{@service_name} #{rvm_current}`
|
122
|
+
runner = '#!' + `echo $HOME`.strip + "/.rvm/wrappers/#{@service_name}/ruby"
|
123
|
+
end
|
124
|
+
rescue
|
125
|
+
puts 'RVM not used.'
|
126
|
+
end
|
106
127
|
|
107
|
-
|
108
|
-
rc_file.close
|
128
|
+
puts "Runner is set to: #{runner}"
|
109
129
|
|
110
|
-
|
111
|
-
|
130
|
+
File.open("#{@lsb_init_dir}/daemon", 'w') do |o|
|
131
|
+
o.puts runner
|
132
|
+
File.open("#{gem_dir}/daemon", 'r') {|i| o.write(i.read)}
|
133
|
+
end
|
112
134
|
|
113
|
-
`chmod 755 #{rc_filename}`
|
114
|
-
`sudo chown root:root #{rc_filename}`
|
115
135
|
`sudo cp #{rc_filename} /etc/init.d/#{@service_name}`
|
136
|
+
`sudo chmod 755 /etc/init.d/#{@service_name}`
|
137
|
+
`sudo chown root:root /etc/init.d/#{@service_name}`
|
116
138
|
`sudo update-rc.d #{@service_name} defaults`
|
117
139
|
end
|
118
140
|
|
119
141
|
def find_project
|
120
142
|
dir = Dir.pwd
|
121
|
-
|
143
|
+
until File.exists?("#{dir}/Gemfile") do
|
122
144
|
dir = File.expand_path '..', dir
|
123
145
|
raise ProjectIsNotUnderBundler.new if dir.eql? '/'
|
124
146
|
end
|
@@ -237,6 +259,7 @@ case $1 in
|
|
237
259
|
;;
|
238
260
|
esac
|
239
261
|
END
|
262
|
+
text
|
240
263
|
end
|
241
264
|
|
242
265
|
end
|
data/lib/lsb_init/main.rb
CHANGED