packaging 0.99.78 → 0.99.79

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: 0340bf3301e12ac79afefe26c69ef76c9b826e03804d114fa00be1e94c558214
4
- data.tar.gz: d79eb4d7206d75e38011f783890e8288f4ee12dfefba2c990e511ccbe508e847
3
+ metadata.gz: ffbdc37d8e8208db94c8f3ac323ca856d173099795d58c3406b28c06ed04b4a9
4
+ data.tar.gz: 6a261865330a3b86e8795cc3ad586552b744c41e8ce277ce5b7b1595af12bdb5
5
5
  SHA512:
6
- metadata.gz: 25a54450f869fc920f1308d6446b255ebc9571397df63323d242f0270072a72f68d8febb44feb07c7e12d780656b0d18349f7f389a54bbdf54f970990b2451fb
7
- data.tar.gz: 63ba12e182757008a631ee76551aa43570b97c5ba96787d83dbe1d5b3b5b5808a3a2fb9c2e26e1252febbad15855c4463c1fe531ffbc0dc7604ec9a79a2e52d5
6
+ metadata.gz: 512c7f42a929636c35b01bc50da52dc2e7f9c6387405cf0c4928115aa4b9bfb70e19510da8112fe121022938a89c16c89ba76c3f9142b9b867d1c9a3b28401e4
7
+ data.tar.gz: b55a3806f0f0026be2819f336ffdc5fb6d7641c9f06b6337e7b5e3e81c11766cd95ca2779b1de5dfd31d52fc1193d603b345c5077d6afc4e9d326bf0d486e999
@@ -224,8 +224,6 @@ module Pkg
224
224
  deploy_properties(platform_tag, File.basename(package)),
225
225
  headers
226
226
  )
227
- rescue
228
- raise "Attempt to upload '#{package}' to #{File.join(@artifactory_uri, data[:full_artifactory_path])} failed"
229
227
  end
230
228
 
231
229
  # @param pkg [String] The package to download YAML for
@@ -65,6 +65,7 @@ module Pkg::Params
65
65
  :gem_files,
66
66
  :gem_forge_project,
67
67
  :gem_host,
68
+ :gem_license,
68
69
  :gem_name,
69
70
  :gem_path,
70
71
  :gem_platform_dependencies,
@@ -143,7 +143,7 @@ module Pkg
143
143
  repo: false,
144
144
  },
145
145
  '11' => {
146
- architectures: ['x86_64'],
146
+ architectures: ['x86_64', 'arm64'],
147
147
  package_format: 'dmg',
148
148
  repo: false,
149
149
  },
@@ -12,60 +12,68 @@ module Pkg::Sign::Dmg
12
12
 
13
13
  ssh_host_string = "#{use_identity} #{host_string}"
14
14
  rsync_host_string = "-e 'ssh #{use_identity}' #{host_string}"
15
+ archs = Dir.glob("#{pkg_directory}/{apple,mac,osx}/**/{x86_64,arm64}").map { |el| el.split('/').last }
15
16
 
16
- remote_working_directory = "/tmp/#{Pkg::Util.rand_string}"
17
- dmg_mount_point = File.join(remote_working_directory, "mount")
18
- signed_items_directory = File.join(remote_working_directory, "signed")
19
-
20
- dmgs = Dir.glob("#{pkg_directory}/{apple,mac,osx}/**/*.dmg")
21
- if dmgs.empty?
22
- $stderr.puts "Error: no dmgs found in #{pkg_directory}/{apple,mac,osx}."
17
+ if archs.empty?
18
+ $stderr.puts "Error: no architectures found in #{pkg_directory}/{apple,mac,osx}"
23
19
  exit 1
24
20
  end
25
21
 
