packaging 0.99.77 → 0.99.78

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: 365629e0e3cba195de934ccd1cee9ecff5c7ed684ac79e4befc883420037b191
4
- data.tar.gz: 2498029caf73135b3ee7c5a2704e310ae6398c4eb7716c3687db487fc827dc0d
3
+ metadata.gz: 0340bf3301e12ac79afefe26c69ef76c9b826e03804d114fa00be1e94c558214
4
+ data.tar.gz: d79eb4d7206d75e38011f783890e8288f4ee12dfefba2c990e511ccbe508e847
5
5
  SHA512:
6
- metadata.gz: 4a73420699b6ce732c52c527468c5b9cef405c0565aab9b33c3e592109ddee4aa965f162b4d3950a7900584994dba2994cc07602d75e36b0a53bf8dbbfcd23ec
7
- data.tar.gz: f871e9711752e70ac48956663402fa3f0cdf2693ae08eff8aa0ac59384a0081e1dd27fdbac01a3a17964de4a135a9ded98d381808cace9d9dd62c6ac37d20a8d
6
+ metadata.gz: 25a54450f869fc920f1308d6446b255ebc9571397df63323d242f0270072a72f68d8febb44feb07c7e12d780656b0d18349f7f389a54bbdf54f970990b2451fb
7
+ data.tar.gz: 63ba12e182757008a631ee76551aa43570b97c5ba96787d83dbe1d5b3b5b5808a3a2fb9c2e26e1252febbad15855c4463c1fe531ffbc0dc7604ec9a79a2e52d5
@@ -46,6 +46,14 @@ module Pkg
46
46
  source_package_formats: DEBIAN_SOURCE_FORMATS,
47
47
  repo: true,
48
48
  },
49
+ '11' => {
50
+ codename: 'bullseye',
51
+ architectures: ['amd64'],
52
+ source_architecture: 'source',
53
+ package_format: 'deb',
54
+ source_package_formats: DEBIAN_SOURCE_FORMATS,
55
+ repo: true,
56
+ },
49
57
  },
50
58
 
