inprovise 0.2.5 → 0.2.6
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 +8 -8
- data/appveyor.yml +27 -0
- data/bin/rig +1 -1
- data/bin/rig.bat +15 -0
- data/lib/inprovise/logger.rb +7 -3
- data/lib/inprovise/sniffer/linux.rb +53 -11
- data/lib/inprovise/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
MzU2MGE3MGU3MWMzZDIxZTUyYmRjODFmMWUyYWE1NTRmZDZjOTUxMg==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YjkxODRlNzYzMGE4ODBmNDAwM2E1ZmEwNzUyMmQ0M2UwOWEyYmY4Mg==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
OGU0OTM0ZWE0NTY1OTQ1MzM0ODhmMGI2MjkxOTQ2ZGNkOTI2MTYzMzQ0ZTVj
|
10
|
+
NGY0NTM2MWQ2Mjk2MDVkYmI2NzNhY2JiNzg4Mzk1ZWZkYjEwYTNkOWY1YTRj
|
11
|
+
NjkxZmQ5N2Y4ZjQ1MGRiZTMxNjg3YWMzNGE1Yjk5NmM2YzczZGQ=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
Njc2Y2E0YTczM2Q5NzdjNjQwYjUyOWU1MDg0OTEzN2E4YmVjZDkwMjNjMjlh
|
14
|
+
Y2U3ZmNlMzdhODMwYTU3MzYwYzZhZDMyOTZiMTBhMGRlZTdiMjE1MzZjYTll
|
15
|
+
Mjc2MDQ2N2Q5MzMxOThhMDQ3MWJkYzE4MjRhNjE2ZTZmNzRkOGM=
|
data/appveyor.yml
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
version: "master-{build}"
|
2
|
+
|
3
|
+
os: Windows Server 2012 R2
|
4
|
+
platform:
|
5
|
+
- x64
|
6
|
+
|
7
|
+
environment:
|
8
|
+
matrix:
|
9
|
+
- ruby_version: "21"
|
10
|
+
|
11
|
+
branches:
|
12
|
+
only:
|
13
|
+
- master
|
14
|
+
|
15
|
+
install:
|
16
|
+
- ps: $env:PATH="C:\Ruby$env:ruby_version\bin;$env:PATH"
|
17
|
+
- ps: Write-Host $env:PATH
|
18
|
+
- ps: ruby --version
|
19
|
+
- ps: gem --version
|
20
|
+
- ps: gem install bundler --quiet --no-ri --no-rdoc
|
21
|
+
- ps: bundler --version
|
22
|
+
|
23
|
+
build_script:
|
24
|
+
- bundle install || bundle install || bundle install
|
25
|
+
|
26
|
+
test_script:
|
27
|
+
- bundle exec rake test
|
data/bin/rig
CHANGED
data/bin/rig.bat
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
@echo off
|
2
|
+
if not "%~f0" == "~f0" goto WinNT
|
3
|
+
ruby -Sx "%0" %1 %2 %3 %4 %5 %6 %7 %8 %9
|
4
|
+
goto endofruby
|
5
|
+
:WinNT
|
6
|
+
if not exist "%~d0%~p0ruby" goto rubyfrompath
|
7
|
+
if exist "%~d0%~p0ruby" "%~d0%~p0ruby" -x "%~dp0\rig" %*
|
8
|
+
goto endofruby
|
9
|
+
:rubyfrompath
|
10
|
+
ruby -x "%~dp0\rig" %*
|
11
|
+
goto endofruby
|
12
|
+
#!/bin/ruby
|
13
|
+
#
|
14
|
+
Kernel.system('ruby', '-Sx', File.join(File.dirname(__FILE__), FILE.basename(__FILE__, '.*')), *ARGV)
|
15
|
+
:endofruby
|
data/lib/inprovise/logger.rb
CHANGED
@@ -57,8 +57,13 @@ class Inprovise::Logger
|
|
57
57
|
Thread.exclusive do
|
58
58
|
$stdout.print "#{@node.to_s} [#{@task.bold}] " if @nl
|
59
59
|
$stdout.print msg.sub("\r", "\r".to_eol << "#{@node.to_s} [#{@task.bold}] ")
|
60
|
+
@nl = false
|
60
61
|
end
|
61
|
-
|
62
|
+
end
|
63
|
+
|
64
|
+
def println(msg)
|
65
|
+
print(msg)
|
66
|
+
Thread.exclusive { $stdout.puts; @nl = true }
|
62
67
|
end
|
63
68
|
|
64
69
|
def stdout(msg, force=false)
|
@@ -72,8 +77,7 @@ class Inprovise::Logger
|
|
72
77
|
def say(msg, color=nil, stream=$stdout)
|
73
78
|
msg.to_s.split("\n").each do |line|
|
74
79
|
out = color ? line.send(color) : line
|
75
|
-
Thread.exclusive { stream.puts unless @nl; stream.puts "#{@node.to_s} [#{@task.bold}] #{out}" }
|
76
|
-
@nl = true
|
80
|
+
Thread.exclusive { stream.puts unless @nl; stream.puts "#{@node.to_s} [#{@task.bold}] #{out}"; @nl = true }
|
77
81
|
end
|
78
82
|
end
|
79
83
|
end
|
@@ -9,19 +9,46 @@ Inprovise::Sniffer.define('linux', false) do
|
|
9
9
|
|
10
10
|
action('main') do |attrs|
|
11
11
|
attrs[:machine] = run('uname -m').chomp
|
12
|
-
if
|
13
|
-
trigger 'sniff[linux]:
|
14
|
-
elsif
|
15
|
-
trigger 'sniff[linux]:
|
16
|
-
|
17
|
-
|
12
|
+
if binary_exists?('lsb_release')
|
13
|
+
trigger 'sniff[linux]:lsb_release', attrs
|
14
|
+
elsif binary_exists?('lsb-release')
|
15
|
+
trigger 'sniff[linux]:lsb_release', attrs, 'lsb-release'
|
16
|
+
end
|
17
|
+
unless attrs[:os_distro]
|
18
|
+
if remote('/etc/os-release').exists?
|
19
|
+
trigger 'sniff[linux]:os-release', attrs
|
20
|
+
elsif remote('/etc/redhat-release').exists?
|
21
|
+
trigger 'sniff[linux]:redhat-release', attrs
|
22
|
+
elsif remote('/etc/SuSE-release').exists?
|
23
|
+
trigger 'sniff[linux]:suse-release', attrs
|
24
|
+
elsif remote('/etc/debian-version').exists?
|
25
|
+
trigger 'sniff[linux]:debian-version', attrs
|
26
|
+
end
|
18
27
|
end
|
19
28
|
attrs[:pkgman] = case attrs[:os_distro]
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
29
|
+
when 'fedora', 'centos', 'rhel'
|
30
|
+
binary_exists?('dnf') ? 'dnf' : 'yum'
|
31
|
+
when 'linuxmint', 'ubuntu', 'debian'
|
32
|
+
'apt'
|
33
|
+
when /suse/
|
34
|
+
'zypper'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
action('lsb_release') do |attrs, bin='lsb_release'|
|
39
|
+
if /distributor\s+id:\s+(.*)/i =~ run("#{bin} -i").chomp
|
40
|
+
attrs[:os_distro] = case distro = $1
|
41
|
+
when /RedHat/i
|
42
|
+
'rhel'
|
43
|
+
when /SUSE/i
|
44
|
+
run("#{bin} -d").chomp =~ /opensuse/i ? 'opensuse' : 'suse'
|
45
|
+
else
|
46
|
+
distro.downcase
|
47
|
+
end
|
48
|
+
if /release:\s+(.*)/i =~ run("#{bin} -r").chomp
|
49
|
+
attrs[:os_version] = $1
|
50
|
+
end
|
51
|
+
end
|
25
52
|
end
|
26
53
|
|
27
54
|
action('os-release') do |attrs|
|
@@ -63,6 +90,21 @@ Inprovise::Sniffer.define('linux', false) do
|
|
63
90
|
end
|
64
91
|
end
|
65
92
|
|
93
|
+
action('suse-release') do |attrs|
|
94
|
+
data = remote('/etc/SuSE-release').content.split("\n").collect {|l| l.strip }
|
95
|
+
attrs[:os_distro] = data.shift.split(' ').first.downcase
|
96
|
+
data.each do |l|
|
97
|
+
if data =~ /\AVERSION\s*=\s*(.*)/i
|
98
|
+
attrs[:os_version] = $1.strip
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|
102
|
+
|
103
|
+
action('debian-version') do |attrs|
|
104
|
+
attrs[:os_distro] = 'debian'
|
105
|
+
attrs[:os_version] = remote('/etc/debian-version').content.strip
|
106
|
+
end
|
107
|
+
|
66
108
|
# :nocov:
|
67
109
|
|
68
110
|
end
|
data/lib/inprovise/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: inprovise
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Corino
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colored
|
@@ -85,6 +85,7 @@ email:
|
|
85
85
|
- mcorino@remedy.nl
|
86
86
|
executables:
|
87
87
|
- rig
|
88
|
+
- rig.bat
|
88
89
|
extensions: []
|
89
90
|
extra_rdoc_files: []
|
90
91
|
files:
|
@@ -95,7 +96,9 @@ files:
|
|
95
96
|
- LICENSE
|
96
97
|
- README.md
|
97
98
|
- Rakefile.rb
|
99
|
+
- appveyor.yml
|
98
100
|
- bin/rig
|
101
|
+
- bin/rig.bat
|
99
102
|
- inprovise.gemspec
|
100
103
|
- lib/inprovise.rb
|
101
104
|
- lib/inprovise/channel/ssh.rb
|