26
- dmg_basenames = dmgs.map { |d| File.basename(d, '.dmg') }.join(' ')
27
-
28
- sign_package_command = %W[
29
- for dmg in #{dmg_basenames}; do
30
- /usr/bin/hdiutil attach #{remote_working_directory}/$dmg.dmg
31
- -mountpoint #{dmg_mount_point} -nobrowse -quiet ;
32
-
33
- /usr/bin/security -q unlock-keychain
34
- -p "#{Pkg::Config.osx_signing_keychain_pw}" "#{Pkg::Config.osx_signing_keychain}" ;
35
-
36
- for pkg in #{dmg_mount_point}/*.pkg; do
37
- pkg_basename=$(basename $pkg) ;
38
- if /usr/sbin/pkgutil --check-signature $pkg ; then
39
- echo "Warning: $pkg is already signed, skipping" ;
40
- cp $pkg #{signed_items_directory}/$pkg_basename ;
41
- continue ;
42
- fi ;
43
-
44
- /usr/bin/productsign --keychain "#{Pkg::Config.osx_signing_keychain}"
45
- --sign "#{Pkg::Config.osx_signing_cert}"
46
- $pkg #{signed_items_directory}/$pkg_basename ;
47
- done ;
48
-
49
- /usr/bin/hdiutil detach #{dmg_mount_point} -quiet ;
50
- /bin/rm #{remote_working_directory}/$dmg.dmg ;
51
- /usr/bin/hdiutil create -volname $dmg
52
- -srcfolder #{signed_items_directory}/ #{remote_working_directory}/$dmg.dmg ;
53
- /bin/rm #{signed_items_directory}/* ;
54
- done
55
- ].join(' ')
56
-
57
- Pkg::Util::Net.remote_execute(ssh_host_string,
58
- "mkdir -p #{dmg_mount_point} #{signed_items_directory}")
59
-
60
- Pkg::Util::Net.rsync_to(dmgs.join(' '), rsync_host_string, remote_working_directory)
61
-
62
- Pkg::Util::Net.remote_execute(ssh_host_string, sign_package_command)
63
-
64
- dmgs.each do |dmg|
65
- Pkg::Util::Net.rsync_from(
66
- "#{remote_working_directory}/#{File.basename(dmg)}", rsync_host_string, File.dirname(dmg))
22
+ archs.each do |arch|
23
+ remote_working_directory = "/tmp/#{Pkg::Util.rand_string}/#{arch}"
24
+ dmg_mount_point = File.join(remote_working_directory, "mount")
25
+ signed_items_directory = File.join(remote_working_directory, "signed")
26
+
27
+ dmgs = Dir.glob("#{pkg_directory}/{apple,mac,osx}/**/#{arch}/*.dmg")
28
+ if dmgs.empty?
29
+ $stderr.puts "Error: no dmgs found in #{pkg_directory}/{apple,mac,osx} for #{arch} architecture."
30
+ exit 1
31
+ end
32
+
33
+ dmg_basenames = dmgs.map { |d| File.basename(d, '.dmg') }.join(' ')
34
+
35
+ sign_package_command = %W[
36
+ for dmg in #{dmg_basenames}; do
37
+ /usr/bin/hdiutil attach #{remote_working_directory}/$dmg.dmg
38
+ -mountpoint #{dmg_mount_point} -nobrowse -quiet ;
39
+
40
+ /usr/bin/security -q unlock-keychain
41
+ -p "#{Pkg::Config.osx_signing_keychain_pw}" "#{Pkg::Config.osx_signing_keychain}" ;
42
+
43
+ for pkg in #{dmg_mount_point}/*.pkg; do
44
+ pkg_basename=$(basename $pkg) ;
45
+ if /usr/sbin/pkgutil --check-signature $pkg ; then
46
+ echo "Warning: $pkg is already signed, skipping" ;
47
+ cp $pkg #{signed_items_directory}/$pkg_basename ;
48
+ continue ;
49
+ fi ;
50
+
51
+ /usr/bin/productsign --keychain "#{Pkg::Config.osx_signing_keychain}"
52
+ --sign "#{Pkg::Config.osx_signing_cert}"
53
+ $pkg #{signed_items_directory}/$pkg_basename ;
54
+ done ;
55
+
56
+ /usr/bin/hdiutil detach #{dmg_mount_point} -quiet ;
57
+ /bin/rm #{remote_working_directory}/$dmg.dmg ;
58
+ /usr/bin/hdiutil create -volname $dmg
59
+ -srcfolder #{signed_items_directory}/ #{remote_working_directory}/$dmg.dmg ;
60
+ /bin/rm #{signed_items_directory}/* ;
61
+ done
62
+ ].join(' ')
63
+
64
+ Pkg::Util::Net.remote_execute(ssh_host_string,
65
+ "mkdir -p #{dmg_mount_point} #{signed_items_directory}")
66
+
67
+ Pkg::Util::Net.rsync_to(dmgs.join(' '), rsync_host_string, remote_working_directory)
68
+
69
+ Pkg::Util::Net.remote_execute(ssh_host_string, sign_package_command)
70
+
71
+ dmgs.each do |dmg|
72
+ Pkg::Util::Net.rsync_from(
73
+ "#{remote_working_directory}/#{File.basename(dmg)}", rsync_host_string, File.dirname(dmg))
74
+ end
75
+
76
+ Pkg::Util::Net.remote_execute(ssh_host_string, "rm -rf '#{remote_working_directory}'")
67
77
  end
