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 +4 -4
- data/lib/packaging/artifactory.rb +0 -2
- data/lib/packaging/config/params.rb +1 -0
- data/lib/packaging/platforms.rb +1 -1
- data/lib/packaging/sign/dmg.rb +58 -50
- data/spec/lib/packaging/config_spec.rb +1 -0
- data/tasks/gem.rake +17 -16
- data/tasks/ship.rake +11 -1
- metadata +19 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffbdc37d8e8208db94c8f3ac323ca856d173099795d58c3406b28c06ed04b4a9
|
4
|
+
data.tar.gz: 6a261865330a3b86e8795cc3ad586552b744c41e8ce277ce5b7b1595af12bdb5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/packaging/platforms.rb
CHANGED
data/lib/packaging/sign/dmg.rb
CHANGED
@@ -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
|
-
|
17
|
-
|
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
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
/
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
/usr/bin/
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
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
|
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
|
43
|
-
s.name = Pkg::Config.gem_name
|
44
|
-
s.version = Pkg::Config.gemversion
|
45
|
-
s.author = Pkg::Config.author
|
46
|
-
s.email = Pkg::Config.email
|
47
|
-
s.homepage = Pkg::Config.homepage
|
48
|
-
s.summary = Pkg::Config.summary
|
49
|
-
s.summary = Pkg::Config.gem_summary
|
50
|
-
s.description = Pkg::Config.description
|
51
|
-
s.description = Pkg::Config.gem_description
|
52
|
-
s.files = glob_gem_files
|
53
|
-
s.executables = Pkg::Config.gem_executables
|
54
|
-
s.require_path = Pkg::Config.gem_require_path
|
55
|
-
s.required_ruby_version = Pkg::Config.gem_required_ruby_version
|
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(' ')]
|
58
|
-
s.
|
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 }
|
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.
|
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-
|
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/
|
264
|
-
- spec/lib/packaging/
|
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/
|
268
|
-
- spec/lib/packaging/
|
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/
|
281
|
-
- spec/lib/packaging/
|
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
|