specinfra 2.62.0 → 2.63.0
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/specinfra/command/freebsd/base/package.rb +16 -4
- data/lib/specinfra/command/freebsd/v6/package.rb +19 -0
- data/lib/specinfra/command/freebsd/v7/package.rb +2 -0
- data/lib/specinfra/command/freebsd/v7.rb +2 -0
- data/lib/specinfra/command/freebsd/v8/package.rb +54 -0
- data/lib/specinfra/command/freebsd/v8.rb +2 -0
- data/lib/specinfra/command/freebsd/v9/package.rb +1 -47
- data/lib/specinfra/command.rb +9 -4
- data/lib/specinfra/version.rb +1 -1
- data/spec/command/freebsd/package_spec.rb +68 -5
- metadata +7 -4
- data/lib/specinfra/command/freebsd/v10/package.rb +0 -31
- data/lib/specinfra/command/freebsd/v10.rb +0 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9f008a62e9df588d9f48580058a5fff5fadbe5c8
|
4
|
+
data.tar.gz: 4aee183c7c190d945245b85c5c76cc98dcf4b7e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 95d908aa7bd24ba5dc84d7a773ac9790bba3f13bca5c017270110b8892965daa2302b0f0474c8eb869b8c68389db7476aeb784db726f79b8668a8119fbf12302
|
7
|
+
data.tar.gz: 717b4f3a56efa608c17ea937fd3b2c566ddc7c73ed632c3039937c8ba473ecc814b758f3cd9d18cb7e4cdb02d107fb6f2a061785d6980de099ba8e2627e66958
|
@@ -2,18 +2,30 @@ class Specinfra::Command::Freebsd::Base::Package < Specinfra::Command::Base::Pac
|
|
2
2
|
class << self
|
3
3
|
def check_is_installed(package, version=nil)
|
4
4
|
if version
|
5
|
-
"
|
5
|
+
"pkg query %v #{escape(package)} | grep -- #{escape(version)}"
|
6
6
|
else
|
7
|
-
"
|
7
|
+
"pkg info -e #{escape(package)}"
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
+
alias :check_is_installed_by_pkg :check_is_installed
|
12
|
+
|
13
|
+
def check_is_installed_by_rpm(package, version=nil)
|
14
|
+
cmd = "rpm -q #{escape(package)}"
|
15
|
+
if version
|
16
|
+
cmd = "#{cmd} | grep -w -- #{escape(package)}-#{escape(version)}"
|
17
|
+
end
|
18
|
+
cmd
|
19
|
+
end
|
20
|
+
|
21
|
+
alias :check_is_installed_by_yum :check_is_installed_by_rpm
|
22
|
+
|
11
23
|
def install(package, version=nil, option='')
|
12
|
-
"
|
24
|
+
"pkg install -y #{option} #{package}"
|
13
25
|
end
|
14
26
|
|
15
27
|
def get_version(package, opts=nil)
|
16
|
-
"
|
28
|
+
"pkg query %v #{escape(package)}"
|
17
29
|
end
|
18
30
|
end
|
19
31
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class Specinfra::Command::Freebsd::V6::Package < Specinfra::Command::Base::Package
|
2
|
+
class << self
|
3
|
+
def check_is_installed(package, version=nil)
|
4
|
+
if version
|
5
|
+
"pkg_info -I #{escape(package)}-#{escape(version)}"
|
6
|
+
else
|
7
|
+
"pkg_info -Ix #{escape(package)}"
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def install(package, version=nil, option='')
|
12
|
+
"pkg_add -r #{option} install #{package}"
|
13
|
+
end
|
14
|
+
|
15
|
+
def get_version(package, opts=nil)
|
16
|
+
"pkg_info -Ix #{escape(package)} | cut -f 1 -w | sed -n 's/^#{escape(package)}-//p'"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
class Specinfra::Command::Freebsd::V8::Package < Specinfra::Command::Freebsd::Base::Package
|
2
|
+
class << self
|
3
|
+
def pkg_info_pattern(package)
|
4
|
+
# allow portorigin (origin/portname) as package argument, so that we get
|
5
|
+
# similar answers from either "pkg info" and "pkg_info"
|
6
|
+
"^#{package.split('/', 2)[-1]}-[0-9][0-9a-zA-Z_\.,]*$"
|
7
|
+
end
|
8
|
+
|
9
|
+
def shell_check_pkgng
|
10
|
+
# See manpage of pkg(8), the paragraph devoted to -N flag
|
11
|
+
# https://www.freebsd.org/cgi/man.cgi?query=pkg
|
12
|
+
'TMPDIR=/dev/null ASSUME_ALWAYS_YES=1 PACKAGESITE=file:///nonexist ' \
|
13
|
+
'pkg info -x \'pkg(-devel)?$\' > /dev/null 2>&1'
|
14
|
+
end
|
15
|
+
|
16
|
+
def shell_ifelse(cond, stmt_t, stmt_f)
|
17
|
+
"if #{cond}; then #{stmt_t}; else #{stmt_f}; fi"
|
18
|
+
end
|
19
|
+
|
20
|
+
def check_is_installed(package, version = nil)
|
21
|
+
if version
|
22
|
+
shell_ifelse(
|
23
|
+
shell_check_pkgng(),
|
24
|
+
"pkg query %v #{escape(package)} | grep -- #{escape(version)}",
|
25
|
+
"pkg_info -I #{escape(package)}-#{escape(version)}"
|
26
|
+
)
|
27
|
+
else
|
28
|
+
pattern = pkg_info_pattern(package)
|
29
|
+
shell_ifelse(
|
30
|
+
shell_check_pkgng(),
|
31
|
+
"pkg info -e #{escape(package)}",
|
32
|
+
"pkg_info -Ix #{escape(pattern)}"
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def install(package, _version = nil, option = '')
|
38
|
+
shell_ifelse(
|
39
|
+
shell_check_pkgng(),
|
40
|
+
"pkg install -y #{option} #{package}",
|
41
|
+
"pkg_add -r #{option} install #{package}"
|
42
|
+
)
|
43
|
+
end
|
44
|
+
|
45
|
+
def get_version(package, _options = nil)
|
46
|
+
pattern = pkg_info_pattern(package)
|
47
|
+
shell_ifelse(
|
48
|
+
shell_check_pkgng(),
|
49
|
+
"pkg query %v #{escape(package)}",
|
50
|
+
"pkg_info -Ix #{escape(pattern)} | cut -f 1 -w | sed -n 's/^#{escape(package)}-//p'"
|
51
|
+
)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
@@ -1,48 +1,2 @@
|
|
1
|
-
class Specinfra::Command::Freebsd::V9::Package < Specinfra::Command::Freebsd::
|
2
|
-
class << self
|
3
|
-
def shell_check_pkgng
|
4
|
-
# This test works on FreeBSD >= 9.2. On 9.1, pkg has no -N option. Also,
|
5
|
-
# on fresh 9.1 installation there is only a placeholder pkg command,
|
6
|
-
# which immediatelly enters interactive mode and wants to install pkg
|
7
|
-
# package (so it's not suitable for a test like ours). On 9.0, there
|
8
|
-
# seems to be no pkg command/package at all.
|
9
|
-
"test `sysctl -n kern.osreldate` -ge 902000 && pkg -N > /dev/null 2>&1"
|
10
|
-
end
|
11
|
-
|
12
|
-
def shell_ifelse(cond, stmt_t, stmt_f)
|
13
|
-
"if #{cond}; then #{stmt_t}; else #{stmt_f}; fi"
|
14
|
-
end
|
15
|
-
|
16
|
-
def check_is_installed(package, version=nil)
|
17
|
-
if version
|
18
|
-
shell_ifelse(
|
19
|
-
shell_check_pkgng(),
|
20
|
-
"pkg query %v #{escape(package)} | grep -- #{escape(version)}",
|
21
|
-
"pkg_info -I #{escape(package)}-#{escape(version)}"
|
22
|
-
)
|
23
|
-
else
|
24
|
-
shell_ifelse(
|
25
|
-
shell_check_pkgng(),
|
26
|
-
"pkg info -e #{escape(package)}",
|
27
|
-
"pkg_info -Ix #{escape(package)}"
|
28
|
-
)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
|
-
def install(package, version=nil, option='')
|
33
|
-
shell_ifelse(
|
34
|
-
shell_check_pkgng(),
|
35
|
-
"pkg install -y #{option} #{package}",
|
36
|
-
"pkg_add -r #{option} install #{package}"
|
37
|
-
)
|
38
|
-
end
|
39
|
-
|
40
|
-
def get_version(package, opts=nil)
|
41
|
-
shell_ifelse(
|
42
|
-
shell_check_pkgng(),
|
43
|
-
"pkg query %v #{escape(package)}",
|
44
|
-
"pkg_info -Ix #{escape(package)} | cut -f 1 -w | sed -n 's/^#{escape(package)}-//p'"
|
45
|
-
)
|
46
|
-
end
|
47
|
-
end
|
1
|
+
class Specinfra::Command::Freebsd::V9::Package < Specinfra::Command::Freebsd::V8::Package
|
48
2
|
end
|
data/lib/specinfra/command.rb
CHANGED
@@ -242,15 +242,20 @@ require 'specinfra/command/freebsd/base/user'
|
|
242
242
|
# FreeBSD V6 (inherit FreeBSD)
|
243
243
|
require 'specinfra/command/freebsd/v6'
|
244
244
|
require 'specinfra/command/freebsd/v6/user'
|
245
|
+
require 'specinfra/command/freebsd/v6/package'
|
246
|
+
|
247
|
+
# FreeBSD V7 (inherit FreeBSD)
|
248
|
+
require 'specinfra/command/freebsd/v7'
|
249
|
+
require 'specinfra/command/freebsd/v7/package'
|
250
|
+
|
251
|
+
# FreeBSD V8 (inherit FreeBSD)
|
252
|
+
require 'specinfra/command/freebsd/v8'
|
253
|
+
require 'specinfra/command/freebsd/v8/package'
|
245
254
|
|
246
255
|
# FreeBSD V9 (inherit FreeBSD)
|
247
256
|
require 'specinfra/command/freebsd/v9'
|
248
257
|
require 'specinfra/command/freebsd/v9/package'
|
249
258
|
|
250
|
-
# FreeBSD V10 (inherit FreeBSD)
|
251
|
-
require 'specinfra/command/freebsd/v10'
|
252
|
-
require 'specinfra/command/freebsd/v10/package'
|
253
|
-
|
254
259
|
# OpenBSD (inherit Base)
|
255
260
|
require 'specinfra/command/openbsd'
|
256
261
|
require 'specinfra/command/openbsd/base'
|
data/lib/specinfra/version.rb
CHANGED
@@ -10,6 +10,21 @@ describe 'command/freebsd/package works correctly' do
|
|
10
10
|
before do
|
11
11
|
set :os, :family => 'freebsd'
|
12
12
|
end
|
13
|
+
describe 'get_command(:check_package_is_installed, "figlet")' do
|
14
|
+
it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg +info +-e +figlet$/ }
|
15
|
+
end
|
16
|
+
describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
|
17
|
+
it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).to match /^pkg +query +%v +figlet *\| *grep -- 1.2.3$/ }
|
18
|
+
end
|
19
|
+
describe 'get_command(:install_package, "figlet")' do
|
20
|
+
it { expect(get_command(:install_package, 'figlet')).to match /^pkg +install +-y +figlet$/ }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
context 'freebsd-6' do
|
25
|
+
before do
|
26
|
+
set :os, :family => 'freebsd', :release => '6'
|
27
|
+
end
|
13
28
|
describe 'get_command(:check_package_is_installed, "figlet")' do
|
14
29
|
it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg_info +-Ix +figlet$/ }
|
15
30
|
end
|
@@ -21,9 +36,9 @@ describe 'command/freebsd/package works correctly' do
|
|
21
36
|
end
|
22
37
|
end
|
23
38
|
|
24
|
-
context 'freebsd-
|
39
|
+
context 'freebsd-7' do
|
25
40
|
before do
|
26
|
-
set :os, :family => 'freebsd', :release => '
|
41
|
+
set :os, :family => 'freebsd', :release => '7'
|
27
42
|
end
|
28
43
|
describe 'get_command(:check_package_is_installed, "figlet")' do
|
29
44
|
it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg_info +-Ix +figlet$/ }
|
@@ -36,16 +51,49 @@ describe 'command/freebsd/package works correctly' do
|
|
36
51
|
end
|
37
52
|
end
|
38
53
|
|
54
|
+
context 'freebsd-8' do
|
55
|
+
before do
|
56
|
+
set :os, :family => 'freebsd', :release => '8'
|
57
|
+
end
|
58
|
+
let(:cond) do
|
59
|
+
%r{TMPDIR=/dev/null +ASSUME_ALWAYS_YES=1 +PACKAGESITE=file:///nonexist +pkg +info +-x +'pkg\(-devel\)\?\$' *> */dev/null +2>&1}
|
60
|
+
end
|
61
|
+
describe 'get_command(:check_package_is_installed, "figlet")' do
|
62
|
+
st = /pkg +info +-e +figlet/
|
63
|
+
sf = /pkg_info +-Ix +\\\^figlet-\\\[0-9\\\]\\\[0-9a-zA-Z_\.,\\\]\\\*\\\$/
|
64
|
+
it { expect(get_command(:check_package_is_installed, 'figlet')).
|
65
|
+
to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
|
66
|
+
end
|
67
|
+
describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
|
68
|
+
st = /pkg +query +%v +figlet *\| *grep -- 1.2.3/
|
69
|
+
sf = /pkg_info +-I +figlet-1.2.3/
|
70
|
+
it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).
|
71
|
+
to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
|
72
|
+
end
|
73
|
+
describe 'get_command(:install_package, "figlet")' do
|
74
|
+
st = /pkg +install +-y +figlet/
|
75
|
+
sf = /pkg_add +-r +install +figlet/
|
76
|
+
it { expect(get_command(:install_package, 'figlet')).
|
77
|
+
to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
|
78
|
+
end
|
79
|
+
describe 'get_command(:get_package_version, "figlet")' do
|
80
|
+
st = /pkg +query +%v +figlet/
|
81
|
+
sf = /pkg_info +-Ix +\\\^figlet-\\\[0-9\\\]\\\[0-9a-zA-Z_\.,\\\]\\\*\\\$ *\| *cut +-f +1 +-w *\| *sed +-n +'s\/\^figlet-\/\/p'/
|
82
|
+
it { expect(get_command(:get_package_version, 'figlet')).
|
83
|
+
to match /if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi/ }
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
39
87
|
context 'freebsd-9' do
|
40
88
|
before do
|
41
89
|
set :os, :family => 'freebsd', :release => '9'
|
42
90
|
end
|
43
91
|
let(:cond) do
|
44
|
-
/
|
92
|
+
%r{TMPDIR=/dev/null +ASSUME_ALWAYS_YES=1 +PACKAGESITE=file:///nonexist +pkg +info +-x +'pkg\(-devel\)\?\$' *> */dev/null +2>&1}
|
45
93
|
end
|
46
94
|
describe 'get_command(:check_package_is_installed, "figlet")' do
|
47
95
|
st = /pkg +info +-e +figlet/
|
48
|
-
sf = /pkg_info +-Ix
|
96
|
+
sf = /pkg_info +-Ix +\\\^figlet-\\\[0-9\\\]\\\[0-9a-zA-Z_\.,\\\]\\\*\\\$/
|
49
97
|
it { expect(get_command(:check_package_is_installed, 'figlet')).
|
50
98
|
to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
|
51
99
|
end
|
@@ -63,7 +111,7 @@ describe 'command/freebsd/package works correctly' do
|
|
63
111
|
end
|
64
112
|
describe 'get_command(:get_package_version, "figlet")' do
|
65
113
|
st = /pkg +query +%v +figlet/
|
66
|
-
sf = /pkg_info +-Ix
|
114
|
+
sf = /pkg_info +-Ix +\\\^figlet-\\\[0-9\\\]\\\[0-9a-zA-Z_\.,\\\]\\\*\\\$ *\| *cut +-f +1 +-w *\| *sed +-n +'s\/\^figlet-\/\/p'/
|
67
115
|
it { expect(get_command(:get_package_version, 'figlet')).
|
68
116
|
to match /if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi/ }
|
69
117
|
end
|
@@ -83,4 +131,19 @@ describe 'command/freebsd/package works correctly' do
|
|
83
131
|
it { expect(get_command(:install_package, 'figlet')).to match /^pkg +install +-y +figlet$/ }
|
84
132
|
end
|
85
133
|
end
|
134
|
+
|
135
|
+
context 'freebsd-11' do
|
136
|
+
before do
|
137
|
+
set :os, :family => 'freebsd', :release => '11'
|
138
|
+
end
|
139
|
+
describe 'get_command(:check_package_is_installed, "figlet")' do
|
140
|
+
it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg +info +-e +figlet$/ }
|
141
|
+
end
|
142
|
+
describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
|
143
|
+
it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).to match /^pkg +query +%v +figlet *\| *grep -- 1.2.3$/ }
|
144
|
+
end
|
145
|
+
describe 'get_command(:install_package, "figlet")' do
|
146
|
+
it { expect(get_command(:install_package, 'figlet')).to match /^pkg +install +-y +figlet$/ }
|
147
|
+
end
|
148
|
+
end
|
86
149
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: specinfra
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.63.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gosuke Miyashita
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: net-scp
|
@@ -300,10 +300,13 @@ files:
|
|
300
300
|
- lib/specinfra/command/freebsd/base/routing_table.rb
|
301
301
|
- lib/specinfra/command/freebsd/base/service.rb
|
302
302
|
- lib/specinfra/command/freebsd/base/user.rb
|
303
|
-
- lib/specinfra/command/freebsd/v10.rb
|
304
|
-
- lib/specinfra/command/freebsd/v10/package.rb
|
305
303
|
- lib/specinfra/command/freebsd/v6.rb
|
304
|
+
- lib/specinfra/command/freebsd/v6/package.rb
|
306
305
|
- lib/specinfra/command/freebsd/v6/user.rb
|
306
|
+
- lib/specinfra/command/freebsd/v7.rb
|
307
|
+
- lib/specinfra/command/freebsd/v7/package.rb
|
308
|
+
- lib/specinfra/command/freebsd/v8.rb
|
309
|
+
- lib/specinfra/command/freebsd/v8/package.rb
|
307
310
|
- lib/specinfra/command/freebsd/v9.rb
|
308
311
|
- lib/specinfra/command/freebsd/v9/package.rb
|
309
312
|
- lib/specinfra/command/gentoo.rb
|
@@ -1,31 +0,0 @@
|
|
1
|
-
class Specinfra::Command::Freebsd::V10::Package < Specinfra::Command::Freebsd::Base::Package
|
2
|
-
class << self
|
3
|
-
def check_is_installed(package, version=nil)
|
4
|
-
if version
|
5
|
-
"pkg query %v #{escape(package)} | grep -- #{escape(version)}"
|
6
|
-
else
|
7
|
-
"pkg info -e #{escape(package)}"
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
alias :check_is_installed_by_pkg :check_is_installed
|
12
|
-
|
13
|
-
def check_is_installed_by_rpm(package, version=nil)
|
14
|
-
cmd = "rpm -q #{escape(package)}"
|
15
|
-
if version
|
16
|
-
cmd = "#{cmd} | grep -w -- #{escape(package)}-#{escape(version)}"
|
17
|
-
end
|
18
|
-
cmd
|
19
|
-
end
|
20
|
-
|
21
|
-
alias :check_is_installed_by_yum :check_is_installed_by_rpm
|
22
|
-
|
23
|
-
def install(package, version=nil, option='')
|
24
|
-
"pkg install -y #{option} #{package}"
|
25
|
-
end
|
26
|
-
|
27
|
-
def get_version(package, opts=nil)
|
28
|
-
"pkg query %v #{escape(package)}"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|