68
-
69
- Pkg::Util::Net.remote_execute(ssh_host_string, "rm -rf '#{remote_working_directory}'")
70
78
  end
71
79
  end
@@ -52,6 +52,7 @@ describe "Pkg::Config" do
52
52
  :gem_files,
53
53
  :gem_forge_project,
54
54
  :gem_host,
55
+ :gem_license,
55
56
  :gem_name,
56
57
  :gem_path,
57
58
  :gem_platform_dependencies,
data/tasks/gem.rake CHANGED
@@ -39,23 +39,24 @@ end
39
39
 
40
40
  def create_default_gem_spec
41
41
  spec = Gem::Specification.new do |s|
42
- s.name = Pkg::Config.project unless Pkg::Config.project.nil?
43
- s.name = Pkg::Config.gem_name unless Pkg::Config.gem_name.nil?
44
- s.version = Pkg::Config.gemversion unless Pkg::Config.gemversion.nil?
45
- s.author = Pkg::Config.author unless Pkg::Config.author.nil?
46
- s.email = Pkg::Config.email unless Pkg::Config.email.nil?
47
- s.homepage = Pkg::Config.homepage unless Pkg::Config.homepage.nil?
48
- s.summary = Pkg::Config.summary unless Pkg::Config.summary.nil?
49
- s.summary = Pkg::Config.gem_summary unless Pkg::Config.gem_summary.nil?
50
- s.description = Pkg::Config.description unless Pkg::Config.description.nil?
51
- s.description = Pkg::Config.gem_description unless Pkg::Config.gem_description.nil?
52
- s.files = glob_gem_files unless glob_gem_files.nil?
53
- s.executables = Pkg::Config.gem_executables unless Pkg::Config.gem_executables.nil?
54
- s.require_path = Pkg::Config.gem_require_path unless Pkg::Config.gem_require_path.nil?
55
- s.required_ruby_version = Pkg::Config.gem_required_ruby_version unless Pkg::Config.gem_required_ruby_version.nil?
42
+ s.name = Pkg::Config.project unless Pkg::Config.project.nil?
43
+ s.name = Pkg::Config.gem_name unless Pkg::Config.gem_name.nil?
44
+ s.version = Pkg::Config.gemversion unless Pkg::Config.gemversion.nil?
45
+ s.author = Pkg::Config.author unless Pkg::Config.author.nil?
46
+ s.email = Pkg::Config.email unless Pkg::Config.email.nil?
47
+ s.homepage = Pkg::Config.homepage unless Pkg::Config.homepage.nil?
48
+ s.summary = Pkg::Config.summary unless Pkg::Config.summary.nil?
49
+ s.summary = Pkg::Config.gem_summary unless Pkg::Config.gem_summary.nil?
50
+ s.description = Pkg::Config.description unless Pkg::Config.description.nil?
51
+ s.description = Pkg::Config.gem_description unless Pkg::Config.gem_description.nil?
52
+ s.files = glob_gem_files unless glob_gem_files.nil?
53
+ s.executables = Pkg::Config.gem_executables unless Pkg::Config.gem_executables.nil?
54
+ s.require_path = Pkg::Config.gem_require_path unless Pkg::Config.gem_require_path.nil?
55
+ s.required_ruby_version = Pkg::Config.gem_required_ruby_version unless Pkg::Config.gem_required_ruby_version.nil?
56
56
  s.required_rubygems_version = Pkg::Config.gem_required_rubygems_version unless Pkg::Config.gem_required_rubygems_version.nil?
57
- s.test_files = FileList[Pkg::Config.gem_test_files.split(' ')] unless Pkg::Config.gem_test_files.nil?
58
- s.rubyforge_project = Pkg::Config.gem_forge_project unless Pkg::Config.gem_forge_project.nil?
57
+ s.test_files = FileList[Pkg::Config.gem_test_files.split(' ')] unless Pkg::Config.gem_test_files.nil?
58
+ s.license = Pkg::Config.gem_license unless Pkg::Config.gem_license.nil?
59
+ s.rubyforge_project = Pkg::Config.gem_forge_project unless Pkg::Config.gem_forge_project.nil?
59
60
  Pkg::Config.gem_rdoc_options.each do |option|
