packaging 0.108.2 → 0.109.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +0 -2
- data/lib/packaging/artifactory.rb +15 -10
- data/lib/packaging/config/validations.rb +1 -1
- data/lib/packaging/config.rb +5 -5
- data/lib/packaging/deb/repo.rb +4 -4
- data/lib/packaging/nuget.rb +1 -1
- data/lib/packaging/paths.rb +4 -3
- data/lib/packaging/sign/msi.rb +6 -8
- data/lib/packaging/util/execution.rb +1 -1
- data/lib/packaging/util/ezbake.rb +1 -1
- data/lib/packaging/util/file.rb +11 -6
- data/lib/packaging/util/net.rb +8 -12
- data/lib/packaging/util/ship.rb +17 -7
- data/lib/packaging/util/tool.rb +1 -1
- data/lib/packaging/util/version.rb +7 -5
- data/spec/lib/packaging/config_spec.rb +300 -279
- data/spec/lib/packaging/deb/repo_spec.rb +138 -76
- data/spec/lib/packaging/deb_spec.rb +28 -25
- data/spec/lib/packaging/repo_spec.rb +52 -31
- data/spec/lib/packaging/rpm/repo_spec.rb +18 -37
- data/spec/lib/packaging/sign_spec.rb +22 -43
- data/spec/lib/packaging/tar_spec.rb +48 -44
- data/spec/lib/packaging/util/execution_spec.rb +32 -32
- data/spec/lib/packaging/util/file_spec.rb +112 -75
- data/spec/lib/packaging/util/gpg_spec.rb +24 -19
- data/spec/lib/packaging/util/jenkins_spec.rb +79 -48
- data/spec/lib/packaging/util/misc_spec.rb +13 -8
- data/spec/lib/packaging/util/net_spec.rb +193 -152
- data/spec/lib/packaging/util/rake_utils_spec.rb +24 -18
- data/spec/lib/packaging_spec.rb +7 -9
- data/tasks/apple.rake +7 -8
- data/tasks/deb.rake +1 -1
- data/tasks/fetch.rake +2 -2
- data/tasks/mock.rake +3 -3
- data/tasks/nightly_repos.rake +11 -9
- data/tasks/rpm.rake +2 -3
- data/tasks/ship.rake +4 -2
- data/tasks/sign.rake +8 -10
- data/tasks/z_data_dump.rake +3 -3
- metadata +46 -33
data/tasks/fetch.rake
CHANGED
@@ -15,8 +15,8 @@ end
|
|
15
15
|
team_data_branch = Pkg::Config.team
|
16
16
|
|
17
17
|
if Pkg::Config.build_pe
|
18
|
-
project_data_branch =
|
19
|
-
team_data_branch =
|
18
|
+
project_data_branch = "pe-#{project_data_branch}" unless project_data_branch =~ /^pe-/
|
19
|
+
team_data_branch = "pe-#{team_data_branch}" unless team_data_branch =~ /^pe-/
|
20
20
|
end
|
21
21
|
|
22
22
|
# The pl:fetch task pulls down two files from the build-data repo that contain additional
|
data/tasks/mock.rake
CHANGED
@@ -158,11 +158,11 @@ def mock_template(mock_config)
|
|
158
158
|
# for example, pupent-3.4-el5-i386.cfg would become pupent-el5-i386 while pupent-el7-x86_64 would remain unmodified.
|
159
159
|
template = mock_config.sub(/([^-]*)-\d\.\d-([^-]*)-([^-]*)/, '\1-\2-\3')
|
160
160
|
template_location = File.join(File::SEPARATOR, "etc", "mock", "#{template}.cfg.erb")
|
161
|
-
if File.
|
161
|
+
if File.exist?(template_location)
|
162
162
|
return template, Pkg::Util::File.erb_file(template_location, nil, false, { :binding => binding })
|
163
|
-
else
|
164
|
-
return mock_config
|
165
163
|
end
|
164
|
+
|
165
|
+
return mock_config
|
166
166
|
end
|
167
167
|
|
168
168
|
# Determine the appropriate rpm macro definitions based on the mock config name
|
data/tasks/nightly_repos.rake
CHANGED
@@ -75,13 +75,14 @@ namespace :pl do
|
|
75
75
|
mkdir("pkg")
|
76
76
|
|
77
77
|
Dir.chdir("pkg") do
|
78
|
-
|
78
|
+
case versioning
|
79
|
+
when 'ref'
|
79
80
|
local_target = File.join(Pkg::Config.project, Pkg::Config.ref)
|
80
|
-
|
81
|
+
when 'version'
|
81
82
|
local_target = File.join(Pkg::Config.project, Pkg::Util::Version.dot_version)
|
82
83
|
end
|
83
84
|
|
84
|
-
FileUtils.mkdir_p([local_target, Pkg::Config.project
|
85
|
+
FileUtils.mkdir_p([local_target, "#{Pkg::Config.project}-latest"])
|
85
86
|
|
86
87
|
# Rake task dependencies with arguments are nuts, so we just directly
|
87
88
|
# invoke them here. We want the signed_* directories staged as
|
@@ -106,7 +107,7 @@ namespace :pl do
|
|
106
107
|
# names stay the same between runs. Their contents have the ref
|
107
108
|
# stripped off and the project replaced by $project-latest. Then the
|
108
109
|
# repos directory is a symlink to the last pushed ref's repos.
|
109
|
-
FileUtils.cp_r(File.join(local_target, "repo_configs"), Pkg::Config.project
|
110
|
+
FileUtils.cp_r(File.join(local_target, "repo_configs"), "#{Pkg::Config.project}-latest", { :preserve => true })
|
110
111
|
|
111
112
|
# Now we need to remove the ref and replace $project with
|
112
113
|
# $project-latest so that it will work as a pinned latest repo
|
@@ -114,7 +115,7 @@ namespace :pl do
|
|
114
115
|
Dir.glob("#{Pkg::Config.project}-latest/repo_configs/**/*").select { |t_config| File.file?(t_config) }.each do |config|
|
115
116
|
new_contents = File.read(config)
|
116
117
|
new_contents.gsub!(%r{#{Pkg::Config.ref}/}, "")
|
117
|
-
new_contents.gsub!(%r{#{Pkg::Config.project}/}, Pkg::Config.project
|
118
|
+
new_contents.gsub!(%r{#{Pkg::Config.project}/}, "#{Pkg::Config.project}-latest/")
|
118
119
|
new_contents.gsub!(Pkg::Config.ref, "latest")
|
119
120
|
|
120
121
|
File.open(config, "w") { |file| file.puts new_contents }
|
@@ -136,7 +137,7 @@ namespace :pl do
|
|
136
137
|
end
|
137
138
|
|
138
139
|
# Make a latest symlink for the project
|
139
|
-
FileUtils.ln_sf(File.join("..", local_target, "repos"), File.join(Pkg::Config.project
|
140
|
+
FileUtils.ln_sf(File.join("..", local_target, "repos"), File.join("#{Pkg::Config.project}-latest"), :verbose => true)
|
140
141
|
end
|
141
142
|
end
|
142
143
|
|
@@ -231,10 +232,11 @@ namespace :pl do
|
|
231
232
|
versioning = args.versioning or fail ":versioning is a required argument for #{t}"
|
232
233
|
pe_version = args.pe_version or fail ":pe_version is a required argument for #{t}"
|
233
234
|
|
234
|
-
|
235
|
+
case versioning
|
236
|
+
when 'ref'
|
235
237
|
version_string = Pkg::Config.ref
|
236
|
-
|
237
|
-
version_string =
|
238
|
+
when 'version'
|
239
|
+
version_string = Pkg::Util::Version.dot_version
|
238
240
|
end
|
239
241
|
|
240
242
|
pa_source = File.join(remote_dir, Pkg::Config.project)
|
data/tasks/rpm.rake
CHANGED
@@ -15,7 +15,7 @@ def prep_rpm_build_dir
|
|
15
15
|
if $?.success?
|
16
16
|
sh "tar -C #{temp} -xzf #{File.join(temp, tarball)} #{Pkg::Config.project}-#{Pkg::Config.version}/ext/redhat/#{Pkg::Config.project}.spec"
|
17
17
|
cp("#{temp}/#{Pkg::Config.project}-#{Pkg::Config.version}/ext/redhat/#{Pkg::Config.project}.spec", "#{temp}/SPECS/")
|
18
|
-
elsif File.
|
18
|
+
elsif File.exist?("ext/redhat/#{Pkg::Config.project}.spec.erb")
|
19
19
|
Pkg::Util::File.erb_file("ext/redhat/#{Pkg::Config.project}.spec.erb", "#{temp}/SPECS/#{Pkg::Config.project}.spec", nil, :binding => Pkg::Config.get_binding)
|
20
20
|
else
|
21
21
|
fail "Could not locate redhat spec ext/redhat/#{Pkg::Config.project}.spec or ext/redhat/#{Pkg::Config.project}.spec.erb"
|
@@ -30,7 +30,7 @@ def build_rpm(buildarg = "-bs")
|
|
30
30
|
rpm_old_version = '--define "_source_filedigest_algorithm 1" --define "_binary_filedigest_algorithm 1" \
|
31
31
|
--define "_binary_payload w9.gzdio" --define "_source_payload w9.gzdio" \
|
32
32
|
--define "_default_patch_fuzz 2"'
|
33
|
-
args = rpm_define
|
33
|
+
args = "#{rpm_define} #{rpm_old_version}"
|
34
34
|
FileUtils.mkdir_p('pkg/srpm')
|
35
35
|
if buildarg == '-ba'
|
36
36
|
FileUtils.mkdir_p('pkg/rpm')
|
@@ -63,4 +63,3 @@ namespace :package do
|
|
63
63
|
build_rpm("-ba")
|
64
64
|
end
|
65
65
|
end
|
66
|
-
|
data/tasks/ship.rake
CHANGED
@@ -680,8 +680,10 @@ namespace :pl do
|
|
680
680
|
end
|
681
681
|
|
682
682
|
# Don't deploy if the package already exists
|
683
|
-
|
684
|
-
|
683
|
+
existing_artifacts = artifactory.artifact_paths(artifact)
|
684
|
+
unless existing_artifacts.empty?
|
685
|
+
warn "Uploading '#{artifact}' to Artifactory refused. Artifact already exists here: ",
|
686
|
+
existing_artifacts.map(&:uri).join(', ')
|
685
687
|
next
|
686
688
|
end
|
687
689
|
|
data/tasks/sign.rake
CHANGED
@@ -78,18 +78,16 @@ namespace :pl do
|
|
78
78
|
|
79
79
|
desc "Sign generated debian changes files. Defaults to PL Key, pass GPG_KEY to override"
|
80
80
|
task :sign_deb_changes, :root_dir do |_t, args|
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
Pkg::Sign::Deb.sign_changes(file)
|
88
|
-
end
|
81
|
+
deb_dir = args.root_dir || $DEFAULT_DIRECTORY
|
82
|
+
change_files = Dir["#{deb_dir}/**/*.changes"]
|
83
|
+
unless change_files.empty?
|
84
|
+
Pkg::Util::Gpg.load_keychain if Pkg::Util::Tool.find_tool('keychain')
|
85
|
+
change_files.each do |file|
|
86
|
+
Pkg::Sign::Deb.sign_changes(file)
|
89
87
|
end
|
90
|
-
ensure
|
91
|
-
Pkg::Util::Gpg.kill_keychain
|
92
88
|
end
|
89
|
+
ensure
|
90
|
+
Pkg::Util::Gpg.kill_keychain
|
93
91
|
end
|
94
92
|
|
95
93
|
desc "Sign OSX packages"
|
data/tasks/z_data_dump.rake
CHANGED
@@ -37,10 +37,11 @@ namespace :pl do
|
|
37
37
|
# We want a string that is the from "@<param name>"
|
38
38
|
if param = args.param
|
39
39
|
getter = param.dup
|
40
|
-
|
40
|
+
case param[0]
|
41
|
+
when ':'
|
41
42
|
getter = param[1..-1]
|
42
43
|
param[0] = "@"
|
43
|
-
|
44
|
+
when "@"
|
44
45
|
getter = param[1..-1]
|
45
46
|
else
|
46
47
|
param.insert(0, "@")
|
@@ -62,4 +63,3 @@ namespace :pl do
|
|
62
63
|
end
|
63
64
|
end
|
64
65
|
end
|
65
|
-
|
metadata
CHANGED
@@ -1,43 +1,57 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packaging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.109.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Puppet
|
7
|
+
- Puppet By Perforce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: debug
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.0.0
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.0.0
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: rspec
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
16
30
|
requirements:
|
17
|
-
- - "
|
31
|
+
- - ">="
|
18
32
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
33
|
+
version: '0'
|
20
34
|
type: :development
|
21
35
|
prerelease: false
|
22
36
|
version_requirements: !ruby/object:Gem::Requirement
|
23
37
|
requirements:
|
24
|
-
- - "
|
38
|
+
- - ">="
|
25
39
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
40
|
+
version: '0'
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: rubocop
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
30
44
|
requirements:
|
31
|
-
- - "
|
45
|
+
- - ">="
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0
|
47
|
+
version: '0'
|
34
48
|
type: :development
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
|
-
- - "
|
52
|
+
- - ">="
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: apt_stage_artifacts
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -70,14 +84,14 @@ dependencies:
|
|
70
84
|
name: csv
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- -
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
89
|
version: 3.1.5
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- -
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: 3.1.5
|
83
97
|
- !ruby/object:Gem::Dependency
|
@@ -136,9 +150,8 @@ dependencies:
|
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
|
-
description: Packaging automation
|
140
|
-
|
141
|
-
email: info@puppetlabs.com
|
153
|
+
description: Packaging automation for Puppet FOSS projects
|
154
|
+
email: release@puppet.com
|
142
155
|
executables: []
|
143
156
|
extensions: []
|
144
157
|
extra_rdoc_files: []
|
@@ -293,30 +306,30 @@ requirements: []
|
|
293
306
|
rubygems_version: 3.0.3
|
294
307
|
signing_key:
|
295
308
|
specification_version: 4
|
296
|
-
summary: Puppet
|
309
|
+
summary: Puppet by Perforce packaging automation
|
297
310
|
test_files:
|
298
|
-
- spec/lib/
|
299
|
-
- spec/lib/packaging/platforms_spec.rb
|
300
|
-
- spec/lib/packaging/gem_spec.rb
|
301
|
-
- spec/lib/packaging/sign_spec.rb
|
311
|
+
- spec/lib/packaging_spec.rb
|
302
312
|
- spec/lib/packaging/paths_spec.rb
|
303
|
-
- spec/lib/packaging/deb/repo_spec.rb
|
304
313
|
- spec/lib/packaging/rpm/repo_spec.rb
|
305
|
-
- spec/lib/packaging/util/
|
314
|
+
- spec/lib/packaging/util/ship_spec.rb
|
306
315
|
- spec/lib/packaging/util/os_spec.rb
|
307
|
-
- spec/lib/packaging/util/
|
316
|
+
- spec/lib/packaging/util/git_spec.rb
|
317
|
+
- spec/lib/packaging/util/jenkins_spec.rb
|
318
|
+
- spec/lib/packaging/util/file_spec.rb
|
319
|
+
- spec/lib/packaging/util/rake_utils_spec.rb
|
308
320
|
- spec/lib/packaging/util/execution_spec.rb
|
309
|
-
- spec/lib/packaging/util/git_tag_spec.rb
|
310
321
|
- spec/lib/packaging/util/net_spec.rb
|
311
|
-
- spec/lib/packaging/util/ship_spec.rb
|
312
|
-
- spec/lib/packaging/util/rake_utils_spec.rb
|
313
|
-
- spec/lib/packaging/util/file_spec.rb
|
314
322
|
- spec/lib/packaging/util/version_spec.rb
|
315
323
|
- spec/lib/packaging/util/misc_spec.rb
|
316
|
-
- spec/lib/packaging/util/
|
317
|
-
- spec/lib/packaging/
|
318
|
-
- spec/lib/packaging/
|
324
|
+
- spec/lib/packaging/util/gpg_spec.rb
|
325
|
+
- spec/lib/packaging/util/git_tag_spec.rb
|
326
|
+
- spec/lib/packaging/deb/repo_spec.rb
|
327
|
+
- spec/lib/packaging/retrieve_spec.rb
|
328
|
+
- spec/lib/packaging/gem_spec.rb
|
329
|
+
- spec/lib/packaging/config_spec.rb
|
319
330
|
- spec/lib/packaging/repo_spec.rb
|
331
|
+
- spec/lib/packaging/deb_spec.rb
|
332
|
+
- spec/lib/packaging/platforms_spec.rb
|
320
333
|
- spec/lib/packaging/artifactory_spec.rb
|
321
|
-
- spec/lib/packaging/
|
322
|
-
- spec/lib/
|
334
|
+
- spec/lib/packaging/tar_spec.rb
|
335
|
+
- spec/lib/packaging/sign_spec.rb
|