packaging 0.108.1 → 0.109.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/rpm/repo.rb +26 -8
- data/lib/packaging/sign/msi.rb +6 -8
- data/lib/packaging/sign/rpm.rb +8 -6
- data/lib/packaging/util/execution.rb +1 -1
- data/lib/packaging/util/ezbake.rb +1 -1
- data/lib/packaging/util/file.rb +4 -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 +109 -71
- 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 +48 -35
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.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.0
|
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-02-28 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
311
|
- spec/lib/packaging_spec.rb
|
299
|
-
- spec/lib/packaging/sign_spec.rb
|
300
|
-
- spec/lib/packaging/artifactory_spec.rb
|
301
|
-
- spec/lib/packaging/retrieve_spec.rb
|
302
|
-
- spec/lib/packaging/config_spec.rb
|
303
|
-
- spec/lib/packaging/rpm/repo_spec.rb
|
304
|
-
- spec/lib/packaging/deb_spec.rb
|
305
|
-
- spec/lib/packaging/repo_spec.rb
|
306
|
-
- spec/lib/packaging/gem_spec.rb
|
307
|
-
- spec/lib/packaging/deb/repo_spec.rb
|
308
|
-
- spec/lib/packaging/tar_spec.rb
|
309
312
|
- spec/lib/packaging/paths_spec.rb
|
310
|
-
- spec/lib/packaging/
|
311
|
-
- spec/lib/packaging/util/jenkins_spec.rb
|
313
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
312
314
|
- spec/lib/packaging/util/ship_spec.rb
|
313
|
-
- spec/lib/packaging/util/version_spec.rb
|
314
315
|
- spec/lib/packaging/util/os_spec.rb
|
315
|
-
- spec/lib/packaging/util/
|
316
|
-
- spec/lib/packaging/util/
|
317
|
-
- spec/lib/packaging/util/gpg_spec.rb
|
316
|
+
- spec/lib/packaging/util/git_spec.rb
|
317
|
+
- spec/lib/packaging/util/jenkins_spec.rb
|
318
318
|
- spec/lib/packaging/util/file_spec.rb
|
319
|
+
- spec/lib/packaging/util/rake_utils_spec.rb
|
320
|
+
- spec/lib/packaging/util/execution_spec.rb
|
319
321
|
- spec/lib/packaging/util/net_spec.rb
|
322
|
+
- spec/lib/packaging/util/version_spec.rb
|
320
323
|
- spec/lib/packaging/util/misc_spec.rb
|
321
|
-
- spec/lib/packaging/util/
|
322
|
-
- spec/lib/packaging/util/
|
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
|
330
|
+
- spec/lib/packaging/repo_spec.rb
|
331
|
+
- spec/lib/packaging/deb_spec.rb
|
332
|
+
- spec/lib/packaging/platforms_spec.rb
|
333
|
+
- spec/lib/packaging/artifactory_spec.rb
|
334
|
+
- spec/lib/packaging/tar_spec.rb
|
335
|
+
- spec/lib/packaging/sign_spec.rb
|