vanagon 0.26.0 → 0.26.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vanagon/component/source/local.rb +1 -3
- data/lib/vanagon/platform/defaults/osx-12-x86_64.rb +20 -0
- data/lib/vanagon/platform/defaults/ubuntu-20.04-amd64.rb +6 -0
- data/lib/vanagon/platform/osx.rb +0 -20
- data/resources/Makefile.erb +0 -4
- data/spec/lib/vanagon/component/source/git_spec.rb +1 -1
- data/spec/lib/vanagon/component/source_spec.rb +0 -8
- data/spec/lib/vanagon/component_spec.rb +3 -2
- metadata +36 -35
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d675c65a485d790f1c1270033c15282c2c2c6773fd2229f66a4a9203049619db
|
4
|
+
data.tar.gz: a79195a18df08e3103c7e9a69cd1551bf76149fa31275e11d5685b15576ff542
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64dccb409eb072492bf3c2a9e8bfe7aa98dcabc0055fcc61d671d836793704083b81b67ba05bea0d49be61e1e0ca5d1100278c8e370b3598ac17764a4af5bc9d
|
7
|
+
data.tar.gz: 7d2b511b858ff78c5268ed021cf033a4f6440fe722ada71d85bb8ef35766286045477846e3b7c485942b584984fe0c78ec866b160823d668cf0eab357cb030dd
|
@@ -97,14 +97,12 @@ class Vanagon
|
|
97
97
|
%(gunzip "#{file}")
|
98
98
|
when "rar"
|
99
99
|
%(unrar x "#{file}")
|
100
|
-
when "tar"
|
100
|
+
when "tar", "txz"
|
101
101
|
%(#{tar} xf "#{file}")
|
102
102
|
when "tbz2"
|
103
103
|
%(bunzip2 -c "#{file}" | #{tar} xf -)
|
104
104
|
when "tgz"
|
105
105
|
%(gunzip -c "#{file}" | #{tar} xf -)
|
106
|
-
when "txz"
|
107
|
-
%(unxz -d "#{file}" | #{tar} xvf -)
|
108
106
|
when "xz"
|
109
107
|
%(unxz "#{file}")
|
110
108
|
when "zip"
|
@@ -0,0 +1,20 @@
|
|
1
|
+
platform "osx-12-x86_64" do |plat|
|
2
|
+
plat.servicetype "launchd"
|
3
|
+
plat.servicedir "/Library/LaunchDaemons"
|
4
|
+
plat.codename "monterey"
|
5
|
+
plat.provision_with "export HOMEBREW_NO_EMOJI=true"
|
6
|
+
plat.provision_with "export HOMEBREW_VERBOSE=true"
|
7
|
+
plat.provision_with "sudo dscl . -create /Users/test"
|
8
|
+
plat.provision_with "sudo dscl . -create /Users/test UserShell /bin/bash"
|
9
|
+
plat.provision_with "sudo dscl . -create /Users/test UniqueID 1001"
|
10
|
+
plat.provision_with "sudo dscl . -create /Users/test PrimaryGroupID 1000"
|
11
|
+
plat.provision_with "sudo dscl . -create /Users/test NFSHomeDirectory /Users/test"
|
12
|
+
plat.provision_with "sudo dscl . -passwd /Users/test password"
|
13
|
+
plat.provision_with "sudo dscl . -merge /Groups/admin GroupMembership test"
|
14
|
+
plat.provision_with "echo 'test ALL=(ALL:ALL) NOPASSWD: ALL' > /etc/sudoers.d/username"
|
15
|
+
plat.provision_with "mkdir -p /etc/homebrew"
|
16
|
+
plat.provision_with "cd /etc/homebrew"
|
17
|
+
plat.provision_with %Q(su test -c 'echo | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"')
|
18
|
+
plat.provision_with "sudo chown -R test:admin /Users/test/"
|
19
|
+
plat.vmpooler_template "macos-12-x86_64"
|
20
|
+
end
|
@@ -4,8 +4,14 @@ platform "ubuntu-20.04-amd64" do |plat|
|
|
4
4
|
plat.servicetype "systemd"
|
5
5
|
plat.codename "focal"
|
6
6
|
|
7
|
+
# Temporary fix to add focal-updates.list repo file because it is missing from the vmpooler image
|
8
|
+
plat.provision_with "echo 'deb https://artifactory.delivery.puppetlabs.net/artifactory/ubuntu__remote focal-updates main restricted universe multiverse' > /etc/apt/sources.list.d/focal-updates.list;
|
9
|
+
echo 'deb-src https://artifactory.delivery.puppetlabs.net/artifactory/ubuntu__remote focal-updates main restricted universe multiverse' >> /etc/apt/sources.list.d/focal-updates.list"
|
10
|
+
|
7
11
|
packages = %w(build-essential devscripts make quilt pkg-config debhelper rsync fakeroot cmake)
|
12
|
+
|
8
13
|
plat.provision_with "export DEBIAN_FRONTEND=noninteractive; apt-get update -qq; apt-get install -qy --no-install-recommends #{packages.join(' ')}"
|
14
|
+
plat.provision_with "curl https://apt.puppet.com/DEB-GPG-KEY-puppet-20250406 | apt-key add -"
|
9
15
|
plat.install_build_dependencies_with "DEBIAN_FRONTEND=noninteractive; apt-get install -qy --no-install-recommends "
|
10
16
|
plat.vmpooler_template "ubuntu-2004-x86_64"
|
11
17
|
end
|
data/lib/vanagon/platform/osx.rb
CHANGED
@@ -41,8 +41,6 @@ class Vanagon
|
|
41
41
|
sign_commands = []
|
42
42
|
end
|
43
43
|
|
44
|
-
signing_host = "jenkins@osx-signer-prod-2.delivery.puppetlabs.net"
|
45
|
-
|
46
44
|
# Setup build directories
|
47
45
|
["bash -c 'mkdir -p $(tempdir)/osx/build/{dmg,pkg,scripts,resources,root,payload,plugins}'",
|
48
46
|
"mkdir -p $(tempdir)/osx/build/root/#{project.name}-#{project.version}",
|
@@ -58,26 +56,8 @@ class Vanagon
|
|
58
56
|
|
59
57
|
bom_install,
|
60
58
|
|
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
|
-
|
75
59
|
# Sign extra files
|
76
60
|
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
|
-
|
81
61
|
|
82
62
|
# Package the project
|
83
63
|
"(cd $(tempdir)/osx/build/; #{@pkgbuild} --root root/#{project.name}-#{project.version} \
|
data/resources/Makefile.erb
CHANGED
@@ -9,10 +9,6 @@ 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
|
-
|
16
12
|
<%= package_name %>: <%= @name %>-<%= @version %>.tar.gz
|
17
13
|
<%= generate_package.join("\n\t") %>
|
18
14
|
|
@@ -5,7 +5,7 @@ describe "Vanagon::Component::Source::Git" do
|
|
5
5
|
before :all do
|
6
6
|
@klass = Vanagon::Component::Source::Git
|
7
7
|
# This repo will not be cloned over the network
|
8
|
-
@url = '
|
8
|
+
@url = 'https://github.com/puppetlabs/facter.git'
|
9
9
|
# This path will not be created on disk
|
10
10
|
@local_url = "file://#{Dir.tmpdir}/puppet-agent"
|
11
11
|
@ref_tag = 'refs/tags/2.2.0'
|
@@ -8,7 +8,6 @@ describe "Vanagon::Component::Source" do
|
|
8
8
|
let(:unrecognized_scheme) { "abcd" }
|
9
9
|
let(:invalid_scheme) { "abcd|things" }
|
10
10
|
|
11
|
-
let(:public_git) { "git://github.com/abcd/things" }
|
12
11
|
let(:private_git) { "git@github.com:abcd/things" }
|
13
12
|
let(:http_git) { "http://github.com/abcd/things" }
|
14
13
|
let(:https_git) { "https://github.com/abcd/things" }
|
@@ -53,12 +52,6 @@ describe "Vanagon::Component::Source" do
|
|
53
52
|
.to eq Vanagon::Component::Source::Git
|
54
53
|
end
|
55
54
|
|
56
|
-
it "returns a Git object for git:// repositories" do
|
57
|
-
component_source = klass.source(public_git, ref: ref, workdir: workdir)
|
58
|
-
expect(component_source.url.to_s).to eq public_git
|
59
|
-
expect(component_source.class).to eq Vanagon::Component::Source::Git
|
60
|
-
end
|
61
|
-
|
62
55
|
it "returns a Git object for http:// repositories" do
|
63
56
|
expect(klass.source(http_git, ref: ref, workdir: workdir).class)
|
64
57
|
.to eq Vanagon::Component::Source::Git
|
@@ -74,7 +67,6 @@ describe "Vanagon::Component::Source" do
|
|
74
67
|
expect(component_source.url.to_s).to eq 'http://github.com/abcd/things'
|
75
68
|
expect(component_source.class).to eq Vanagon::Component::Source::Git
|
76
69
|
end
|
77
|
-
|
78
70
|
end
|
79
71
|
|
80
72
|
context "takes a HTTP/HTTPS file" do
|
@@ -258,12 +258,13 @@ describe "Vanagon::Component" do
|
|
258
258
|
describe '#force_version' do
|
259
259
|
let(:source) {
|
260
260
|
allow(File).to receive(:realpath).and_return('/this/is/a/test')
|
261
|
-
|
261
|
+
WebMock.allow_net_connect!
|
262
|
+
Vanagon::Component::Source::Git.new('https://github.com/puppetlabs/facter', workdir: '/this/is/a/test')
|
262
263
|
}
|
263
264
|
|
264
265
|
let(:component) {
|
265
266
|
Vanagon::Component.new('force-version-test', {}, {}).tap do |comp|
|
266
|
-
comp.url = '
|
267
|
+
comp.url = 'https://github.com/puppetlabs/facter'
|
267
268
|
comp.source = source
|
268
269
|
end
|
269
270
|
}
|
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.26.
|
4
|
+
version: 0.26.3
|
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-05-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: docopt
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.11.0
|
34
34
|
type: :runtime
|
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: 1.
|
40
|
+
version: 1.11.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: fustigit
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,6 +171,7 @@ files:
|
|
171
171
|
- lib/vanagon/platform/defaults/fedora-34-x86_64.rb
|
172
172
|
- lib/vanagon/platform/defaults/osx-10.15-x86_64.rb
|
173
173
|
- lib/vanagon/platform/defaults/osx-11-x86_64.rb
|
174
|
+
- lib/vanagon/platform/defaults/osx-12-x86_64.rb
|
174
175
|
- lib/vanagon/platform/defaults/redhatfips-7-x86_64.rb
|
175
176
|
- lib/vanagon/platform/defaults/redhatfips-8-x86_64.rb
|
176
177
|
- lib/vanagon/platform/defaults/sles-12-x86_64.rb
|
@@ -330,41 +331,41 @@ specification_version: 3
|
|
330
331
|
summary: All of your packages will fit into this van with this one simple trick.
|
331
332
|
test_files:
|
332
333
|
- spec/lib/makefile_spec.rb
|
333
|
-
- spec/lib/
|
334
|
-
- spec/lib/vanagon/
|
335
|
-
- spec/lib/vanagon/utilities_spec.rb
|
336
|
-
- spec/lib/vanagon/project_spec.rb
|
334
|
+
- spec/lib/git/rev_list_spec.rb
|
335
|
+
- spec/lib/vanagon/platform_spec.rb
|
337
336
|
- spec/lib/vanagon/utilities/shell_utilities_spec.rb
|
338
337
|
- spec/lib/vanagon/utilities/extra_files_signer_spec.rb
|
339
|
-
- spec/lib/vanagon/
|
340
|
-
- spec/lib/vanagon/
|
341
|
-
- spec/lib/vanagon/
|
342
|
-
- spec/lib/vanagon/
|
343
|
-
- spec/lib/vanagon/
|
344
|
-
- spec/lib/vanagon/
|
345
|
-
- spec/lib/vanagon/
|
346
|
-
- spec/lib/vanagon/
|
347
|
-
- spec/lib/vanagon/
|
348
|
-
- spec/lib/vanagon/
|
349
|
-
- spec/lib/vanagon/
|
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
|
338
|
+
- spec/lib/vanagon/common/pathname_spec.rb
|
339
|
+
- spec/lib/vanagon/common/user_spec.rb
|
340
|
+
- spec/lib/vanagon/component/rules_spec.rb
|
341
|
+
- spec/lib/vanagon/component/dsl_spec.rb
|
342
|
+
- spec/lib/vanagon/component/source/git_spec.rb
|
343
|
+
- spec/lib/vanagon/component/source/http_spec.rb
|
344
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
345
|
+
- spec/lib/vanagon/component/source/rewrite_spec.rb
|
346
|
+
- spec/lib/vanagon/component/source_spec.rb
|
347
|
+
- spec/lib/vanagon/platform/dsl_spec.rb
|
348
|
+
- spec/lib/vanagon/platform/deb_spec.rb
|
353
349
|
- spec/lib/vanagon/platform/solaris_11_spec.rb
|
354
350
|
- spec/lib/vanagon/platform/rpm_spec.rb
|
355
|
-
- spec/lib/vanagon/platform/
|
356
|
-
- spec/lib/vanagon/platform/dsl_spec.rb
|
351
|
+
- spec/lib/vanagon/platform/osx_spec.rb
|
357
352
|
- spec/lib/vanagon/platform/rpm/aix_spec.rb
|
353
|
+
- spec/lib/vanagon/platform/solaris_10_spec.rb
|
358
354
|
- spec/lib/vanagon/platform/windows_spec.rb
|
359
|
-
- spec/lib/vanagon/
|
360
|
-
- spec/lib/vanagon/
|
355
|
+
- spec/lib/vanagon/project_spec.rb
|
356
|
+
- spec/lib/vanagon/component_spec.rb
|
357
|
+
- spec/lib/vanagon/extensions/set/json_spec.rb
|
358
|
+
- spec/lib/vanagon/extensions/string_spec.rb
|
359
|
+
- spec/lib/vanagon/extensions/ostruct/json_spec.rb
|
360
|
+
- spec/lib/vanagon/project/dsl_spec.rb
|
361
361
|
- spec/lib/vanagon/environment_spec.rb
|
362
|
-
- spec/lib/vanagon/
|
363
|
-
- spec/lib/vanagon/
|
364
|
-
- spec/lib/vanagon/
|
365
|
-
- spec/lib/vanagon/
|
366
|
-
- spec/lib/vanagon/
|
367
|
-
- spec/lib/vanagon/
|
368
|
-
- spec/lib/vanagon/
|
369
|
-
- spec/lib/vanagon/
|
370
|
-
- spec/lib/
|
362
|
+
- spec/lib/vanagon/cli_spec.rb
|
363
|
+
- spec/lib/vanagon/utilities_spec.rb
|
364
|
+
- spec/lib/vanagon/engine/docker_spec.rb
|
365
|
+
- spec/lib/vanagon/engine/local_spec.rb
|
366
|
+
- spec/lib/vanagon/engine/base_spec.rb
|
367
|
+
- spec/lib/vanagon/engine/always_be_scheduling_spec.rb
|
368
|
+
- spec/lib/vanagon/engine/hardware_spec.rb
|
369
|
+
- spec/lib/vanagon/engine/pooler_spec.rb
|
370
|
+
- spec/lib/vanagon/engine/ec2_spec.rb
|
371
|
+
- spec/lib/vanagon/driver_spec.rb
|