vanagon 0.11.0 → 0.11.1
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.rb +1 -1
- data/lib/vanagon/component/dsl.rb +23 -0
- data/lib/vanagon/component/source/http.rb +0 -1
- data/lib/vanagon/utilities.rb +0 -1
- data/spec/lib/vanagon/component/source/git_spec.rb +27 -21
- 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: 05ba6ccedb21955cc83f9a9b4c879952f97ae2c7
|
4
|
+
data.tar.gz: c6220fff6a4a1c7ba457447686610988cc778e77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73104a5003d115067156eba3a0dbebd8b089917392773a7b4e3f3bafc3904fc9befff092c80d509d04a9f1e9ac81911afc1369bea440330b015a2f6828feac00
|
7
|
+
data.tar.gz: d1c60858b7d44b348fd13bdbbd4454b7c4b6c3e5549384d6011d285f7f0ee099a36135bddc03938d1eded39b271091750b83280ddb4bf4937c4f15d41faeef44
|
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
|
-
|
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]",
|
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
|
-
|
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]",
|
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
|
-
|
6
|
+
%i(workdir configdir engine)
|
7
7
|
)
|
8
8
|
options = optparse.parse! ARGV
|
9
9
|
|
data/lib/vanagon/component.rb
CHANGED
@@ -204,7 +204,7 @@ class Vanagon
|
|
204
204
|
extract_with << source.extract(platform.tar) if source.respond_to? :extract
|
205
205
|
|
206
206
|
@cleanup_source = source.cleanup if source.respond_to?(:cleanup)
|
207
|
-
@dirname
|
207
|
+
@dirname ||= source.dirname
|
208
208
|
|
209
209
|
# Git based sources probably won't set the version, so we load it if it hasn't been already set
|
210
210
|
if source.respond_to?(:version)
|
@@ -315,6 +315,29 @@ class Vanagon
|
|
315
315
|
end
|
316
316
|
end
|
317
317
|
|
318
|
+
# Set a source dir
|
319
|
+
#
|
320
|
+
# The build dir will be created when the source archive is unpacked. This
|
321
|
+
# should be used when the unpacked directory name does not match the
|
322
|
+
# source archive name.
|
323
|
+
#
|
324
|
+
# @example
|
325
|
+
# pkg.url "http://the-internet.com/a-silly-name-that-unpacks-into-not-this.tar.gz"
|
326
|
+
# pkg.dirname "really-cool-directory"
|
327
|
+
# pkg.configure { ["cmake .."] }
|
328
|
+
# pkg.build { ["make -j 3"] }
|
329
|
+
# pkg.install { ["make install"] }
|
330
|
+
#
|
331
|
+
# @param path [String] The build directory to use for building the project
|
332
|
+
def dirname(path)
|
333
|
+
if Pathname.new(path).relative?
|
334
|
+
@component.dirname = path
|
335
|
+
else
|
336
|
+
raise Vanagon::Error, "dirname should be a relative path, but '#{path}' looks to be absolute."
|
337
|
+
end
|
338
|
+
end
|
339
|
+
|
340
|
+
|
318
341
|
# This will add a source to the project and put it in the workdir alongside the other sources
|
319
342
|
#
|
320
343
|
# @param uri [String] uri of the source
|
data/lib/vanagon/utilities.rb
CHANGED
@@ -1,32 +1,45 @@
|
|
1
1
|
require 'vanagon/component/source/git'
|
2
2
|
|
3
3
|
describe "Vanagon::Component::Source::Git" do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
# before(:all) blocks are run once before all of the examples in a group
|
5
|
+
before :all do
|
6
|
+
@klass = Vanagon::Component::Source::Git
|
7
|
+
# This repo will not be cloned over the network
|
8
|
+
@url = 'git://github.com/puppetlabs/facter.git'
|
9
|
+
# This path will not be created on disk
|
10
|
+
@local_url = "file://#{Dir.tmpdir}/puppet-agent"
|
11
|
+
@ref_tag = 'refs/tags/2.2.0'
|
12
|
+
@workdir = nil
|
13
|
+
end
|
9
14
|
|
10
|
-
|
15
|
+
# before(:each) blocks are run before each example
|
16
|
+
before :each do
|
17
|
+
allow(Git)
|
18
|
+
.to receive(:ls_remote)
|
19
|
+
.and_return(true)
|
20
|
+
end
|
11
21
|
|
12
22
|
describe "#initialize" do
|
13
23
|
it "raises error on initialization with an invalid repo" do
|
14
|
-
#
|
15
|
-
|
16
|
-
|
17
|
-
|
24
|
+
# Ensure initializing a repo fails without calling over the network
|
25
|
+
allow(Git)
|
26
|
+
.to receive(:ls_remote)
|
27
|
+
.and_return(false)
|
28
|
+
|
29
|
+
expect { @klass.new(@url, ref: @ref_tag, workdir: @workdir) }
|
30
|
+
.to raise_error(Vanagon::InvalidRepo)
|
18
31
|
end
|
19
32
|
end
|
20
33
|
|
21
34
|
describe "#dirname" do
|
22
35
|
it "returns the name of the repo" do
|
23
|
-
git_source = klass.new(
|
36
|
+
git_source = @klass.new(@local_url, ref: @ref_tag, workdir: @workdir)
|
24
37
|
expect(git_source.dirname)
|
25
|
-
.to eq('
|
38
|
+
.to eq('puppet-agent')
|
26
39
|
end
|
27
40
|
|
28
41
|
it "returns the name of the repo and strips .git" do
|
29
|
-
git_source = klass.new(
|
42
|
+
git_source = @klass.new(@url, ref: @ref_tag, workdir: @workdir)
|
30
43
|
expect(git_source.dirname)
|
31
44
|
.to eq('facter')
|
32
45
|
end
|
@@ -34,16 +47,9 @@ describe "Vanagon::Component::Source::Git" do
|
|
34
47
|
|
35
48
|
describe "#ref" do
|
36
49
|
it "returns a default value of HEAD when no explicit Git reference is provided" do
|
37
|
-
git_source = klass.new(url, workdir: workdir)
|
50
|
+
git_source = @klass.new(@url, workdir: @workdir)
|
38
51
|
expect(git_source.ref)
|
39
52
|
.to eq('HEAD')
|
40
53
|
end
|
41
54
|
end
|
42
|
-
|
43
|
-
describe "#fetch" do
|
44
|
-
it "raises an error on checkout failure with a bad SHA" do
|
45
|
-
expect { klass.new("#{url}", ref: bad_sha, workdir: workdir).fetch }
|
46
|
-
.to raise_error Vanagon::CheckoutFailed
|
47
|
-
end
|
48
|
-
end
|
49
55
|
end
|
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.1
|
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-03-
|
11
|
+
date: 2017-03-30 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.6.
|
240
|
+
rubygems_version: 2.6.8
|
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
|
246
245
|
- spec/lib/vanagon/common/pathname_spec.rb
|
247
246
|
- 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
|
251
247
|
- spec/lib/vanagon/component/source/http_spec.rb
|
252
248
|
- spec/lib/vanagon/component/source/local_spec.rb
|
249
|
+
- spec/lib/vanagon/component/source/git_spec.rb
|
253
250
|
- spec/lib/vanagon/component/source_spec.rb
|
254
|
-
- spec/lib/vanagon/
|
255
|
-
- spec/lib/vanagon/
|
256
|
-
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
251
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
252
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
257
253
|
- spec/lib/vanagon/engine/base_spec.rb
|
254
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
258
255
|
- spec/lib/vanagon/engine/docker_spec.rb
|
259
256
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
260
257
|
- spec/lib/vanagon/engine/hardware_spec.rb
|
261
258
|
- spec/lib/vanagon/engine/local_spec.rb
|
262
259
|
- spec/lib/vanagon/engine/pooler_spec.rb
|
263
|
-
- spec/lib/vanagon/
|
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
|
260
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
268
261
|
- spec/lib/vanagon/platform/deb_spec.rb
|
269
262
|
- spec/lib/vanagon/platform/dsl_spec.rb
|
270
263
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
271
264
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
272
|
-
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
273
265
|
- spec/lib/vanagon/platform/windows_spec.rb
|
274
|
-
- spec/lib/vanagon/platform_spec.rb
|
275
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
|
+
- spec/lib/vanagon/platform_spec.rb
|
276
272
|
- spec/lib/vanagon/project_spec.rb
|
277
273
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
278
274
|
- 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
|