51
59
  'el' => {
@@ -1,41 +1,71 @@
1
1
  module Pkg::Sign::Dmg
2
2
  module_function
3
3
 
4
- def sign(target_dir = 'pkg')
5
- use_identity = "-i #{Pkg::Config.osx_signing_ssh_key}" unless Pkg::Config.osx_signing_ssh_key.nil?
6
-
7
- if Pkg::Config.osx_signing_server =~ /@/
8
- host_string = "#{Pkg::Config.osx_signing_server}"
9
- else
10
- host_string = "#{ENV['USER']}@#{Pkg::Config.osx_signing_server}"
4
+ def sign(pkg_directory = 'pkg')
5
+ use_identity = ''
6
+ unless Pkg::Config.osx_signing_ssh_key.nil?
7
+ use_identity = "-i #{Pkg::Config.osx_signing_ssh_key}"
11
8
  end
9
+
10
+ host_string = "#{ENV['USER']}@#{Pkg::Config.osx_signing_server}"
11
+ host_string = "#{Pkg::Config.osx_signing_server}" if Pkg::Config.osx_signing_server =~ /@/
12
+
12
13
  ssh_host_string = "#{use_identity} #{host_string}"
13
14
  rsync_host_string = "-e 'ssh #{use_identity}' #{host_string}"
14
15
 
15
- work_dir = "/tmp/#{Pkg::Util.rand_string}"
16
- mount = File.join(work_dir, "mount")
17
- signed = File.join(work_dir, "signed")
18
- Pkg::Util::Net.remote_execute(ssh_host_string, "mkdir -p #{mount} #{signed}")
19
- dmgs = Dir.glob("#{target_dir}/apple/**/*.dmg")
20
- Pkg::Util::Net.rsync_to(dmgs.join(" "), rsync_host_string, work_dir)
21
- Pkg::Util::Net.remote_execute(ssh_host_string, %Q[for dmg in #{dmgs.map { |d| File.basename(d, ".dmg") }.join(" ")}; do
22
- /usr/bin/hdiutil attach #{work_dir}/$dmg.dmg -mountpoint #{mount} -nobrowse -quiet ;
23
- /usr/bin/security -q unlock-keychain -p "#{Pkg::Config.osx_signing_keychain_pw}" "#{Pkg::Config.osx_signing_keychain}" ;
24
- for pkg in $(ls #{mount}/*.pkg | xargs -n 1 basename); do
25
- if /usr/sbin/pkgutil --check-signature #{mount}/$pkg ; then
26
- echo "$pkg is already signed, skipping . . ." ;
27
- cp #{mount}/$pkg #{signed}/$pkg ;
28
- else
29
- /usr/bin/productsign --keychain "#{Pkg::Config.osx_signing_keychain}" --sign "#{Pkg::Config.osx_signing_cert}" #{mount}/$pkg #{signed}/$pkg ;
30
- fi
31
- done
32
- /usr/bin/hdiutil detach #{mount} -quiet ;
33
- /bin/rm #{work_dir}/$dmg.dmg ;
34
- /usr/bin/hdiutil create -volname $dmg -srcfolder #{signed}/ #{work_dir}/$dmg.dmg ;
35
- /bin/rm #{signed}/* ; done])
36
- dmgs.each do | dmg |
37
- Pkg::Util::Net.rsync_from("#{work_dir}/#{File.basename(dmg)}", rsync_host_string, File.dirname(dmg))
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}."
23
+ exit 1
24
+ end
25
+
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))
38
67
  end
39
- Pkg::Util::Net.remote_execute(ssh_host_string, "if [ -d '#{work_dir}' ]; then rm -rf '#{work_dir}'; fi")
68
+
69
+ Pkg::Util::Net.remote_execute(ssh_host_string, "rm -rf '#{remote_working_directory}'")
40
70
  end
41
71
  end
@@ -36,7 +36,7 @@ describe 'Pkg::Platforms' do
36
36
 
37
37
  describe '#codenames' do
38
38
  it 'should return all codenames for a given platform' do
39
- codenames = ['focal', 'bionic', 'buster', 'cosmic', 'jessie', 'stretch', 'trusty', 'xenial']
39
+ codenames = ['focal', 'bionic', 'bullseye', 'buster', 'cosmic', 'jessie', 'stretch', 'trusty', 'xenial']
40
40
  expect(Pkg::Platforms.codenames).to match_array(codenames)
41
41
  end
42
42
  end
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.77
4
+ version: 0.99.78
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-01 00:00:00.000000000 Z
11
+ date: 2021-06-21 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_spec.rb
264
263
  - spec/lib/packaging/sign_spec.rb
265
- - spec/lib/packaging/paths_spec.rb
266
- - spec/lib/packaging/artifactory_spec.rb
267
- - spec/lib/packaging/tar_spec.rb
268
- - spec/lib/packaging/deb_spec.rb
264
+ - spec/lib/packaging/rpm/repo_spec.rb
269
265
  - spec/lib/packaging/retrieve_spec.rb
270
266
  - spec/lib/packaging/deb/repo_spec.rb
271
- - spec/lib/packaging/platforms_spec.rb
272
- - spec/lib/packaging/util/execution_spec.rb
267
+ - spec/lib/packaging/tar_spec.rb
273
268
  - spec/lib/packaging/util/jenkins_spec.rb
274
269
  - spec/lib/packaging/util/gpg_spec.rb
275
- - spec/lib/packaging/util/git_tag_spec.rb
276
- - spec/lib/packaging/util/misc_spec.rb
277
- - spec/lib/packaging/util/os_spec.rb
278
270
  - spec/lib/packaging/util/rake_utils_spec.rb
279
- - spec/lib/packaging/util/net_spec.rb
271
+ - spec/lib/packaging/util/misc_spec.rb
280
272
  - spec/lib/packaging/util/file_spec.rb
281
273
  - spec/lib/packaging/util/version_spec.rb
274
+ - spec/lib/packaging/util/os_spec.rb
282
275
  - spec/lib/packaging/util/git_spec.rb
276
+ - spec/lib/packaging/util/net_spec.rb
283
277
  - spec/lib/packaging/util/ship_spec.rb
284
- - spec/lib/packaging/config_spec.rb
285
- - spec/lib/packaging/rpm/repo_spec.rb
286
- - spec/lib/packaging/repo_spec.rb
278
+ - spec/lib/packaging/util/execution_spec.rb
279
+ - spec/lib/packaging/util/git_tag_spec.rb
287
280
  - spec/lib/packaging/gem_spec.rb
281
+ - spec/lib/packaging/deb_spec.rb
282
+ - spec/lib/packaging/repo_spec.rb
283
+ - spec/lib/packaging/platforms_spec.rb
284
+ - 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