vanagon 0.25.0 → 0.26.0
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/lib/git/basic_submodules.rb +1 -1
- data/lib/vanagon/component/source/git.rb +1 -1
- data/lib/vanagon/component.rb +2 -2
- data/lib/vanagon/platform/osx.rb +20 -0
- data/resources/Makefile.erb +4 -0
- data/spec/lib/vanagon/engine/ec2_spec.rb +4 -2
- metadata +33 -30
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9b054ba055927fcdbc69228b433ec3c01e52841c4fd93841394d3ab371bcb0e
|
4
|
+
data.tar.gz: 787e12bc102de7ab7a16b7b0f9a0f9fbff4f60fece396fdcc3a9b752f8c933aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0220c7ab2bd7f07945dc0d313976693616ac8ef99103d526da8a89b85c21f8089ed54117a6df5201ca7cb17b40fa6f8c32e8ed359a1da0e75afc831e961860c
|
7
|
+
data.tar.gz: b460870be764e84925886041b21bc017fa3016575c57a005bfd482ec7242abf668f0e03b2fe7e243f42ae5d3612f99b4fb177322eed0845033eb2a99cec0f6e7
|
data/lib/git/basic_submodules.rb
CHANGED
@@ -36,7 +36,7 @@ module BasicSubmodules
|
|
36
36
|
# @option options [Boolean] :recursive recurse into nested submodules
|
37
37
|
# @return options [String] any output produced by `git` when submodules are initialized
|
38
38
|
def update_submodules(**options)
|
39
|
-
self.lib.update_submodules(options)
|
39
|
+
self.lib.update_submodules(**options)
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
@@ -50,7 +50,7 @@ class Vanagon
|
|
50
50
|
|
51
51
|
def valid_remote?(url, timeout = 0)
|
52
52
|
Timeout.timeout(timeout) do
|
53
|
-
Vanagon::Utilities.local_command("git ls-remote #{url} > /dev/null 2>&1")
|
53
|
+
Vanagon::Utilities.local_command("git ls-remote --heads #{url} > /dev/null 2>&1")
|
54
54
|
return false unless $?.exitstatus.zero?
|
55
55
|
return true
|
56
56
|
end
|
data/lib/vanagon/component.rb
CHANGED
@@ -258,7 +258,7 @@ class Vanagon
|
|
258
258
|
mirrors.to_a.shuffle.each do |mirror|
|
259
259
|
begin
|
260
260
|
VanagonLogger.info %(Attempting to fetch from mirror URL "#{mirror}")
|
261
|
-
@source = Vanagon::Component::Source.source(mirror, options)
|
261
|
+
@source = Vanagon::Component::Source.source(mirror, **options)
|
262
262
|
return true if source.fetch
|
263
263
|
rescue SocketError
|
264
264
|
# SocketError means that there was no DNS/name resolution
|
@@ -281,7 +281,7 @@ class Vanagon
|
|
281
281
|
# or False otherwise
|
282
282
|
def fetch_url(options)
|
283
283
|
VanagonLogger.info %(Attempting to fetch from canonical URL "#{url}")
|
284
|
-
@source = Vanagon::Component::Source.source(url, options)
|
284
|
+
@source = Vanagon::Component::Source.source(url, **options)
|
285
285
|
# Explicitly coerce the return value of #source.fetch,
|
286
286
|
# because each subclass of Vanagon::Component::Source returns
|
287
287
|
# an inconsistent value if #fetch is successful.
|
data/lib/vanagon/platform/osx.rb
CHANGED
@@ -41,6 +41,8 @@ class Vanagon
|
|
41
41
|
sign_commands = []
|
42
42
|
end
|
43
43
|
|
44
|
+
signing_host = "jenkins@osx-signer-prod-2.delivery.puppetlabs.net"
|
45
|
+
|
44
46
|
# Setup build directories
|
45
47
|
["bash -c 'mkdir -p $(tempdir)/osx/build/{dmg,pkg,scripts,resources,root,payload,plugins}'",
|
46
48
|
"mkdir -p $(tempdir)/osx/build/root/#{project.name}-#{project.version}",
|
@@ -56,8 +58,26 @@ class Vanagon
|
|
56
58
|
|
57
59
|
bom_install,
|
58
60
|
|
61
|
+
# The signing commands below should not cause `vanagon build` to fail. Many devs need to run `vanagon build`
|
62
|
+
# locally and do not necessarily need signed packages. The `|| :` will rescue failures by evaluating as successful.
|
63
|
+
# /Users/binaries will be a list of all binaries that need to be signed
|
64
|
+
"touch /Users/binaries || :",
|
65
|
+
# Find all of the executables (Mach-O files), and put the in /Users/binaries
|
66
|
+
"for item in `find $(tempdir)/osx/build/ -perm -0100 -type f` ; do file $$item | grep 'Mach-O' ; done | awk '{print $$1}' | sed 's/\:$$//' > /Users/binaries || :",
|
67
|
+
# A tmpdir is created on the signing_host, all of the executables will be rsyncd there to be signed
|
68
|
+
"#{Vanagon::Utilities.ssh_command} #{signing_host} mkdir -p /tmp/$(binaries_dir) || :",
|
69
|
+
"rsync -e '#{Vanagon::Utilities.ssh_command}' --no-perms --no-owner --no-group --files-from=/Users/binaries / #{signing_host}:/tmp/$(binaries_dir) || :",
|
70
|
+
"rsync -e '#{Vanagon::Utilities.ssh_command}' --no-perms --no-owner --no-group /Users/binaries #{signing_host}:/tmp/$(binaries_dir)/binaries_list || :",
|
71
|
+
# The binaries are signed, and then rsynced back
|
72
|
+
"#{Vanagon::Utilities.ssh_command} #{signing_host} /usr/local/bin/sign.sh $(binaries_dir) || :",
|
73
|
+
"rsync -e '#{Vanagon::Utilities.ssh_command}' --no-perms --no-owner --no-group -r #{signing_host}:/tmp/$(binaries_dir)/var/ /var || :",
|
74
|
+
|
59
75
|
# Sign extra files
|
60
76
|
sign_commands,
|
77
|
+
# Some extra files are created during the signing process that are not needed, so we delete them! Otherwise
|
78
|
+
# notarization gets confused by these extra files.
|
79
|
+
"for item in `find $(tempdir)/osx/build -type d -name Resources` ; do rm -rf $$item ; done || :",
|
80
|
+
|
61
81
|
|
62
82
|
# Package the project
|
63
83
|
"(cd $(tempdir)/osx/build/; #{@pkgbuild} --root root/#{project.name}-#{project.version} \
|
data/resources/Makefile.erb
CHANGED
@@ -9,6 +9,10 @@ workdir := $(PWD)
|
|
9
9
|
|
10
10
|
all: file-list-before-build <%= package_name %>
|
11
11
|
|
12
|
+
<%- if @platform.is_macos? -%>
|
13
|
+
binaries_dir := $(shell <%= @platform.mktemp %> 2>/dev/null)
|
14
|
+
<%- end -%>
|
15
|
+
|
12
16
|
<%= package_name %>: <%= @name %>-<%= @version %>.tar.gz
|
13
17
|
<%= generate_package.join("\n\t") %>
|
14
18
|
|
@@ -1,5 +1,4 @@
|
|
1
|
-
begin
|
2
|
-
require 'aws-sdk'
|
1
|
+
begin require 'aws-sdk'
|
3
2
|
rescue LoadError
|
4
3
|
$stderr.puts "Unable to load AWS SDK; skipping optional EC2 engine spec tests"
|
5
4
|
end
|
@@ -28,7 +27,10 @@ if defined? ::Aws
|
|
28
27
|
|
29
28
|
it 'returns "ec2" name' do
|
30
29
|
stub_request(:get, "http://169.254.169.254/latest/meta-data/iam/security-credentials/").
|
30
|
+
to_return(status: 200, body: "", headers: {})
|
31
|
+
stub_request(:put, "http://169.254.169.254/latest/api/token").
|
31
32
|
to_return(status: 200, body: "", headers: {})
|
33
|
+
|
32
34
|
expect(Vanagon::Engine::Ec2.new(platform_ec2).name).to eq('ec2')
|
33
35
|
end
|
34
36
|
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.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-03-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -312,9 +312,12 @@ require_paths:
|
|
312
312
|
- lib
|
313
313
|
required_ruby_version: !ruby/object:Gem::Requirement
|
314
314
|
requirements:
|
315
|
-
- - "
|
315
|
+
- - ">="
|
316
316
|
- !ruby/object:Gem::Version
|
317
317
|
version: '2.3'
|
318
|
+
- - "<"
|
319
|
+
- !ruby/object:Gem::Version
|
320
|
+
version: '4'
|
318
321
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
319
322
|
requirements:
|
320
323
|
- - ">="
|
@@ -327,41 +330,41 @@ specification_version: 3
|
|
327
330
|
summary: All of your packages will fit into this van with this one simple trick.
|
328
331
|
test_files:
|
329
332
|
- spec/lib/makefile_spec.rb
|
333
|
+
- spec/lib/vanagon/common/user_spec.rb
|
334
|
+
- spec/lib/vanagon/common/pathname_spec.rb
|
335
|
+
- spec/lib/vanagon/utilities_spec.rb
|
336
|
+
- spec/lib/vanagon/project_spec.rb
|
330
337
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
331
338
|
- spec/lib/vanagon/utilities/extra_files_signer_spec.rb
|
332
|
-
- spec/lib/vanagon/project_spec.rb
|
333
|
-
- spec/lib/vanagon/component_spec.rb
|
334
|
-
- spec/lib/vanagon/extensions/set/json_spec.rb
|
335
|
-
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
336
|
-
- spec/lib/vanagon/extensions/string_spec.rb
|
337
|
-
- spec/lib/vanagon/component/source/local_spec.rb
|
338
|
-
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
339
|
-
- spec/lib/vanagon/component/source/http_spec.rb
|
340
|
-
- spec/lib/vanagon/component/source/git_spec.rb
|
341
|
-
- spec/lib/vanagon/component/source_spec.rb
|
342
|
-
- spec/lib/vanagon/component/dsl_spec.rb
|
343
|
-
- spec/lib/vanagon/component/rules_spec.rb
|
344
|
-
- spec/lib/vanagon/driver_spec.rb
|
345
|
-
- spec/lib/vanagon/utilities_spec.rb
|
346
339
|
- spec/lib/vanagon/cli_spec.rb
|
347
|
-
- spec/lib/vanagon/
|
348
|
-
- spec/lib/vanagon/common/user_spec.rb
|
349
|
-
- spec/lib/vanagon/engine/local_spec.rb
|
340
|
+
- spec/lib/vanagon/driver_spec.rb
|
350
341
|
- spec/lib/vanagon/engine/base_spec.rb
|
351
|
-
- spec/lib/vanagon/engine/
|
352
|
-
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
342
|
+
- spec/lib/vanagon/engine/local_spec.rb
|
353
343
|
- spec/lib/vanagon/engine/hardware_spec.rb
|
354
|
-
- spec/lib/vanagon/engine/pooler_spec.rb
|
355
344
|
- spec/lib/vanagon/engine/ec2_spec.rb
|
356
|
-
- spec/lib/vanagon/
|
357
|
-
- spec/lib/vanagon/
|
358
|
-
- spec/lib/vanagon/
|
359
|
-
- spec/lib/vanagon/
|
345
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
346
|
+
- spec/lib/vanagon/engine/pooler_spec.rb
|
347
|
+
- spec/lib/vanagon/engine/docker_spec.rb
|
348
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
349
|
+
- spec/lib/vanagon/component_spec.rb
|
350
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
351
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
352
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
353
|
+
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
360
354
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
355
|
+
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
356
|
+
- spec/lib/vanagon/platform/dsl_spec.rb
|
361
357
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
362
|
-
- spec/lib/vanagon/platform/
|
358
|
+
- spec/lib/vanagon/platform/windows_spec.rb
|
363
359
|
- spec/lib/vanagon/platform/deb_spec.rb
|
364
|
-
- spec/lib/vanagon/platform/dsl_spec.rb
|
365
360
|
- spec/lib/vanagon/platform/osx_spec.rb
|
366
|
-
- spec/lib/vanagon/
|
361
|
+
- spec/lib/vanagon/environment_spec.rb
|
362
|
+
- spec/lib/vanagon/platform_spec.rb
|
363
|
+
- spec/lib/vanagon/component/source_spec.rb
|
364
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
365
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
366
|
+
- spec/lib/vanagon/component/source/git_spec.rb
|
367
|
+
- spec/lib/vanagon/component/source/http_spec.rb
|
368
|
+
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
369
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
367
370
|
- spec/lib/git/rev_list_spec.rb
|