vanagon 0.11.0 → 0.11.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|