vanagon 0.26.0 → 0.26.3

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 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