wright 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/NEWS.md +8 -0
- data/README.md +2 -0
- data/Rakefile +6 -0
- data/bin/wright +6 -0
- data/lib/wright/cli.rb +68 -0
- data/lib/wright/dsl.rb +1 -1
- data/lib/wright/provider/directory.rb +17 -12
- data/lib/wright/provider/file.rb +24 -17
- data/lib/wright/provider/group/darwin_directory_service.rb +1 -8
- data/lib/wright/provider/group/gnu_passwd.rb +0 -1
- data/lib/wright/provider/group.rb +6 -12
- data/lib/wright/provider/package/apt.rb +9 -21
- data/lib/wright/provider/package/homebrew.rb +5 -18
- data/lib/wright/provider/package.rb +22 -11
- data/lib/wright/provider/symlink.rb +17 -22
- data/lib/wright/provider/user/darwin_directory_service.rb +65 -0
- data/lib/wright/provider/user/gnu_passwd.rb +6 -7
- data/lib/wright/provider/user.rb +6 -12
- data/lib/wright/provider.rb +20 -2
- data/lib/wright/resource/directory.rb +19 -20
- data/lib/wright/resource/file.rb +19 -15
- data/lib/wright/resource/symlink.rb +1 -0
- data/lib/wright/resource/user.rb +2 -1
- data/lib/wright/resource.rb +1 -1
- data/lib/wright/util/file_owner.rb +61 -0
- data/lib/wright/util/file_permissions.rb +21 -30
- data/lib/wright/util/stolen_from_activesupport.rb +1 -1
- data/lib/wright/util/user.rb +48 -23
- data/lib/wright/util.rb +10 -6
- data/lib/wright/version.rb +1 -1
- data/lib/wright.rb +1 -0
- data/man/wright.1 +202 -0
- data/spec/cli/shebang.rb +3 -0
- data/spec/cli_spec.rb +64 -0
- data/spec/dsl_spec.rb +8 -3
- data/spec/provider/group/darwin_directory_service_spec.rb +3 -2
- data/spec/provider/package/apt/apt-cache_policy_abcde.stdout +7 -0
- data/spec/provider/package/apt/apt-cache_policy_htop.stdout +6 -0
- data/spec/provider/package/apt/apt-cache_policy_not-a-real-package.return +1 -0
- data/spec/provider/package/apt_spec.rb +17 -211
- data/spec/provider/package/homebrew_spec.rb +11 -164
- data/spec/provider/package_spec.rb +151 -7
- data/spec/provider/user/darwin_directory_service/dscl-delete-user.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-delete-user.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-delete-user.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-home.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-password.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.return +1 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr +0 -0
- data/spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout +0 -0
- data/spec/provider/user/darwin_directory_service_spec.rb +167 -0
- data/spec/provider/user/gnu_passwd_spec.rb +5 -5
- data/spec/resource/directory_spec.rb +17 -15
- data/spec/resource/file_spec.rb +17 -15
- data/spec/resource_spec.rb +1 -1
- data/spec/spec_helpers/test_coverage.rb +1 -1
- data/spec/util/file_owner_spec.rb +36 -0
- data/spec/util/file_permissions_spec.rb +6 -6
- data/spec/util/user_spec.rb +0 -17
- data/spec/util_spec.rb +64 -5
- metadata +91 -41
- data/spec/provider/package/apt/dpkg-query_-s_abcde.stdout +0 -23
- data/spec/provider/package/apt/dpkg-query_-s_htop.stdout +0 -19
- data/spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return +0 -1
- data/spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr +0 -3
- data/spec/provider/package/apt/dpkg-query_-s_vlc.return +0 -1
- data/spec/provider/package/apt/dpkg-query_-s_vlc.stderr +0 -3
- /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.return → dseditgroup_-o_create_-i_2_newgroup.return} +0 -0
- /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.stderr → dseditgroup_-o_create_-i_2_newgroup.stderr} +0 -0
- /data/spec/provider/group/darwin_directory_service/{dseditgroup_-o_create_-i_499_newgroup.stdout → dseditgroup_-o_create_-i_2_newgroup.stdout} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_abcde.return → apt-cache_policy_abcde.return} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_abcde.stderr → apt-cache_policy_abcde.stderr} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_htop.return → apt-cache_policy_htop.return} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_htop.stderr → apt-cache_policy_htop.stderr} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_not-a-real-package.stdout → apt-cache_policy_not-a-real-package.stderr} +0 -0
- /data/spec/provider/package/apt/{dpkg-query_-s_vlc.stdout → apt-cache_policy_not-a-real-package.stdout} +0 -0
@@ -86,21 +86,7 @@ describe Wright::Resource::Directory do
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
-
it 'should
|
90
|
-
FakeFS do
|
91
|
-
FileUtils.mkdir_p(@dirname)
|
92
|
-
FileUtils.chown(23, 45, @dirname)
|
93
|
-
owner = Etc.getpwuid(Process.uid).name
|
94
|
-
group = Etc.getgrgid(Process.gid).name
|
95
|
-
dir = Wright::Resource::Directory.new(@dirname)
|
96
|
-
dir.owner = "#{owner}:#{group}"
|
97
|
-
dir.create
|
98
|
-
Wright::Util::File.file_owner(@dirname).must_equal Process.uid
|
99
|
-
Wright::Util::File.file_group(@dirname).must_equal Process.gid
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
it 'should raise an exception when setting an invalid owner or group' do
|
89
|
+
it 'should raise an exception when creating dirs with invalid owners' do
|
104
90
|
dir = Wright::Resource::Directory.new(@dirname)
|
105
91
|
user = 'this_user_doesnt_exist'
|
106
92
|
group = 'this_group_doesnt_exist'
|
@@ -184,4 +170,20 @@ describe Wright::Resource::Directory do
|
|
184
170
|
end
|
185
171
|
end
|
186
172
|
end
|
173
|
+
|
174
|
+
describe '#owner=' do
|
175
|
+
it 'should support owner:group notation' do
|
176
|
+
dir = Wright::Resource::Directory.new(@dirname)
|
177
|
+
dir.owner = 'foo:bar'
|
178
|
+
dir.owner.must_equal 'foo'
|
179
|
+
dir.group.must_equal 'bar'
|
180
|
+
dir.group = 'baz'
|
181
|
+
dir.group.must_equal 'baz'
|
182
|
+
end
|
183
|
+
|
184
|
+
it 'should reject owner:group strings with invalid notation' do
|
185
|
+
dir = Wright::Resource::Directory.new(@dirname)
|
186
|
+
-> { dir.owner = 'foo:bar:baz' }.must_raise ArgumentError
|
187
|
+
end
|
188
|
+
end
|
187
189
|
end
|
data/spec/resource/file_spec.rb
CHANGED
@@ -104,21 +104,7 @@ describe Wright::Resource::File do
|
|
104
104
|
end
|
105
105
|
end
|
106
106
|
|
107
|
-
it 'should
|
108
|
-
FakeFS do
|
109
|
-
FileUtils.touch(@filename)
|
110
|
-
FileUtils.chown(23, 45, @filename)
|
111
|
-
owner = Etc.getpwuid(Process.uid).name
|
112
|
-
group = Etc.getgrgid(Process.gid).name
|
113
|
-
file = Wright::Resource::File.new(@filename)
|
114
|
-
file.owner = "#{owner}:#{group}"
|
115
|
-
file.create
|
116
|
-
Wright::Util::File.file_owner(@filename).must_equal Process.uid
|
117
|
-
Wright::Util::File.file_group(@filename).must_equal Process.gid
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
it 'should raise an exception when setting invalid an owner/group' do
|
107
|
+
it 'should raise an exception when creating files with invalid owners' do
|
122
108
|
file = Wright::Resource::File.new(@filename)
|
123
109
|
user = 'this_user_doesnt_exist'
|
124
110
|
group = 'this_group_doesnt_exist'
|
@@ -210,4 +196,20 @@ describe Wright::Resource::File do
|
|
210
196
|
end
|
211
197
|
end
|
212
198
|
end
|
199
|
+
|
200
|
+
describe '#owner=' do
|
201
|
+
it 'should support owner:group notation' do
|
202
|
+
file = Wright::Resource::File.new(@filename)
|
203
|
+
file.owner = 'foo:bar'
|
204
|
+
file.owner.must_equal 'foo'
|
205
|
+
file.group.must_equal 'bar'
|
206
|
+
file.group = 'baz'
|
207
|
+
file.group.must_equal 'baz'
|
208
|
+
end
|
209
|
+
|
210
|
+
it 'should reject owner:group strings with invalid notation' do
|
211
|
+
file = Wright::Resource::File.new(@filename)
|
212
|
+
-> { file.owner = 'foo:bar:baz' }.must_raise ArgumentError
|
213
|
+
end
|
214
|
+
end
|
213
215
|
end
|
data/spec/resource_spec.rb
CHANGED
@@ -106,7 +106,7 @@ describe Wright::Resource do
|
|
106
106
|
name = :farnsworth
|
107
107
|
resource = Updater.new(name)
|
108
108
|
resource_info = "#{resource.resource_name} '#{name}'"
|
109
|
-
output = "INFO:
|
109
|
+
output = "INFO: (would) run update action for #{resource_info}\n"
|
110
110
|
lambda do
|
111
111
|
reset_logger
|
112
112
|
resource.on_update = @say_hello
|
@@ -22,5 +22,5 @@ def measure_coverage
|
|
22
22
|
|
23
23
|
ignored_directories = ['/spec/', '/vendor/', '/.bundle/']
|
24
24
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[*formatters]
|
25
|
-
SimpleCov.start {
|
25
|
+
SimpleCov.start { add_filter(ignored_directories) }
|
26
26
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require_relative '../spec_helper'
|
2
|
+
|
3
|
+
require 'wright/util/file_owner'
|
4
|
+
|
5
|
+
describe Wright::Util::FileOwner do
|
6
|
+
before(:each) do
|
7
|
+
@owner = Wright::Util::FileOwner.new
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#user_and_group=' do
|
11
|
+
it 'should set the user' do
|
12
|
+
@owner.group = 'group'
|
13
|
+
@owner.user_and_group = 'user'
|
14
|
+
@owner.user.must_equal 'user'
|
15
|
+
@owner.group.must_equal 'group'
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should set the user when given a uid' do
|
19
|
+
@owner.user_and_group = 23
|
20
|
+
@owner.user.must_equal 23
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should support user:group notation' do
|
24
|
+
@owner.user_and_group = 'user:group'
|
25
|
+
@owner.user.must_equal 'user'
|
26
|
+
@owner.group.must_equal 'group'
|
27
|
+
end
|
28
|
+
|
29
|
+
it 'should reject user:group strings with invalid notation' do
|
30
|
+
invalid_owner = 'user:group:something:else'
|
31
|
+
invalid_call = -> { @owner.user_and_group = invalid_owner }
|
32
|
+
e = invalid_call.must_raise ArgumentError
|
33
|
+
e.message.must_equal "Invalid owner: '#{invalid_owner}'"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -82,12 +82,12 @@ describe FilePermissions do
|
|
82
82
|
FakeFS do
|
83
83
|
FileUtils.touch(@file_permissions.filename)
|
84
84
|
FileUtils.chown(user1.name, nil, @file_permissions.filename)
|
85
|
-
@file_permissions.
|
86
|
-
@file_permissions.
|
85
|
+
@file_permissions.current_uid.must_equal user1.uid
|
86
|
+
@file_permissions.uid = user2.uid
|
87
87
|
@file_permissions.uptodate?.must_equal false
|
88
88
|
@file_permissions.update
|
89
89
|
@file_permissions.uptodate?.must_equal true
|
90
|
-
@file_permissions.
|
90
|
+
@file_permissions.current_uid.must_equal user2.uid
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
@@ -97,12 +97,12 @@ describe FilePermissions do
|
|
97
97
|
FakeFS do
|
98
98
|
FileUtils.touch(@file_permissions.filename)
|
99
99
|
FileUtils.chown(nil, group1.name, @file_permissions.filename)
|
100
|
-
@file_permissions.
|
101
|
-
@file_permissions.
|
100
|
+
@file_permissions.current_gid.must_equal group1.gid
|
101
|
+
@file_permissions.gid = group2.gid
|
102
102
|
@file_permissions.uptodate?.must_equal false
|
103
103
|
@file_permissions.update
|
104
104
|
@file_permissions.uptodate?.must_equal true
|
105
|
-
@file_permissions.
|
105
|
+
@file_permissions.current_gid.must_equal group2.gid
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
data/spec/util/user_spec.rb
CHANGED
@@ -28,21 +28,4 @@ describe Util::User do
|
|
28
28
|
Util::User.group_to_gid(group.name).must_equal group.gid
|
29
29
|
end
|
30
30
|
end
|
31
|
-
|
32
|
-
describe 'owner_to_owner_group' do
|
33
|
-
it 'should return non-string owners unmodified' do
|
34
|
-
Util::User.owner_to_owner_group(23).must_equal [23, nil]
|
35
|
-
end
|
36
|
-
|
37
|
-
it 'should convert owner strings to [owner, group] arrays' do
|
38
|
-
Util::User.owner_to_owner_group('foo').must_equal ['foo', nil]
|
39
|
-
Util::User.owner_to_owner_group('foo:bar').must_equal %w(foo bar)
|
40
|
-
end
|
41
|
-
|
42
|
-
it 'should raise exceptions for invalid owner strings' do
|
43
|
-
lambda do
|
44
|
-
Util::User.owner_to_owner_group('foo:bar:baz')
|
45
|
-
end.must_raise ArgumentError
|
46
|
-
end
|
47
|
-
end
|
48
31
|
end
|
data/spec/util_spec.rb
CHANGED
@@ -3,13 +3,31 @@ require_relative 'spec_helper'
|
|
3
3
|
require 'minitest/stub_const'
|
4
4
|
require 'wright/util'
|
5
5
|
|
6
|
-
|
7
|
-
|
8
|
-
|
6
|
+
describe Wright::Util do
|
7
|
+
def stub_os(target_os)
|
8
|
+
RbConfig.stub_const(:CONFIG, 'target_os' => target_os) do
|
9
|
+
yield
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def without_bundler
|
14
|
+
if defined?(Bundler)
|
15
|
+
Object.stub_remove_const(:Bundler) { yield }
|
16
|
+
else
|
17
|
+
yield
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def with_bundler
|
22
|
+
if defined?(Bundler)
|
23
|
+
yield
|
24
|
+
else
|
25
|
+
fake_bundler = Class.new
|
26
|
+
def fake_bundler.with_clean_env; end
|
27
|
+
Object.stub_const(:Bundler, fake_bundler) { yield }
|
28
|
+
end
|
9
29
|
end
|
10
|
-
end
|
11
30
|
|
12
|
-
describe Wright::Util do
|
13
31
|
describe 'filename_to_classname' do
|
14
32
|
it 'should convert filenames to class names' do
|
15
33
|
classname = Wright::Util.filename_to_classname('foo_bar/baz')
|
@@ -44,6 +62,18 @@ ID=ubuntu
|
|
44
62
|
ID_LIKE=debian
|
45
63
|
PRETTY_NAME="Ubuntu precise (12.04.4 LTS)"
|
46
64
|
VERSION_ID="12.04"
|
65
|
+
EOS
|
66
|
+
@centos_os_release = <<EOS
|
67
|
+
NAME="CentOS Linux"
|
68
|
+
VERSION="7 (Core)"
|
69
|
+
ID="centos"
|
70
|
+
ID_LIKE="rhel fedora"
|
71
|
+
VERSION_ID="7"
|
72
|
+
PRETTY_NAME="CentOS Linux 7 (Core)"
|
73
|
+
ANSI_COLOR="0;31"
|
74
|
+
CPE_NAME="cpe:/o:centos:centos:7"
|
75
|
+
HOME_URL="https://www.centos.org/"
|
76
|
+
BUG_REPORT_URL="https://bugs.centos.org/"
|
47
77
|
EOS
|
48
78
|
end
|
49
79
|
|
@@ -67,6 +97,9 @@ EOS
|
|
67
97
|
|
68
98
|
File.write('/etc/os-release', @ubuntu_os_release)
|
69
99
|
Wright::Util.os_family.must_equal 'debian'
|
100
|
+
|
101
|
+
File.write('/etc/os-release', @centos_os_release)
|
102
|
+
Wright::Util.os_family.must_equal 'rhel'
|
70
103
|
end
|
71
104
|
end
|
72
105
|
end
|
@@ -77,4 +110,30 @@ EOS
|
|
77
110
|
end
|
78
111
|
end
|
79
112
|
end
|
113
|
+
|
114
|
+
describe 'bundler_clean_env' do
|
115
|
+
it 'should call a block when not using bundler' do
|
116
|
+
mock = Minitest::Mock.new
|
117
|
+
|
118
|
+
mock.expect(:inside_block, [])
|
119
|
+
without_bundler do
|
120
|
+
Wright::Util.bundler_clean_env { mock.inside_block }
|
121
|
+
end
|
122
|
+
mock.verify
|
123
|
+
end
|
124
|
+
|
125
|
+
it 'should call a block using Bundler.with_clean_env when using bundler' do
|
126
|
+
mock = Minitest::Mock.new
|
127
|
+
with_clean_env_stub = -> { mock.with_clean_env }
|
128
|
+
|
129
|
+
mock.expect(:with_clean_env, [])
|
130
|
+
mock.expect(:inside_block, [])
|
131
|
+
with_bundler do
|
132
|
+
Bundler.stub(:with_clean_env, with_clean_env_stub) do
|
133
|
+
Wright::Util.bundler_clean_env { mock.inside_block }
|
134
|
+
end
|
135
|
+
end
|
136
|
+
mock.verify
|
137
|
+
end
|
138
|
+
end
|
80
139
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wright
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Boehm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-04-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 5.
|
19
|
+
version: 5.6.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 5.
|
26
|
+
version: 5.6.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: minitest-stub-const
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.4'
|
34
34
|
type: :development
|
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: '0.
|
40
|
+
version: '0.4'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: fakefs
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -100,14 +100,14 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - ~>
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 0.
|
103
|
+
version: 0.10.0
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - ~>
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 0.
|
110
|
+
version: 0.10.0
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: pry
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,19 +128,20 @@ dependencies:
|
|
128
128
|
requirements:
|
129
129
|
- - ~>
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: 0.
|
131
|
+
version: 0.30.1
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - ~>
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: 0.
|
138
|
+
version: 0.30.1
|
139
139
|
description: |
|
140
140
|
Wright is a lightweight configuration management library.
|
141
141
|
email:
|
142
142
|
- sebastian@sometimesfood.org
|
143
|
-
executables:
|
143
|
+
executables:
|
144
|
+
- wright
|
144
145
|
extensions: []
|
145
146
|
extra_rdoc_files: []
|
146
147
|
files:
|
@@ -149,6 +150,9 @@ files:
|
|
149
150
|
- CONTRIBUTING.md
|
150
151
|
- LICENSE
|
151
152
|
- NEWS.md
|
153
|
+
- man/wright.1
|
154
|
+
- bin/wright
|
155
|
+
- lib/wright/cli.rb
|
152
156
|
- lib/wright/config.rb
|
153
157
|
- lib/wright/dry_run.rb
|
154
158
|
- lib/wright/dsl.rb
|
@@ -162,6 +166,7 @@ files:
|
|
162
166
|
- lib/wright/provider/package/homebrew.rb
|
163
167
|
- lib/wright/provider/package.rb
|
164
168
|
- lib/wright/provider/symlink.rb
|
169
|
+
- lib/wright/provider/user/darwin_directory_service.rb
|
165
170
|
- lib/wright/provider/user/gnu_passwd.rb
|
166
171
|
- lib/wright/provider/user.rb
|
167
172
|
- lib/wright/provider.rb
|
@@ -174,6 +179,7 @@ files:
|
|
174
179
|
- lib/wright/resource.rb
|
175
180
|
- lib/wright/util/color.rb
|
176
181
|
- lib/wright/util/file.rb
|
182
|
+
- lib/wright/util/file_owner.rb
|
177
183
|
- lib/wright/util/file_permissions.rb
|
178
184
|
- lib/wright/util/recursive_autoloader.rb
|
179
185
|
- lib/wright/util/stolen_from_activesupport.rb
|
@@ -181,6 +187,8 @@ files:
|
|
181
187
|
- lib/wright/util.rb
|
182
188
|
- lib/wright/version.rb
|
183
189
|
- lib/wright.rb
|
190
|
+
- spec/cli/shebang.rb
|
191
|
+
- spec/cli_spec.rb
|
184
192
|
- spec/config_spec.rb
|
185
193
|
- spec/dsl_spec.rb
|
186
194
|
- spec/logger_spec.rb
|
@@ -198,9 +206,9 @@ files:
|
|
198
206
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.return
|
199
207
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stderr
|
200
208
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stdout
|
201
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
202
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
203
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
209
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.return
|
210
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stderr
|
211
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stdout
|
204
212
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.return
|
205
213
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stderr
|
206
214
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stdout
|
@@ -249,6 +257,15 @@ files:
|
|
249
257
|
- spec/provider/group/gnu_passwd/groupmod_-g_ERROR_foobar.stdout
|
250
258
|
- spec/provider/group/gnu_passwd_spec.rb
|
251
259
|
- spec/provider/group_spec.rb
|
260
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.return
|
261
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.stderr
|
262
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.stdout
|
263
|
+
- spec/provider/package/apt/apt-cache_policy_htop.return
|
264
|
+
- spec/provider/package/apt/apt-cache_policy_htop.stderr
|
265
|
+
- spec/provider/package/apt/apt-cache_policy_htop.stdout
|
266
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.return
|
267
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.stderr
|
268
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.stdout
|
252
269
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
|
253
270
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
|
254
271
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
|
@@ -261,18 +278,6 @@ files:
|
|
261
278
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.return
|
262
279
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
|
263
280
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
|
264
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.return
|
265
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.stderr
|
266
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.stdout
|
267
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.return
|
268
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.stderr
|
269
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.stdout
|
270
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return
|
271
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr
|
272
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stdout
|
273
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.return
|
274
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.stderr
|
275
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.stdout
|
276
281
|
- spec/provider/package/apt_spec.rb
|
277
282
|
- spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
|
278
283
|
- spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
|
@@ -295,6 +300,28 @@ files:
|
|
295
300
|
- spec/provider/package/homebrew_spec.rb
|
296
301
|
- spec/provider/package_spec.rb
|
297
302
|
- spec/provider/symlink_spec.rb
|
303
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.return
|
304
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.stderr
|
305
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.stdout
|
306
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return
|
307
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr
|
308
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout
|
309
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.return
|
310
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr
|
311
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout
|
312
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.return
|
313
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr
|
314
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout
|
315
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return
|
316
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr
|
317
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout
|
318
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.return
|
319
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr
|
320
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout
|
321
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.return
|
322
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr
|
323
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout
|
324
|
+
- spec/provider/user/darwin_directory_service_spec.rb
|
298
325
|
- spec/provider/user/gnu_passwd/useradd_johndoe.return
|
299
326
|
- spec/provider/user/gnu_passwd/useradd_johndoe.stderr
|
300
327
|
- spec/provider/user/gnu_passwd/useradd_johndoe.stdout
|
@@ -327,6 +354,7 @@ files:
|
|
327
354
|
- spec/spec_helpers/fake_capture3.rb
|
328
355
|
- spec/spec_helpers/test_coverage.rb
|
329
356
|
- spec/util/activesupport_spec.rb
|
357
|
+
- spec/util/file_owner_spec.rb
|
330
358
|
- spec/util/file_permissions_spec.rb
|
331
359
|
- spec/util/file_spec.rb
|
332
360
|
- spec/util/user_spec.rb
|
@@ -356,6 +384,8 @@ signing_key:
|
|
356
384
|
specification_version: 4
|
357
385
|
summary: A lightweight config management library
|
358
386
|
test_files:
|
387
|
+
- spec/cli/shebang.rb
|
388
|
+
- spec/cli_spec.rb
|
359
389
|
- spec/config_spec.rb
|
360
390
|
- spec/dsl_spec.rb
|
361
391
|
- spec/logger_spec.rb
|
@@ -373,9 +403,9 @@ test_files:
|
|
373
403
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.return
|
374
404
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stderr
|
375
405
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_1234_newgroup.stdout
|
376
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
377
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
378
|
-
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-
|
406
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.return
|
407
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stderr
|
408
|
+
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_2_newgroup.stdout
|
379
409
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.return
|
380
410
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stderr
|
381
411
|
- spec/provider/group/darwin_directory_service/dseditgroup_-o_create_-i_ERROR_newgroup.stdout
|
@@ -424,6 +454,15 @@ test_files:
|
|
424
454
|
- spec/provider/group/gnu_passwd/groupmod_-g_ERROR_foobar.stdout
|
425
455
|
- spec/provider/group/gnu_passwd_spec.rb
|
426
456
|
- spec/provider/group_spec.rb
|
457
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.return
|
458
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.stderr
|
459
|
+
- spec/provider/package/apt/apt-cache_policy_abcde.stdout
|
460
|
+
- spec/provider/package/apt/apt-cache_policy_htop.return
|
461
|
+
- spec/provider/package/apt/apt-cache_policy_htop.stderr
|
462
|
+
- spec/provider/package/apt/apt-cache_policy_htop.stdout
|
463
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.return
|
464
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.stderr
|
465
|
+
- spec/provider/package/apt/apt-cache_policy_not-a-real-package.stdout
|
427
466
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.return
|
428
467
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stderr
|
429
468
|
- spec/provider/package/apt/apt-get_install_-qy_abcde=2.5.4-1.stdout
|
@@ -436,18 +475,6 @@ test_files:
|
|
436
475
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.return
|
437
476
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.stderr
|
438
477
|
- spec/provider/package/apt/apt-get_remove_-qy_abcde.stdout
|
439
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.return
|
440
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.stderr
|
441
|
-
- spec/provider/package/apt/dpkg-query_-s_abcde.stdout
|
442
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.return
|
443
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.stderr
|
444
|
-
- spec/provider/package/apt/dpkg-query_-s_htop.stdout
|
445
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.return
|
446
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stderr
|
447
|
-
- spec/provider/package/apt/dpkg-query_-s_not-a-real-package.stdout
|
448
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.return
|
449
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.stderr
|
450
|
-
- spec/provider/package/apt/dpkg-query_-s_vlc.stdout
|
451
478
|
- spec/provider/package/apt_spec.rb
|
452
479
|
- spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.return
|
453
480
|
- spec/provider/package/homebrew/brew_info_--json=v1_cd-discid.stderr
|
@@ -470,6 +497,28 @@ test_files:
|
|
470
497
|
- spec/provider/package/homebrew_spec.rb
|
471
498
|
- spec/provider/package_spec.rb
|
472
499
|
- spec/provider/symlink_spec.rb
|
500
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.return
|
501
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.stderr
|
502
|
+
- spec/provider/user/darwin_directory_service/dscl-delete-user.stdout
|
503
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.return
|
504
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stderr
|
505
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-full-name.stdout
|
506
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.return
|
507
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.stderr
|
508
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-home.stdout
|
509
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.return
|
510
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.stderr
|
511
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-password.stdout
|
512
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.return
|
513
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stderr
|
514
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-primary-group.stdout
|
515
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.return
|
516
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.stderr
|
517
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-shell.stdout
|
518
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.return
|
519
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.stderr
|
520
|
+
- spec/provider/user/darwin_directory_service/dscl-new-user-uid.stdout
|
521
|
+
- spec/provider/user/darwin_directory_service_spec.rb
|
473
522
|
- spec/provider/user/gnu_passwd/useradd_johndoe.return
|
474
523
|
- spec/provider/user/gnu_passwd/useradd_johndoe.stderr
|
475
524
|
- spec/provider/user/gnu_passwd/useradd_johndoe.stdout
|
@@ -502,6 +551,7 @@ test_files:
|
|
502
551
|
- spec/spec_helpers/fake_capture3.rb
|
503
552
|
- spec/spec_helpers/test_coverage.rb
|
504
553
|
- spec/util/activesupport_spec.rb
|
554
|
+
- spec/util/file_owner_spec.rb
|
505
555
|
- spec/util/file_permissions_spec.rb
|
506
556
|
- spec/util/file_spec.rb
|
507
557
|
- spec/util/user_spec.rb
|
@@ -1,23 +0,0 @@
|
|
1
|
-
Package: abcde
|
2
|
-
Status: install ok installed
|
3
|
-
Priority: optional
|
4
|
-
Section: sound
|
5
|
-
Installed-Size: 282
|
6
|
-
Maintainer: Jesus Climent <jesus.climent@hispalinux.es>
|
7
|
-
Architecture: all
|
8
|
-
Version: 2.5.3-1
|
9
|
-
Depends: cd-discid, wget, cdparanoia | icedax, vorbis-tools (>= 1.0beta4-1) | lame | flac | bladeenc | speex
|
10
|
-
Recommends: vorbis-tools, libmusicbrainz-discid-perl, libwebservice-musicbrainz-perl, libdigest-sha-perl, mailx
|
11
|
-
Suggests: eject, distmp3, id3 (>= 0.12), id3v2, eyed3, normalize-audio, vorbisgain, mkcue, mp3gain, atomicparsley
|
12
|
-
Conffiles:
|
13
|
-
/etc/abcde.conf 6123bcbdb6204f9a2193f560e2cf5014
|
14
|
-
Description: A Better CD Encoder
|
15
|
-
A frontend program to cdparanoia, wget, cd-discid, id3, and your favorite
|
16
|
-
Ogg/Vorbis, MP3, FLAC, Ogg/Speex and/or MPP/MP+(Musepack) encoder (defaults
|
17
|
-
to oggenc). Grabs an entire CD and converts each track to the specified
|
18
|
-
formats and then comments or ID3-tags each file, with one command.
|
19
|
-
.
|
20
|
-
With abcde you can encode several formats with one single command, using a
|
21
|
-
single CD read operation. It also allows you to read and encode while not
|
22
|
-
on the internet, and later query a CDDB server to tag your files.
|
23
|
-
Homepage: http://code.google.com/p/abcde/
|
@@ -1,19 +0,0 @@
|
|
1
|
-
Package: htop
|
2
|
-
Status: deinstall ok config-files
|
3
|
-
Priority: optional
|
4
|
-
Section: utils
|
5
|
-
Installed-Size: 211
|
6
|
-
Maintainer: Eugene V. Lyubimkin <jackyf@debian.org>
|
7
|
-
Architecture: amd64
|
8
|
-
Version: 1.0.1-1
|
9
|
-
Config-Version: 1.0.1-1
|
10
|
-
Depends: libc6 (>= 2.3.4), libncursesw5 (>= 5.6+20070908), libtinfo5
|
11
|
-
Suggests: strace, ltrace
|
12
|
-
Description: interactive processes viewer
|
13
|
-
Htop is an ncursed-based process viewer similar to top, but it
|
14
|
-
allows one to scroll the list vertically and horizontally to see
|
15
|
-
all processes and their full command lines.
|
16
|
-
.
|
17
|
-
Tasks related to processes (killing, renicing) can be done without
|
18
|
-
entering their PIDs.
|
19
|
-
Homepage: http://htop.sourceforge.net
|
@@ -1 +0,0 @@
|
|
1
|
-
1
|
@@ -1 +0,0 @@
|
|
1
|
-
1
|
File without changes
|
File without changes
|
File without changes
|
/data/spec/provider/package/apt/{dpkg-query_-s_abcde.return → apt-cache_policy_abcde.return}
RENAMED
File without changes
|
/data/spec/provider/package/apt/{dpkg-query_-s_abcde.stderr → apt-cache_policy_abcde.stderr}
RENAMED
File without changes
|