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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a9b054ba055927fcdbc69228b433ec3c01e52841c4fd93841394d3ab371bcb0e
4
- data.tar.gz: 787e12bc102de7ab7a16b7b0f9a0f9fbff4f60fece396fdcc3a9b752f8c933aa
3
+ metadata.gz: d675c65a485d790f1c1270033c15282c2c2c6773fd2229f66a4a9203049619db
4
+ data.tar.gz: a79195a18df08e3103c7e9a69cd1551bf76149fa31275e11d5685b15576ff542
5
5
  SHA512:
6
- metadata.gz: e0220c7ab2bd7f07945dc0d313976693616ac8ef99103d526da8a89b85c21f8089ed54117a6df5201ca7cb17b40fa6f8c32e8ed359a1da0e75afc831e961860c
7
- data.tar.gz: b460870be764e84925886041b21bc017fa3016575c57a005bfd482ec7242abf668f0e03b2fe7e243f42ae5d3612f99b4fb177322eed0845033eb2a99cec0f6e7
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
@@ -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} \
@@ -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 = 'git://github.com/puppetlabs/facter.git'
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
- Vanagon::Component::Source::Git.new('git://github.com/puppetlabs/facter', workdir: '/this/is/a/test')
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 = 'git://github.com/puppetlabs/facter'
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.0
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-03-10 00:00:00.000000000 Z
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.8.0
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.8.0
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/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
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/cli_spec.rb
340
- - spec/lib/vanagon/driver_spec.rb
341
- - spec/lib/vanagon/engine/base_spec.rb
342
- - spec/lib/vanagon/engine/local_spec.rb
343
- - spec/lib/vanagon/engine/hardware_spec.rb
344
- - spec/lib/vanagon/engine/ec2_spec.rb
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
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/solaris_10_spec.rb
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/platform/deb_spec.rb
360
- - spec/lib/vanagon/platform/osx_spec.rb
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/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
370
- - spec/lib/git/rev_list_spec.rb
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