specinfra 2.61.3 → 2.62.0

Sign up to get free protection for your applications and to get access to all the features.
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