vanagon 0.11.1 → 0.11.2
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/bin/build +1 -1
- data/bin/build_host_info +1 -1
- data/bin/devkit +1 -1
- data/bin/inspect +1 -1
- data/bin/render +1 -1
- data/lib/vanagon/component/dsl.rb +8 -2
- data/lib/vanagon/component/rules.rb +1 -1
- data/lib/vanagon/component/source.rb +1 -1
- data/lib/vanagon/component/source/http.rb +1 -1
- data/lib/vanagon/component/source/local.rb +11 -11
- data/spec/lib/vanagon/component/dsl_spec.rb +21 -0
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0a8deb8d9d92862103087ff392bce7075f1b999a
|
4
|
+
data.tar.gz: b3d3744bd040bb78471170ad446ab70a918038d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e19349ee79f2bf7c48f35adbd7a18d7544d5b7cd60dffb62edfe93a02d21cb9583f903eb688dd0ab1a9c60362d107b70a0ba43407c4ebf2e7ebe972ce9244aaa
|
7
|
+
data.tar.gz: 84253136c2c03f6253975532f61cb14a09f43aaa9ed27eeb641d9fc53d1e4aec53c4e688fe700b32e4edef4e263c907b3a332b4e88df62f9acb125f506a95421
|
data/bin/build
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
load File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "vanagon.rb"))
|
3
3
|
|
4
4
|
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [<target>] [options]",
|
5
|
-
%i
|
5
|
+
%i[workdir configdir engine preserve verbose skipcheck only_build remote-workdir])
|
6
6
|
options = optparse.parse! ARGV
|
7
7
|
|
8
8
|
project = ARGV[0]
|
data/bin/build_host_info
CHANGED
@@ -3,7 +3,7 @@ require 'json'
|
|
3
3
|
|
4
4
|
load File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "vanagon.rb"))
|
5
5
|
|
6
|
-
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [options]", %i
|
6
|
+
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [options]", %i[workdir configdir engine])
|
7
7
|
options = optparse.parse! ARGV
|
8
8
|
|
9
9
|
project = ARGV[0]
|
data/bin/devkit
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
load File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "vanagon.rb"))
|
3
3
|
|
4
4
|
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [<component-name>...] [options]",
|
5
|
-
%i
|
5
|
+
%i[workdir configdir target engine])
|
6
6
|
options = optparse.parse! ARGV
|
7
7
|
|
8
8
|
project = ARGV[0]
|
data/bin/inspect
CHANGED
@@ -6,7 +6,7 @@ require 'vanagon/extensions/hashable'
|
|
6
6
|
|
7
7
|
load File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "vanagon.rb"))
|
8
8
|
|
9
|
-
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [options]", %i
|
9
|
+
optparse = Vanagon::OptParse.new("#{File.basename(__FILE__)} <project-name> <platform-name> [options]", %i[workdir configdir engine])
|
10
10
|
options = optparse.parse! ARGV
|
11
11
|
|
12
12
|
project = ARGV[0]
|
data/bin/render
CHANGED
@@ -3,7 +3,7 @@ load File.expand_path(File.join(File.dirname(__FILE__), "..", "lib", "vanagon.rb
|
|
3
3
|
|
4
4
|
optparse = Vanagon::OptParse.new(
|
5
5
|
"#{File.basename(__FILE__)} <project-name> <platform-name> [options]",
|
6
|
-
%i
|
6
|
+
%i[workdir configdir engine]
|
7
7
|
)
|
8
8
|
options = optparse.parse! ARGV
|
9
9
|
|
@@ -165,7 +165,8 @@ class Vanagon
|
|
165
165
|
# @param default_file [String] path to the default file relative to the source
|
166
166
|
# @param service_name [String] name of the service
|
167
167
|
# @param service_type [String] type of the service (network, application, system, etc)
|
168
|
-
|
168
|
+
# @param link_target [String] executable service file should be linked to
|
169
|
+
def install_service(service_file, default_file = nil, service_name = @component.name, service_type: nil, link_target: nil) # rubocop:disable Metrics/AbcSize
|
169
170
|
case @component.platform.servicetype
|
170
171
|
when "sysv"
|
171
172
|
target_service_file = File.join(@component.platform.servicedir, service_name)
|
@@ -203,7 +204,12 @@ class Vanagon
|
|
203
204
|
end
|
204
205
|
|
205
206
|
# Install the service and default files
|
206
|
-
|
207
|
+
if link_target
|
208
|
+
install_file(service_file, link_target, mode: target_mode)
|
209
|
+
link link_target, target_service_file
|
210
|
+
else
|
211
|
+
install_file(service_file, target_service_file, mode: target_mode)
|
212
|
+
end
|
207
213
|
|
208
214
|
if default_file
|
209
215
|
install_file(default_file, target_default_file, mode: default_mode)
|
@@ -13,7 +13,7 @@ class Vanagon
|
|
13
13
|
attr_accessor :sum, :sum_type
|
14
14
|
|
15
15
|
# Allowed checksum algorithms to use when validating files
|
16
|
-
CHECKSUM_TYPES = %w
|
16
|
+
CHECKSUM_TYPES = %w[md5 sha1 sha256 sha512].freeze
|
17
17
|
|
18
18
|
class << self
|
19
19
|
def valid_url?(target_url) # rubocop:disable Metrics/AbcSize
|
@@ -8,17 +8,17 @@ class Vanagon
|
|
8
8
|
|
9
9
|
# Extensions for files we intend to unpack during the build
|
10
10
|
ARCHIVE_EXTENSIONS = {
|
11
|
-
"7z" => %w
|
12
|
-
"bzip2" => %w
|
13
|
-
"cpio" => %w
|
14
|
-
"gzip" => %w
|
15
|
-
"rar" => %w
|
16
|
-
"tar" => %w
|
17
|
-
"tbz2" => %w
|
18
|
-
"tgz" => %w
|
19
|
-
"txz" => %w
|
20
|
-
"xz" => %w
|
21
|
-
"zip" => %w
|
11
|
+
"7z" => %w[.7z],
|
12
|
+
"bzip2" => %w[.bz2 .bz],
|
13
|
+
"cpio" => %w[.cpio],
|
14
|
+
"gzip" => %w[.gz .z],
|
15
|
+
"rar" => %w[.rar],
|
16
|
+
"tar" => %w[.tar],
|
17
|
+
"tbz2" => %w[.tar.bz2 .tbz2 .tbz],
|
18
|
+
"tgz" => %w[.tar.gz .tgz],
|
19
|
+
"txz" => %w[.tar.xz .txz],
|
20
|
+
"xz" => %w[.xz],
|
21
|
+
"zip" => %w[.zip],
|
22
22
|
}.freeze
|
23
23
|
|
24
24
|
class << self
|
@@ -533,6 +533,27 @@ end" }
|
|
533
533
|
# The component should now have a service registered
|
534
534
|
expect(comp._component.service.name).to eq('service-test')
|
535
535
|
end
|
536
|
+
|
537
|
+
it 'installs the file as a link when link_target is specified' do
|
538
|
+
comp = Vanagon::Component::DSL.new('service-test', {}, dummy_platform_sysv)
|
539
|
+
comp.install_service('component-client.init', 'component-client.sysconfig', link_target: '/tmp/service-test')
|
540
|
+
# Look for servicedir creation and copy
|
541
|
+
expect(comp._component.install).to include("install -d '/etc/init.d'")
|
542
|
+
expect(comp._component.install).to include("cp -p 'component-client.init' '/tmp/service-test'")
|
543
|
+
expect(comp._component.install).to include("([[ '/etc/init.d/service-test' -ef '/tmp/service-test' ]] || ln -s '/tmp/service-test' '/etc/init.d/service-test')")
|
544
|
+
|
545
|
+
# Look for defaultdir creation and copy
|
546
|
+
expect(comp._component.install).to include("install -d '/etc/default'")
|
547
|
+
expect(comp._component.install).to include("cp -p 'component-client.sysconfig' '/etc/default/service-test'")
|
548
|
+
|
549
|
+
# Look for files and configfiles
|
550
|
+
expect(comp._component.configfiles).to include(Vanagon::Common::Pathname.configfile('/etc/default/service-test'))
|
551
|
+
expect(comp._component.files).to include(Vanagon::Common::Pathname.file('/tmp/service-test', mode: '0755'))
|
552
|
+
expect(comp._component.files).to include(Vanagon::Common::Pathname.file('/etc/init.d/service-test'))
|
553
|
+
|
554
|
+
# The component should now have a service registered
|
555
|
+
expect(comp._component.service.name).to eq('service-test')
|
556
|
+
end
|
536
557
|
end
|
537
558
|
|
538
559
|
describe '#install_file' do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.11.
|
4
|
+
version: 0.11.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-04-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: git
|
@@ -237,42 +237,42 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
237
|
version: '0'
|
238
238
|
requirements: []
|
239
239
|
rubyforge_project:
|
240
|
-
rubygems_version: 2.
|
240
|
+
rubygems_version: 2.2.5
|
241
241
|
signing_key:
|
242
242
|
specification_version: 3
|
243
243
|
summary: All of your packages will fit into this van with this one simple trick.
|
244
244
|
test_files:
|
245
|
+
- spec/lib/makefile_spec.rb
|
245
246
|
- spec/lib/vanagon/common/pathname_spec.rb
|
246
247
|
- spec/lib/vanagon/common/user_spec.rb
|
248
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
249
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
250
|
+
- spec/lib/vanagon/component/source/git_spec.rb
|
247
251
|
- spec/lib/vanagon/component/source/http_spec.rb
|
248
252
|
- spec/lib/vanagon/component/source/local_spec.rb
|
249
|
-
- spec/lib/vanagon/component/source/git_spec.rb
|
250
253
|
- spec/lib/vanagon/component/source_spec.rb
|
251
|
-
- spec/lib/vanagon/
|
252
|
-
- spec/lib/vanagon/
|
253
|
-
- spec/lib/vanagon/engine/base_spec.rb
|
254
|
+
- spec/lib/vanagon/component_spec.rb
|
255
|
+
- spec/lib/vanagon/driver_spec.rb
|
254
256
|
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
257
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
255
258
|
- spec/lib/vanagon/engine/docker_spec.rb
|
256
259
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
257
260
|
- spec/lib/vanagon/engine/hardware_spec.rb
|
258
261
|
- spec/lib/vanagon/engine/local_spec.rb
|
259
262
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
260
|
-
- spec/lib/vanagon/
|
263
|
+
- spec/lib/vanagon/environment_spec.rb
|
264
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
265
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
266
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
267
|
+
- spec/lib/vanagon/optparse_spec.rb
|
261
268
|
- spec/lib/vanagon/platform/deb_spec.rb
|
262
269
|
- spec/lib/vanagon/platform/dsl_spec.rb
|
263
270
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
264
271
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
272
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
265
273
|
- spec/lib/vanagon/platform/windows_spec.rb
|
266
|
-
- spec/lib/vanagon/project/dsl_spec.rb
|
267
|
-
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
268
|
-
- spec/lib/vanagon/extensions/set/json_spec.rb
|
269
|
-
- spec/lib/vanagon/extensions/string_spec.rb
|
270
|
-
- spec/lib/vanagon/optparse_spec.rb
|
271
274
|
- spec/lib/vanagon/platform_spec.rb
|
275
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
272
276
|
- spec/lib/vanagon/project_spec.rb
|
273
277
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
274
278
|
- spec/lib/vanagon/utilities_spec.rb
|
275
|
-
- spec/lib/vanagon/component_spec.rb
|
276
|
-
- spec/lib/vanagon/driver_spec.rb
|
277
|
-
- spec/lib/vanagon/environment_spec.rb
|
278
|
-
- spec/lib/makefile_spec.rb
|