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 +4 -4
- data/lib/packaging/platforms.rb +8 -0
- data/lib/packaging/sign/dmg.rb +61 -31
- data/spec/lib/packaging/platforms_spec.rb +1 -1
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0340bf3301e12ac79afefe26c69ef76c9b826e03804d114fa00be1e94c558214
|
4
|
+
data.tar.gz: d79eb4d7206d75e38011f783890e8288f4ee12dfefba2c990e511ccbe508e847
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25a54450f869fc920f1308d6446b255ebc9571397df63323d242f0270072a72f68d8febb44feb07c7e12d780656b0d18349f7f389a54bbdf54f970990b2451fb
|
7
|
+
data.tar.gz: 63ba12e182757008a631ee76551aa43570b97c5ba96787d83dbe1d5b3b5b5808a3a2fb9c2e26e1252febbad15855c4463c1fe531ffbc0dc7604ec9a79a2e52d5
|
data/lib/packaging/platforms.rb
CHANGED
@@ -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' => {
|
data/lib/packaging/sign/dmg.rb
CHANGED
@@ -1,41 +1,71 @@
|
|
1
1
|
module Pkg::Sign::Dmg
|
2
2
|
module_function
|
3
3
|
|
4
|
-
def sign(
|
5
|
-
use_identity =
|
6
|
-
|
7
|
-
|
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
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dmgs = Dir.glob("#{
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
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
|
-
|
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.
|
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-
|
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/
|
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/
|
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/
|
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/
|
285
|
-
- spec/lib/packaging/
|
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
|