packaging 0.99.78 → 0.99.79

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