itamae 1.1.17 → 1.1.18
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/CHANGELOG.md +9 -0
- data/itamae.gemspec +1 -1
- data/lib/itamae/resource/file.rb +23 -12
- data/lib/itamae/resource/package.rb +9 -0
- data/lib/itamae/version.txt +1 -1
- data/spec/integration/default_spec.rb +4 -0
- data/spec/integration/recipes/default.rb +4 -0
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 21d7a4d489e16899e9c5554fc59a8741ec2aa0cc
|
|
4
|
+
data.tar.gz: c188142a5e592f79df63523e0f193b266432d888
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8221d7deaa055b4091ccb439c8ca9411f8d91baa938d1dd12dba5ca661b991f755a30eb8ed1789c2cb8c78239f739a1a0e28ffb02e8cb8dcceb21490934701d1
|
|
7
|
+
data.tar.gz: deee523a22ae7d96c6d814580f67aed9afa8d5f120a9d131dc1d68ae594a6ba0d4da032070d63e625334a6dcb5fa03cc8a542c369076b8ad16a4ab976780d75c
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
## v1.1.18
|
|
2
|
+
|
|
3
|
+
Improvements
|
|
4
|
+
|
|
5
|
+
- [Add remove action to package resource (by @eagletmt)](https://github.com/itamae-kitchen/itamae/pull/92)
|
|
6
|
+
- Colorize diff output of file resource
|
|
7
|
+
- removed lines in red
|
|
8
|
+
- inserted lines in green
|
|
9
|
+
|
|
1
10
|
## v1.1.17
|
|
2
11
|
|
|
3
12
|
Bugfixes
|
data/itamae.gemspec
CHANGED
|
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
|
18
18
|
spec.require_paths = ["lib"]
|
|
19
19
|
|
|
20
20
|
spec.add_runtime_dependency "thor"
|
|
21
|
-
spec.add_runtime_dependency "specinfra", "
|
|
21
|
+
spec.add_runtime_dependency "specinfra", ">= 2.18.2"
|
|
22
22
|
spec.add_runtime_dependency "hashie"
|
|
23
23
|
spec.add_runtime_dependency "ansi"
|
|
24
24
|
|
data/lib/itamae/resource/file.rb
CHANGED
|
@@ -55,18 +55,7 @@ module Itamae
|
|
|
55
55
|
super
|
|
56
56
|
|
|
57
57
|
if current.exist
|
|
58
|
-
|
|
59
|
-
if diff.exit_status == 0
|
|
60
|
-
# no change
|
|
61
|
-
Logger.debug "file content will not change"
|
|
62
|
-
else
|
|
63
|
-
Logger.formatter.color :green do
|
|
64
|
-
Logger.info "diff:"
|
|
65
|
-
diff.stdout.each_line do |line|
|
|
66
|
-
Logger.info line.chomp
|
|
67
|
-
end
|
|
68
|
-
end
|
|
69
|
-
end
|
|
58
|
+
show_file_diff
|
|
70
59
|
end
|
|
71
60
|
end
|
|
72
61
|
|
|
@@ -96,6 +85,28 @@ module Itamae
|
|
|
96
85
|
run_specinfra(:remove_file, attributes.path)
|
|
97
86
|
end
|
|
98
87
|
end
|
|
88
|
+
|
|
89
|
+
def show_file_diff
|
|
90
|
+
diff = run_command(["diff", "-u", attributes.path, @temppath], error: false)
|
|
91
|
+
if diff.exit_status == 0
|
|
92
|
+
# no change
|
|
93
|
+
Logger.debug "file content will not change"
|
|
94
|
+
else
|
|
95
|
+
Logger.info "diff:"
|
|
96
|
+
diff.stdout.each_line do |line|
|
|
97
|
+
color = if line.start_with?('+')
|
|
98
|
+
:green
|
|
99
|
+
elsif line.start_with?('-')
|
|
100
|
+
:red
|
|
101
|
+
else
|
|
102
|
+
:clear
|
|
103
|
+
end
|
|
104
|
+
Logger.formatter.color(color) do
|
|
105
|
+
Logger.info line.chomp
|
|
106
|
+
end
|
|
107
|
+
end
|
|
108
|
+
end
|
|
109
|
+
end
|
|
99
110
|
end
|
|
100
111
|
end
|
|
101
112
|
end
|
|
@@ -12,6 +12,8 @@ module Itamae
|
|
|
12
12
|
case @current_action
|
|
13
13
|
when :install
|
|
14
14
|
attributes.installed = true
|
|
15
|
+
when :remove
|
|
16
|
+
attributes.installed = false
|
|
15
17
|
end
|
|
16
18
|
end
|
|
17
19
|
|
|
@@ -29,6 +31,13 @@ module Itamae
|
|
|
29
31
|
updated!
|
|
30
32
|
end
|
|
31
33
|
end
|
|
34
|
+
|
|
35
|
+
def action_remove(action_options)
|
|
36
|
+
if run_specinfra(:check_package_is_installed, attributes.name, nil)
|
|
37
|
+
run_specinfra(:remove_package, attributes.name, attributes.options)
|
|
38
|
+
updated!
|
|
39
|
+
end
|
|
40
|
+
end
|
|
32
41
|
end
|
|
33
42
|
end
|
|
34
43
|
end
|
data/lib/itamae/version.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.1.
|
|
1
|
+
1.1.18
|
|
@@ -18,6 +18,10 @@ describe package('sl') do
|
|
|
18
18
|
it { should be_installed }
|
|
19
19
|
end
|
|
20
20
|
|
|
21
|
+
describe package('resolvconf') do
|
|
22
|
+
it { should_not be_installed }
|
|
23
|
+
end
|
|
24
|
+
|
|
21
25
|
describe file('/tmp/remote_file') do
|
|
22
26
|
it { should be_file }
|
|
23
27
|
its(:content) { should match(/Hello Itamae/) }
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: itamae
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.18
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryota Arai
|
|
@@ -28,16 +28,16 @@ dependencies:
|
|
|
28
28
|
name: specinfra
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
|
-
- - "
|
|
31
|
+
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 2.
|
|
33
|
+
version: 2.18.2
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
|
-
- - "
|
|
38
|
+
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: 2.
|
|
40
|
+
version: 2.18.2
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: hashie
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|