60
61
  s.rdoc_options << option
61
62
  end unless Pkg::Config.gem_rdoc_options.nil?
data/tasks/ship.rake CHANGED
@@ -553,7 +553,17 @@ namespace :pl do
553
553
  artifactory = Pkg::ManageArtifactory.new(Pkg::Config.project, Pkg::Config.ref)
554
554
 
555
555
  local_dir = args.local_dir || 'pkg'
556
- Dir.glob("#{local_dir}/**/*").reject { |e| File.directory? e }.each do |artifact|
556
+ artifacts = Dir.glob("#{local_dir}/**/*").reject { |e| File.directory? e }
557
+ artifacts.sort! do |a, b|
558
+ if File.extname(a) =~ /(md5|sha\d+)/ && File.extname(b) !~ /(md5|sha\d+)/
559
+ 1
560
+ elsif File.extname(b) =~ /(md5|sha\d+)/ && File.extname(a) !~ /(md5|sha\d+)/
561
+ -1
562
+ else
563
+ a <=> b
564
+ end
565
+ end
566
+ artifacts.each do |artifact|
557
567
  if File.extname(artifact) == ".yaml" || File.extname(artifact) == ".json"
558
568
  artifactory.deploy_package(artifact)
559
569
  elsif artifactory.package_exists_on_artifactory?(artifact)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: packaging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.99.78
4
+ version: 0.99.79
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-21 00:00:00.000000000 Z
11
+ date: 2021-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -260,28 +260,28 @@ signing_key:
260
260
  specification_version: 4
261
261
  summary: Puppet Labs' packaging automation
262
262
  test_files:
263
- - spec/lib/packaging/sign_spec.rb
264
- - spec/lib/packaging/rpm/repo_spec.rb
263
+ - spec/lib/packaging_spec.rb
264
+ - spec/lib/packaging/tar_spec.rb
265
265
  - spec/lib/packaging/retrieve_spec.rb
266
+ - spec/lib/packaging/deb_spec.rb
267
+ - spec/lib/packaging/rpm/repo_spec.rb
268
+ - spec/lib/packaging/config_spec.rb
266
269
  - spec/lib/packaging/deb/repo_spec.rb
267
- - spec/lib/packaging/tar_spec.rb
268
- - spec/lib/packaging/util/jenkins_spec.rb
270
+ - spec/lib/packaging/platforms_spec.rb
271
+ - spec/lib/packaging/gem_spec.rb
272
+ - spec/lib/packaging/paths_spec.rb
269
273
  - spec/lib/packaging/util/gpg_spec.rb
270
- - spec/lib/packaging/util/rake_utils_spec.rb
271
- - spec/lib/packaging/util/misc_spec.rb
272
- - spec/lib/packaging/util/file_spec.rb
273
- - spec/lib/packaging/util/version_spec.rb
274
- - spec/lib/packaging/util/os_spec.rb
275
- - spec/lib/packaging/util/git_spec.rb
276
- - spec/lib/packaging/util/net_spec.rb
277
274
  - spec/lib/packaging/util/ship_spec.rb
275
+ - spec/lib/packaging/util/rake_utils_spec.rb
278
276
  - spec/lib/packaging/util/execution_spec.rb
277
+ - spec/lib/packaging/util/version_spec.rb
278
+ - spec/lib/packaging/util/misc_spec.rb
279
+ - spec/lib/packaging/util/jenkins_spec.rb
279
280
  - spec/lib/packaging/util/git_tag_spec.rb
280
- - spec/lib/packaging/gem_spec.rb
281
- - spec/lib/packaging/deb_spec.rb
281
+ - spec/lib/packaging/util/net_spec.rb
282
+ - spec/lib/packaging/util/git_spec.rb
283
+ - spec/lib/packaging/util/os_spec.rb
284
+ - spec/lib/packaging/util/file_spec.rb
285
+ - spec/lib/packaging/sign_spec.rb
282
286
  - spec/lib/packaging/repo_spec.rb
283
- - spec/lib/packaging/platforms_spec.rb
284
287
  - spec/lib/packaging/artifactory_spec.rb
285
- - spec/lib/packaging/config_spec.rb
286
- - spec/lib/packaging/paths_spec.rb
287
- - spec/lib/packaging_spec.rb