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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ed49d01b31c18e7f80b214bbcbe121db6a415f9d
4
- data.tar.gz: ac889adaf47b4dc2cbe6a08fb03386d76dd34ab7
3
+ metadata.gz: 9f008a62e9df588d9f48580058a5fff5fadbe5c8
4
+ data.tar.gz: 4aee183c7c190d945245b85c5c76cc98dcf4b7e4
5
5
  SHA512:
6
- metadata.gz: faf5959daccb4b5c64428fbc7e2010f5478fe42faf8e07ff3cc8c8fe808c6fe03587cec74696b9cc6a3c08ceabcfa1491feee5c997beac5a10609cb0df758f3a
7
- data.tar.gz: 05e1af735ea64b0c6c789502a8563b49a84f8525b4e960271ac368806b99042cc1632f32f76c168880c7985276c4082d5d43d14c03cc58a1196718e2805248bd
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
- "pkg_info -I #{escape(package)}-#{escape(version)}"
5
+ "pkg query %v #{escape(package)} | grep -- #{escape(version)}"
6
6
  else
7
- "pkg_info -Ix #{escape(package)}"
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
- "pkg_add -r #{option} install #{package}"
24
+ "pkg install -y #{option} #{package}"
13
25
  end
14
26
 
15
27
  def get_version(package, opts=nil)
16
- "pkg_info -Ix #{escape(package)} | cut -f 1 -w | sed -n 's/^#{escape(package)}-//p'"
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,2 @@
1
+ class Specinfra::Command::Freebsd::V7::Package < Specinfra::Command::Freebsd::V6::Package
2
+ end
@@ -0,0 +1,2 @@
1
+ class Specinfra::Command::Freebsd::V7 < Specinfra::Command::Freebsd::Base
2
+ 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
@@ -0,0 +1,2 @@
1
+ class Specinfra::Command::Freebsd::V8 < Specinfra::Command::Freebsd::Base
2
+ end
@@ -1,48 +1,2 @@
1
- class Specinfra::Command::Freebsd::V9::Package < Specinfra::Command::Freebsd::Base::Package
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
@@ -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'
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.62.0"
2
+ VERSION = "2.63.0"
3
3
  end
@@ -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-8' do
39
+ context 'freebsd-7' do
25
40
  before do
26
- set :os, :family => 'freebsd', :release => '8'
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
- /test +`sysctl +-n +kern.osreldate` +-ge +902000 *&& *pkg +-N *> *\/dev\/null +2>&1/
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 +figlet/
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 +figlet *\| *cut +-f +1 +-w *\| *sed +-n +'s\/\^figlet-\/\/p'/
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.62.0
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-14 00:00:00.000000000 Z
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
@@ -1,2 +0,0 @@
1
- class Specinfra::Command::Freebsd::V10 < Specinfra::Command::Freebsd::Base
2
- end