itamae 1.9.3 → 1.9.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -2
- data/lib/itamae/resource/file.rb +10 -6
- data/lib/itamae/version.txt +1 -1
- data/spec/integration/default_spec.rb +8 -0
- data/spec/integration/recipes/default.rb +16 -2
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6ca877086876cb9043c2ef01b6400e85ed2f69a
|
4
|
+
data.tar.gz: 4d9d0142b4bc23876cff279291080f48bf1c07ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e12647212d06db1104f299fc2e5579cf1063dc720c3c3f662393c06678987800f484b7254a45c655bffa3ee4422048d573f2cba23e6ddc0f6e74cbd23023ed67
|
7
|
+
data.tar.gz: c137de18d95c1ff7ddee2aa5110d1cb70c6b2e4e84fea742978df9bfcade9545686e961081b55279850e2aae2ec9519ece157b51401d44fa70f51ecc7433398d
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
## v1.9.4
|
2
|
+
|
3
|
+
Bugfixes
|
4
|
+
|
5
|
+
- [Fix a bug that displays inappropriate diff in file deletion (by @takus)](https://github.com/itamae-kitchen/itamae/pull/200)
|
6
|
+
- [Show diff on edit action of file resource in dry-run mode. (by @ryotarai)](https://github.com/itamae-kitchen/itamae/pull/197)
|
7
|
+
- [Stop to call `chown --reference` and `chmod --reference` (by @yuichiro-naito)](https://github.com/itamae-kitchen/itamae/pull/193)
|
8
|
+
|
1
9
|
## v1.9.3
|
2
10
|
|
3
11
|
Improvements
|
@@ -522,10 +530,10 @@ Features
|
|
522
530
|
Features
|
523
531
|
|
524
532
|
- New resource `remote_directory` which transfers a directory from local to remote like `remote_file` resource. (by @k0kubun)
|
525
|
-
- https://github.com/
|
533
|
+
- https://github.com/itamae-kitchen/itamae/pull/66
|
526
534
|
|
527
535
|
## v1.1.0
|
528
536
|
|
529
537
|
Incompatible changes
|
530
538
|
|
531
|
-
- [`uid` and `gid` attributes of `user` resource accept only Integer. (by @
|
539
|
+
- [`uid` and `gid` attributes of `user` resource accept only Integer. (by @eagletmt)](https://github.com/itamae-kitchen/itamae/pull/65)
|
data/lib/itamae/resource/file.rb
CHANGED
@@ -12,6 +12,8 @@ module Itamae
|
|
12
12
|
define_attribute :block, type: Proc, default: proc {}
|
13
13
|
|
14
14
|
def pre_action
|
15
|
+
current.exist = run_specinfra(:check_file_is_file, attributes.path)
|
16
|
+
|
15
17
|
case @current_action
|
16
18
|
when :create
|
17
19
|
attributes.exist = true
|
@@ -20,7 +22,7 @@ module Itamae
|
|
20
22
|
when :edit
|
21
23
|
attributes.exist = true
|
22
24
|
|
23
|
-
|
25
|
+
if !runner.dry_run? || current.exist
|
24
26
|
content = backend.receive_file(attributes.path)
|
25
27
|
attributes.block.call(content)
|
26
28
|
attributes.content = content
|
@@ -31,8 +33,6 @@ module Itamae
|
|
31
33
|
end
|
32
34
|
|
33
35
|
def set_current_attributes
|
34
|
-
current.exist = run_specinfra(:check_file_is_file, attributes.path)
|
35
|
-
|
36
36
|
if current.exist
|
37
37
|
current.mode = run_specinfra(:get_file_mode, attributes.path).stdout.chomp
|
38
38
|
current.owner = run_specinfra(:get_file_owner_user, attributes.path).stdout.chomp
|
@@ -50,7 +50,7 @@ module Itamae
|
|
50
50
|
|
51
51
|
super
|
52
52
|
|
53
|
-
if @temppath
|
53
|
+
if @temppath && @current_action != :delete
|
54
54
|
compare_file
|
55
55
|
end
|
56
56
|
end
|
@@ -96,13 +96,17 @@ module Itamae
|
|
96
96
|
if attributes.mode
|
97
97
|
run_specinfra(:change_file_mode, @temppath, attributes.mode)
|
98
98
|
else
|
99
|
-
|
99
|
+
mode = run_specinfra(:get_file_mode, attributes.path).stdout.chomp
|
100
|
+
run_specinfra(:change_file_mode, @temppath, mode)
|
100
101
|
end
|
101
102
|
|
102
103
|
if attributes.owner || attributes.group
|
103
104
|
run_specinfra(:change_file_owner, @temppath, attributes.owner, attributes.group)
|
104
105
|
else
|
105
|
-
|
106
|
+
owner = run_specinfra(:get_file_owner_user, attributes.path).stdout.chomp
|
107
|
+
group = run_specinfra(:get_file_owner_group, attributes.path).stdout.chomp
|
108
|
+
run_specinfra(:change_file_owner, @temppath, owner)
|
109
|
+
run_specinfra(:change_file_group, @temppath, group)
|
106
110
|
end
|
107
111
|
|
108
112
|
unless check_command(["diff", "-q", @temppath, attributes.path])
|
data/lib/itamae/version.txt
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.9.
|
1
|
+
1.9.4
|
@@ -208,6 +208,14 @@ describe file('/tmp/file_edit_sample') do
|
|
208
208
|
it { should be_grouped_into "itamae2" }
|
209
209
|
end
|
210
210
|
|
211
|
+
describe file('/tmp/file_edit_keeping_mode_owner') do
|
212
|
+
it { should be_file }
|
213
|
+
its(:content) { should eq("Hello, Itamae") }
|
214
|
+
it { should be_mode 444 }
|
215
|
+
it { should be_owned_by "itamae" }
|
216
|
+
it { should be_grouped_into "itamae" }
|
217
|
+
end
|
218
|
+
|
211
219
|
describe file('/home/itamae2') do
|
212
220
|
it { should be_directory }
|
213
221
|
it { should be_owned_by "itamae2" }
|
@@ -364,6 +364,10 @@ end
|
|
364
364
|
|
365
365
|
#####
|
366
366
|
|
367
|
+
execute 'echo -n 1 > /tmp/file_edit_notifies' do
|
368
|
+
action :nothing
|
369
|
+
end
|
370
|
+
|
367
371
|
file '/tmp/file_edit_sample' do
|
368
372
|
content 'Hello, world'
|
369
373
|
owner 'itamae'
|
@@ -382,8 +386,18 @@ file '/tmp/file_edit_sample' do
|
|
382
386
|
notifies :run, "execute[echo -n 1 > /tmp/file_edit_notifies]"
|
383
387
|
end
|
384
388
|
|
385
|
-
|
386
|
-
|
389
|
+
file '/tmp/file_edit_keeping_mode_owner' do
|
390
|
+
content 'Hello, world'
|
391
|
+
owner 'itamae'
|
392
|
+
group 'itamae'
|
393
|
+
mode '444'
|
394
|
+
end
|
395
|
+
|
396
|
+
file '/tmp/file_edit_keeping_mode_owner' do
|
397
|
+
action :edit
|
398
|
+
block do |content|
|
399
|
+
content.gsub!('world', 'Itamae')
|
400
|
+
end
|
387
401
|
end
|
388
402
|
|
389
403
|
###
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itamae
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryota Arai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-03-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|