specinfra 2.61.3 → 2.62.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: 595aec10abe3600660b94d07bcb78c93c78cb5bb
4
- data.tar.gz: 1e15b54261cc640db4ae9a7264d6e5994b1ad645
3
+ metadata.gz: ed49d01b31c18e7f80b214bbcbe121db6a415f9d
4
+ data.tar.gz: ac889adaf47b4dc2cbe6a08fb03386d76dd34ab7
5
5
  SHA512:
6
- metadata.gz: 27ccf2fc50f00579d4726bfdabefb06a55e078b1b97a16cf11fb45611f32500b33eee892332eeabf2ae615bd8fb830042e2aa16a2e16b89bab815bc089047b78
7
- data.tar.gz: a9190a888cce763b2863ee597e9dcaf0c2f8b21db57ccaf3a7e6f083cc1d82f0fe9c79cee3bf19a8179403a1e7417a18af694c17b2bdd55400a32f273aa73d49
6
+ metadata.gz: faf5959daccb4b5c64428fbc7e2010f5478fe42faf8e07ff3cc8c8fe808c6fe03587cec74696b9cc6a3c08ceabcfa1491feee5c997beac5a10609cb0df758f3a
7
+ data.tar.gz: 05e1af735ea64b0c6c789502a8563b49a84f8525b4e960271ac368806b99042cc1632f32f76c168880c7985276c4082d5d43d14c03cc58a1196718e2805248bd
@@ -243,6 +243,10 @@ require 'specinfra/command/freebsd/base/user'
243
243
  require 'specinfra/command/freebsd/v6'
244
244
  require 'specinfra/command/freebsd/v6/user'
245
245
 
246
+ # FreeBSD V9 (inherit FreeBSD)
247
+ require 'specinfra/command/freebsd/v9'
248
+ require 'specinfra/command/freebsd/v9/package'
249
+
246
250
  # FreeBSD V10 (inherit FreeBSD)
247
251
  require 'specinfra/command/freebsd/v10'
248
252
  require 'specinfra/command/freebsd/v10/package'
@@ -0,0 +1,2 @@
1
+ class Specinfra::Command::Freebsd::V9 < Specinfra::Command::Freebsd::Base
2
+ end
@@ -0,0 +1,48 @@
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
48
+ end
@@ -1,3 +1,3 @@
1
1
  module Specinfra
2
- VERSION = "2.61.3"
2
+ VERSION = "2.62.0"
3
3
  end
@@ -0,0 +1,86 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe 'command/freebsd/package works correctly' do
5
+ before do
6
+ property[:os] = nil
7
+ end
8
+
9
+ context 'freebsd-base' do
10
+ before do
11
+ set :os, :family => 'freebsd'
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 +-Ix +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_info +-I +figlet-1.2.3$/ }
18
+ end
19
+ describe 'get_command(:install_package, "figlet")' do
20
+ it { expect(get_command(:install_package, 'figlet')).to match /^pkg_add +-r +install +figlet$/ }
21
+ end
22
+ end
23
+
24
+ context 'freebsd-8' do
25
+ before do
26
+ set :os, :family => 'freebsd', :release => '8'
27
+ end
28
+ describe 'get_command(:check_package_is_installed, "figlet")' do
29
+ it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg_info +-Ix +figlet$/ }
30
+ end
31
+ describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
32
+ it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).to match /^pkg_info +-I +figlet-1.2.3$/ }
33
+ end
34
+ describe 'get_command(:install_package, "figlet")' do
35
+ it { expect(get_command(:install_package, 'figlet')).to match /^pkg_add +-r +install +figlet$/ }
36
+ end
37
+ end
38
+
39
+ context 'freebsd-9' do
40
+ before do
41
+ set :os, :family => 'freebsd', :release => '9'
42
+ end
43
+ let(:cond) do
44
+ /test +`sysctl +-n +kern.osreldate` +-ge +902000 *&& *pkg +-N *> *\/dev\/null +2>&1/
45
+ end
46
+ describe 'get_command(:check_package_is_installed, "figlet")' do
47
+ st = /pkg +info +-e +figlet/
48
+ sf = /pkg_info +-Ix +figlet/
49
+ it { expect(get_command(:check_package_is_installed, 'figlet')).
50
+ to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
51
+ end
52
+ describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
53
+ st = /pkg +query +%v +figlet *\| *grep -- 1.2.3/
54
+ sf = /pkg_info +-I +figlet-1.2.3/
55
+ it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).
56
+ to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
57
+ end
58
+ describe 'get_command(:install_package, "figlet")' do
59
+ st = /pkg +install +-y +figlet/
60
+ sf = /pkg_add +-r +install +figlet/
61
+ it { expect(get_command(:install_package, 'figlet')).
62
+ to match /^if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi$/ }
63
+ end
64
+ describe 'get_command(:get_package_version, "figlet")' do
65
+ st = /pkg +query +%v +figlet/
66
+ sf = /pkg_info +-Ix +figlet *\| *cut +-f +1 +-w *\| *sed +-n +'s\/\^figlet-\/\/p'/
67
+ it { expect(get_command(:get_package_version, 'figlet')).
68
+ to match /if +#{cond} *; *then +#{st} *; *else +#{sf} *; *fi/ }
69
+ end
70
+ end
71
+
72
+ context 'freebsd-10' do
73
+ before do
74
+ set :os, :family => 'freebsd', :release => '10'
75
+ end
76
+ describe 'get_command(:check_package_is_installed, "figlet")' do
77
+ it { expect(get_command(:check_package_is_installed, 'figlet')).to match /^pkg +info +-e +figlet$/ }
78
+ end
79
+ describe 'get_command(:check_package_is_installed, "figlet", "1.2.3")' do
80
+ it { expect(get_command(:check_package_is_installed, 'figlet', '1.2.3')).to match /^pkg +query +%v +figlet *\| *grep -- 1.2.3$/ }
81
+ end
82
+ describe 'get_command(:install_package, "figlet")' do
83
+ it { expect(get_command(:install_package, 'figlet')).to match /^pkg +install +-y +figlet$/ }
84
+ end
85
+ end
86
+ 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.61.3
4
+ version: 2.62.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-08-31 00:00:00.000000000 Z
11
+ date: 2016-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-scp
@@ -304,6 +304,8 @@ files:
304
304
  - lib/specinfra/command/freebsd/v10/package.rb
305
305
  - lib/specinfra/command/freebsd/v6.rb
306
306
  - lib/specinfra/command/freebsd/v6/user.rb
307
+ - lib/specinfra/command/freebsd/v9.rb
308
+ - lib/specinfra/command/freebsd/v9/package.rb
307
309
  - lib/specinfra/command/gentoo.rb
308
310
  - lib/specinfra/command/gentoo/base.rb
309
311
  - lib/specinfra/command/gentoo/base/package.rb
@@ -537,6 +539,7 @@ files:
537
539
  - spec/command/freebsd/file_spec.rb
538
540
  - spec/command/freebsd/host_spec.rb
539
541
  - spec/command/freebsd/interface_spec.rb
542
+ - spec/command/freebsd/package_spec.rb
540
543
  - spec/command/linux/bond_spec.rb
541
544
  - spec/command/linux/bridge_spec.rb
542
545
  - spec/command/linux/file_spec.rb
@@ -655,6 +658,7 @@ test_files:
655
658
  - spec/command/freebsd/file_spec.rb
656
659
  - spec/command/freebsd/host_spec.rb
657
660
  - spec/command/freebsd/interface_spec.rb
661
+ - spec/command/freebsd/package_spec.rb
658
662
  - spec/command/linux/bond_spec.rb
659
663
  - spec/command/linux/bridge_spec.rb
660
664
  - spec/command/linux/file_spec.rb