packaging 0.106.0 → 0.106.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/packaging/archive.rb +2 -2
- data/lib/packaging/artifactory/extensions.rb +1 -0
- data/lib/packaging/artifactory.rb +27 -23
- data/lib/packaging/config/params.rb +191 -199
- data/lib/packaging/config/validations.rb +0 -2
- data/lib/packaging/config.rb +8 -8
- data/lib/packaging/deb/repo.rb +11 -14
- data/lib/packaging/gem.rb +2 -2
- data/lib/packaging/metrics.rb +7 -7
- data/lib/packaging/nuget.rb +0 -1
- data/lib/packaging/paths.rb +11 -13
- data/lib/packaging/platforms.rb +10 -6
- data/lib/packaging/repo.rb +11 -12
- data/lib/packaging/retrieve.rb +1 -1
- data/lib/packaging/rpm/repo.rb +8 -8
- data/lib/packaging/sign/dmg.rb +8 -7
- data/lib/packaging/sign/ips.rb +64 -32
- data/lib/packaging/sign/msi.rb +84 -112
- data/lib/packaging/sign/rpm.rb +1 -1
- data/lib/packaging/sign.rb +0 -1
- data/lib/packaging/tar.rb +2 -4
- data/lib/packaging/util/date.rb +0 -1
- data/lib/packaging/util/distribution_server.rb +2 -2
- data/lib/packaging/util/execution.rb +2 -4
- data/lib/packaging/util/file.rb +2 -3
- data/lib/packaging/util/git.rb +1 -3
- data/lib/packaging/util/git_tags.rb +3 -3
- data/lib/packaging/util/gpg.rb +3 -4
- data/lib/packaging/util/jenkins.rb +0 -3
- data/lib/packaging/util/misc.rb +1 -1
- data/lib/packaging/util/net.rb +26 -22
- data/lib/packaging/util/repo.rb +0 -1
- data/lib/packaging/util/serialization.rb +1 -2
- data/lib/packaging/util/ship.rb +3 -3
- data/lib/packaging/util/sign.rb +8 -8
- data/lib/packaging/util/tool.rb +1 -4
- data/lib/packaging/util/version.rb +1 -5
- data/lib/packaging/util.rb +1 -1
- data/lib/packaging.rb +1 -2
- data/spec/lib/packaging/platforms_spec.rb +1 -1
- data/spec/lib/packaging/sign_spec.rb +1 -1
- data/spec/lib/packaging/util/git_spec.rb +2 -2
- data/spec/lib/packaging/util/git_tag_spec.rb +5 -5
- data/tasks/30_metrics.rake +2 -2
- data/tasks/apple.rake +8 -14
- data/tasks/archive.rake +1 -2
- data/tasks/deb.rake +7 -8
- data/tasks/doc.rake +5 -3
- data/tasks/education.rake +2 -4
- data/tasks/gem.rake +20 -12
- data/tasks/jenkins.rake +27 -15
- data/tasks/jenkins_dynamic.rake +10 -10
- data/tasks/mock.rake +8 -9
- data/tasks/nightly_repos.rake +14 -14
- data/tasks/pe_ship.rake +10 -17
- data/tasks/retrieve.rake +2 -2
- data/tasks/rpm.rake +1 -1
- data/tasks/ship.rake +6 -6
- data/tasks/sign.rake +5 -5
- data/tasks/tar.rake +2 -3
- data/tasks/update.rake +2 -2
- data/tasks/vendor_gems.rake +5 -7
- data/tasks/version.rake +2 -2
- metadata +59 -31
data/tasks/mock.rake
CHANGED
@@ -37,17 +37,16 @@ def mock_artifact(mock_config, cmd_args, mockfile)
|
|
37
37
|
|
38
38
|
# Return a FileList of the build artifacts
|
39
39
|
return FileList[File.join(result_dir, '*.rpm')]
|
40
|
-
|
41
40
|
rescue RuntimeError => error
|
42
41
|
build_log = File.join(result_dir, 'build.log')
|
43
42
|
root_log = File.join(result_dir, 'root.log')
|
44
43
|
content = File.read(build_log) if File.readable?(build_log)
|
45
44
|
|
46
45
|
if File.readable?(root_log)
|
47
|
-
|
46
|
+
warn File.read(root_log)
|
48
47
|
end
|
49
48
|
if content and content.lines.count > 2
|
50
|
-
|
49
|
+
warn content
|
51
50
|
end
|
52
51
|
|
53
52
|
# Any useful info has now been gleaned from the logs in the case of a
|
@@ -99,7 +98,7 @@ def mock_el_family(mock_config)
|
|
99
98
|
family = mock_config.match(/^pupent-(\d\.\d-)?([a-z]+)([0-9]+)-(.*)$/)[2]
|
100
99
|
else
|
101
100
|
first, second = mock_config.split('-')
|
102
|
-
if
|
101
|
+
if ['el', 'fedora'].include?(first)
|
103
102
|
family = first
|
104
103
|
elsif first == 'pl'
|
105
104
|
if second.match(/^\d+$/)
|
@@ -122,7 +121,7 @@ def mock_el_ver(mock_config)
|
|
122
121
|
version = mock_config.match(/^pupent-(\d\.\d-)?([a-z]+)([0-9]+)-(.*)$/)[3]
|
123
122
|
else
|
124
123
|
first, second, third = mock_config.split('-')
|
125
|
-
if
|
124
|
+
if ['el', 'fedora'].include?(first) || (first == 'pl' && second.match(/^\d+$/))
|
126
125
|
version = second
|
127
126
|
else
|
128
127
|
version = third
|
@@ -138,11 +137,11 @@ end
|
|
138
137
|
def rpm_family_and_version
|
139
138
|
if Pkg::Config.vanagon_project
|
140
139
|
Pkg::Config.rpm_targets.split(' ').map do |target|
|
141
|
-
rpm_el_family, rpm_el_version,
|
140
|
+
rpm_el_family, rpm_el_version, = target.split('-')
|
142
141
|
"#{rpm_el_family}-#{rpm_el_version}"
|
143
142
|
end
|
144
143
|
else
|
145
|
-
Pkg::Config.final_mocks.split.map { |mock| "#{mock_el_family(mock)}-#{mock_el_ver(mock)
|
144
|
+
Pkg::Config.final_mocks.split.map { |mock| "#{mock_el_family(mock)}-#{mock_el_ver(mock)}" }
|
146
145
|
end
|
147
146
|
end
|
148
147
|
|
@@ -174,7 +173,7 @@ def mock_defines(mock_config)
|
|
174
173
|
version = mock_el_ver(mock_config)
|
175
174
|
defines = ""
|
176
175
|
if version =~ /^(4|5)$/ or family == "sles"
|
177
|
-
defines = %
|
176
|
+
defines = %(--define "dist .#{family}#{version}" \
|
178
177
|
--define "_source_filedigest_algorithm 1" \
|
179
178
|
--define "_binary_filedigest_algorithm 1" \
|
180
179
|
--define "_binary_payload w9.gzdio" \
|
@@ -318,7 +317,7 @@ end
|
|
318
317
|
def randomize_mock_config_dir(mock_config, mockfile)
|
319
318
|
# basedir will be the location of our temporary mock root
|
320
319
|
basedir = Pkg::Util::File.mktemp
|
321
|
-
chown(
|
320
|
+
chown((ENV['USER']).to_s, "mock", basedir)
|
322
321
|
# Mock requires the sticky bit be set on the basedir
|
323
322
|
chmod(02775, basedir)
|
324
323
|
mockfile ||= File.join('/', 'etc', 'mock', "#{mock_config}.cfg")
|
data/tasks/nightly_repos.rake
CHANGED
@@ -21,11 +21,11 @@ namespace :pl do
|
|
21
21
|
remote_repo = Pkg::Util::Net.remote_unpack_git_bundle(signing_server, 'HEAD', nil, signing_bundle)
|
22
22
|
build_params = Pkg::Util::Net.remote_buildparams(signing_server, Pkg::Config)
|
23
23
|
Pkg::Util::Net.rsync_to('repos', signing_server, remote_repo)
|
24
|
-
rake_command =
|
25
|
-
cd #{remote_repo} ;
|
26
|
-
#{Pkg::Util::Net.remote_bundle_install_command}
|
27
|
-
bundle exec rake pl:jenkins:sign_repos GPG_KEY=#{Pkg::Util::Gpg.key} PARAMS_FILE=#{build_params}
|
28
|
-
DOC
|
24
|
+
rake_command = <<~DOC
|
25
|
+
cd #{remote_repo} ;
|
26
|
+
#{Pkg::Util::Net.remote_bundle_install_command}
|
27
|
+
bundle exec rake pl:jenkins:sign_repos GPG_KEY=#{Pkg::Util::Gpg.key} PARAMS_FILE=#{build_params}
|
28
|
+
DOC
|
29
29
|
Pkg::Util::Net.remote_execute(signing_server, rake_command)
|
30
30
|
Pkg::Util::Net.rsync_from("#{remote_repo}/repos/", signing_server, target)
|
31
31
|
Pkg::Util::Net.remote_execute(signing_server, "rm -rf #{remote_repo}")
|
@@ -54,7 +54,7 @@ DOC
|
|
54
54
|
end
|
55
55
|
|
56
56
|
# This task should be invoked after prepare_signed_repos, so that there are repos to pack up.
|
57
|
-
task :pack_signed_repo, [
|
57
|
+
task :pack_signed_repo, %i[path_to_repo name_of_archive versioning] => ["pl:fetch"] do |t, args|
|
58
58
|
# path_to_repo should be relative to ./pkg
|
59
59
|
path_to_repo = args.path_to_repo or fail ":path_to_repo is a required argument for #{t}"
|
60
60
|
name_of_archive = args.name_of_archive or fail ":name_of_archive is a required argument for #{t}"
|
@@ -62,13 +62,13 @@ DOC
|
|
62
62
|
Pkg::Repo.create_signed_repo_archive(path_to_repo, name_of_archive, versioning)
|
63
63
|
end
|
64
64
|
|
65
|
-
task :pack_all_signed_repos_individually, [
|
65
|
+
task :pack_all_signed_repos_individually, %i[name_of_archive versioning] => ["pl:fetch"] do |t, args|
|
66
66
|
name_of_archive = args.name_of_archive or fail ":name_of_archive is a required argument for #{t}"
|
67
67
|
versioning = args.versioning or fail ":versioning is a required argument for #{t}"
|
68
68
|
Pkg::Repo.create_all_repo_archives(name_of_archive, versioning)
|
69
69
|
end
|
70
70
|
|
71
|
-
task :prepare_signed_repos, [
|
71
|
+
task :prepare_signed_repos, %i[target_host target_prefix versioning] => ["clean", "pl:fetch"] do |t, args|
|
72
72
|
target_host = args.target_host or fail ":target_host is a required argument to #{t}"
|
73
73
|
target_prefix = args.target_prefix or fail ":target_prefix is a required argument for #{t}"
|
74
74
|
versioning = args.versioning or fail ":versioning is a required argument for #{t}"
|
@@ -140,7 +140,7 @@ DOC
|
|
140
140
|
end
|
141
141
|
end
|
142
142
|
|
143
|
-
task :deploy_signed_repos, [
|
143
|
+
task :deploy_signed_repos, %i[target_host target_basedir foss_only] => "pl:fetch" do |t, args|
|
144
144
|
target_host = args.target_host or fail ":target_host is a required argument to #{t}"
|
145
145
|
target_basedir = args.target_basedir or fail ":target_basedir is a required argument to #{t}"
|
146
146
|
include_paths = []
|
@@ -158,11 +158,11 @@ DOC
|
|
158
158
|
|
159
159
|
# Get the directories together - we need to figure out which bits to ship based on the include_path
|
160
160
|
# First we get the build itself
|
161
|
-
Pkg::Util::Execution.capture3(%(find #{include_paths.map { |path| "pkg/#{Pkg::Config.project}/**/#{path}" }.join(' ')
|
161
|
+
Pkg::Util::Execution.capture3(%(find #{include_paths.map { |path| "pkg/#{Pkg::Config.project}/**/#{path}" }.join(' ')} | sort > include_file))
|
162
162
|
Pkg::Util::Execution.capture3(%(mkdir -p tmp && tar -T include_file -cf - | (cd ./tmp && tar -xf -)))
|
163
163
|
|
164
164
|
# Then we find grab the appropriate meta-data only
|
165
|
-
Pkg::Util::Execution.capture3(%(find #{include_paths.map { |path| "pkg/#{Pkg::Config.project}-latest/#{path}" unless path.include?
|
165
|
+
Pkg::Util::Execution.capture3(%(find #{include_paths.map { |path| "pkg/#{Pkg::Config.project}-latest/#{path}" unless path.include? 'repos' }.join(' ')} | sort > include_file_latest))
|
166
166
|
|
167
167
|
#include /repos in the include_file_latest so we correctly include the symlink in the final file list to ship
|
168
168
|
Pkg::Util::Execution.capture3(%(echo "pkg/#{Pkg::Config.project}-latest/repos" >> include_file_latest))
|
@@ -173,7 +173,7 @@ DOC
|
|
173
173
|
# First we ship the latest and clean up any repo-configs that are no longer valid with --delete-after
|
174
174
|
Pkg::Util::Net.rsync_to("#{Pkg::Config.project}-latest", target_host, target_basedir, extra_flags: ["--delete-after", "--keep-dirlinks"])
|
175
175
|
# Then we ship the sha version with default rsync flags
|
176
|
-
Pkg::Util::Net.rsync_to(
|
176
|
+
Pkg::Util::Net.rsync_to(Pkg::Config.project.to_s, target_host, target_basedir)
|
177
177
|
end
|
178
178
|
|
179
179
|
puts "'#{Pkg::Config.ref}' of '#{Pkg::Config.project}' has been shipped to '#{target_host}:#{target_basedir}'"
|
@@ -225,7 +225,7 @@ DOC
|
|
225
225
|
# a github ref. Valid values are 'version' and 'ref'
|
226
226
|
# @param pe_version the PE-version to deploy to.
|
227
227
|
# ex: 2015.2
|
228
|
-
task :link_signed_repos, [
|
228
|
+
task :link_signed_repos, %i[target_host remote_dir versioning pe_version] => ["pl:fetch"] do |t, args|
|
229
229
|
target_host = args.target_host or fail ":target_host is a required argument for #{t}"
|
230
230
|
remote_dir = args.remote_dir or fail ":remote_dir is a required argument for #{t}"
|
231
231
|
versioning = args.versioning or fail ":versioning is a required argument for #{t}"
|
@@ -255,7 +255,7 @@ DOC
|
|
255
255
|
Pkg::Util::RakeUtils.invoke_task("pl:jenkins:generate_signed_repos", 'nightly')
|
256
256
|
end
|
257
257
|
|
258
|
-
task :deploy_nightly_repos, [
|
258
|
+
task :deploy_nightly_repos, %i[target_host target_basedir] => ["pl:fetch"] do |t, args|
|
259
259
|
target_host = args.target_host or fail ":target_host is a required argument to #{t}"
|
260
260
|
target_basedir = args.target_basedir or fail ":target_basedir is a required argument to #{t}"
|
261
261
|
Pkg::Util::RakeUtils.invoke_task("pl:jenkins:prepare_signed_repos", target_host, 'nightly', 'ref')
|
data/tasks/pe_ship.rake
CHANGED
@@ -74,7 +74,6 @@ if Pkg::Config.build_pe
|
|
74
74
|
Rake::Task["pe:remote:apt"].reenable
|
75
75
|
Rake::Task["pe:remote:apt"].invoke(target_path, dist)
|
76
76
|
end
|
77
|
-
|
78
77
|
end
|
79
78
|
end
|
80
79
|
|
@@ -111,19 +110,15 @@ if Pkg::Config.build_pe
|
|
111
110
|
end
|
112
111
|
|
113
112
|
unless Dir["pkg/pe/deb/#{dist}/*_all.deb"].empty?
|
114
|
-
Pkg::Platforms.arches_for_codename(dist).each do |
|
115
|
-
Pkg::Util::Net.rsync_to("pkg/pe/deb/#{dist}/*_all.deb", Pkg::Config.apt_host, "#{base_path}/#{dist}-#{
|
113
|
+
Pkg::Platforms.arches_for_codename(dist).each do |a|
|
114
|
+
Pkg::Util::Net.rsync_to("pkg/pe/deb/#{dist}/*_all.deb", Pkg::Config.apt_host, "#{base_path}/#{dist}-#{a}/")
|
116
115
|
end
|
117
116
|
end
|
118
117
|
|
119
|
-
unless Dir["pkg/pe/deb/#{dist}/*"].
|
118
|
+
unless Dir["pkg/pe/deb/#{dist}/*"].reject { |i| i =~ /^.*\.deb$/ }.empty?
|
120
119
|
# Ship source files to source dir, e.g. 'squeeze-source'
|
121
120
|
Pkg::Util::Net.rsync_to("pkg/pe/deb/#{dist}/*", Pkg::Config.apt_host, "#{base_path}/#{dist}-source", extra_flags: ["--exclude '*.deb'", "--ignore-existing"])
|
122
121
|
end
|
123
|
-
|
124
|
-
files = Dir["pkg/pe/deb/#{dist}/*{_#{arch},all}.deb"].map { |f| "#{archive_path}/#{File.basename(f)}" }
|
125
|
-
|
126
|
-
files += Dir["pkg/pe/deb/#{dist}/*"].select { |f| f !~ /^.*\.deb$/ }.map { |f| "#{base_path}/#{dist}-source/#{File.basename(f)}" }
|
127
122
|
end
|
128
123
|
end
|
129
124
|
# If this is not a feature branch or release branch, we need to link the
|
@@ -137,14 +132,13 @@ if Pkg::Config.build_pe
|
|
137
132
|
namespace :remote do
|
138
133
|
desc "Update remote rpm repodata for PE on #{Pkg::Config.yum_host}"
|
139
134
|
task :update_yum_repo => "pl:fetch" do
|
140
|
-
|
141
135
|
# Paths to the repos.
|
142
136
|
repo_base_path = Pkg::Config.yum_target_path
|
143
137
|
|
144
138
|
# This entire command is going to be passed across SSH, but it's unwieldy on a
|
145
139
|
# single line. By breaking it into a series of concatenated strings, we can maintain
|
146
140
|
# a semblance of formatting and structure (nevermind readability).
|
147
|
-
command = %(for dir in #{repo_base_path}/{#{rpm_family_and_version.join(
|
141
|
+
command = %(for dir in #{repo_base_path}/{#{rpm_family_and_version.join(',')}}-*; do)
|
148
142
|
command += %( sudo createrepo --checksum=sha --checkts --update --delta-workers=0 --quiet --database --update $dir; )
|
149
143
|
command += %(done; )
|
150
144
|
command += %(sync)
|
@@ -159,7 +153,7 @@ if Pkg::Config.build_pe
|
|
159
153
|
incoming_dir or fail "Adding packages to apt repo requires an incoming directory"
|
160
154
|
Pkg::Util::RakeUtils.invoke_task("pl:fetch")
|
161
155
|
|
162
|
-
cmd = <<-
|
156
|
+
cmd = <<-COMMAND
|
163
157
|
if ! flock --wait 1200 /opt/tools/aptly/db/LOCK --command /bin/true; then
|
164
158
|
echo "Unable to acquire aptly lock, giving up" 1>&2
|
165
159
|
exit 1
|
@@ -170,12 +164,12 @@ if Pkg::Config.build_pe
|
|
170
164
|
else
|
171
165
|
aptly publish repo -gpg-key=\"8BBEB79B\" #{Pkg::Config::pe_version}-#{dist} #{Pkg::Config::pe_version}
|
172
166
|
fi
|
173
|
-
|
167
|
+
COMMAND
|
174
168
|
stdout, stderr = Pkg::Util::Net.remote_execute(
|
175
|
-
|
169
|
+
Pkg::Config.apt_host,
|
176
170
|
cmd,
|
177
171
|
{ capture_output: true }
|
178
|
-
|
172
|
+
)
|
179
173
|
|
180
174
|
output = stdout.to_s + stderr.to_s
|
181
175
|
|
@@ -190,7 +184,6 @@ if Pkg::Config.build_pe
|
|
190
184
|
|
191
185
|
puts "Cleaning up apt repo 'incoming' dir on #{Pkg::Config.apt_host}"
|
192
186
|
Pkg::Util::Net.remote_execute(Pkg::Config.apt_host, "rm -r #{incoming_dir}")
|
193
|
-
|
194
187
|
end
|
195
188
|
|
196
189
|
# Throw more tires on the fire
|
@@ -200,7 +193,7 @@ if Pkg::Config.build_pe
|
|
200
193
|
repo_base_path = Pkg::Config.yum_target_path
|
201
194
|
feature_repo_path = Pkg::Config.yum_target_path(true)
|
202
195
|
pkgs = FileList['pkg/pe/rpm/**/*.rpm'].select { |path| path.gsub!('pkg/pe/rpm/', '') }
|
203
|
-
command
|
196
|
+
command = %(for pkg in #{pkgs.join(' ')}; do)
|
204
197
|
command += %( sudo ln -f "#{repo_base_path}/$( dirname ${pkg} )/$( basename ${pkg} )" "#{feature_repo_path}/$( dirname ${pkg} )/" ; )
|
205
198
|
command += %(done; )
|
206
199
|
command += %(sync)
|
@@ -214,7 +207,7 @@ if Pkg::Config.build_pe
|
|
214
207
|
base_path = Pkg::Config.apt_target_path
|
215
208
|
feature_base_path = Pkg::Config.apt_target_path(true)
|
216
209
|
pkgs = FileList["pkg/pe/deb/**/*.deb"].select { |path| path.gsub!('pkg/pe/deb/', '') }
|
217
|
-
command
|
210
|
+
command = %(for pkg in #{pkgs.join(' ')}; do)
|
218
211
|
command += %( sudo ln -f "#{base_path}/$( dirname ${pkg} )-amd64/$( basename ${pkg} )" "#{feature_base_path}/$( dirname ${pkg} )-amd64/" ; )
|
219
212
|
command += %(done; )
|
220
213
|
command += %(sync)
|
data/tasks/retrieve.rake
CHANGED
@@ -13,7 +13,7 @@
|
|
13
13
|
namespace :pl do
|
14
14
|
namespace :jenkins do
|
15
15
|
desc "Retrieve packages from the distribution server\. Check out commit to retrieve"
|
16
|
-
task :retrieve, [
|
16
|
+
task :retrieve, %i[remote_target local_target] => 'pl:fetch' do |t, args|
|
17
17
|
unless Pkg::Config.project
|
18
18
|
fail "You must set the 'project' in build_defaults.yaml or with the 'PROJECT_OVERRIDE' environment variable."
|
19
19
|
end
|
@@ -37,7 +37,7 @@ if Pkg::Config.build_pe
|
|
37
37
|
namespace :pe do
|
38
38
|
namespace :jenkins do
|
39
39
|
desc "Retrieve packages from the distribution server\. Check out commit to retrieve"
|
40
|
-
task :retrieve, [
|
40
|
+
task :retrieve, %i[remote_target local_target] => 'pl:fetch' do |t, args|
|
41
41
|
unless Pkg::Config.project
|
42
42
|
fail "You must set the 'project' in build_defaults.yaml or with the 'PROJECT_OVERRIDE' environment variable."
|
43
43
|
end
|
data/tasks/rpm.rake
CHANGED
data/tasks/ship.rake
CHANGED
@@ -123,7 +123,7 @@ namespace :pl do
|
|
123
123
|
end
|
124
124
|
|
125
125
|
desc "Update remote ips repository on #{Pkg::Config.ips_host}"
|
126
|
-
task :update_ips_repo
|
126
|
+
task :update_ips_repo => 'pl:fetch' do
|
127
127
|
if Dir['pkg/ips/pkgs/**/*'].empty? && Dir['pkg/solaris/11/**/*'].empty?
|
128
128
|
$stdout.puts "Error: there aren't any p5p packages in pkg/ips/pkgs or pkg/solaris/11."
|
129
129
|
next
|
@@ -132,11 +132,11 @@ namespace :pl do
|
|
132
132
|
source_dir = 'pkg/solaris/11/'
|
133
133
|
source_dir = 'pkg/ips/pkgs/' unless Dir['pkg/ips/pkgs/**/*'].empty?
|
134
134
|
|
135
|
-
tmpdir,
|
136
|
-
|
135
|
+
tmpdir, = Pkg::Util::Net.remote_execute(
|
136
|
+
Pkg::Config.ips_host,
|
137
137
|
'mktemp -d -p /var/tmp',
|
138
138
|
{ capture_output: true }
|
139
|
-
|
139
|
+
)
|
140
140
|
tmpdir.chomp!
|
141
141
|
|
142
142
|
Pkg::Util::Net.rsync_to(source_dir, Pkg::Config.ips_host, tmpdir)
|
@@ -372,7 +372,8 @@ namespace :pl do
|
|
372
372
|
desc "Ship nightly debs to #{Pkg::Config.apt_signing_server}"
|
373
373
|
task ship_nightly_debs: 'pl:fetch' do
|
374
374
|
Pkg::Util::Ship.ship_debs(
|
375
|
-
'pkg', Pkg::Config.nonfinal_apt_repo_staging_path, chattr: false, nonfinal: true
|
375
|
+
'pkg', Pkg::Config.nonfinal_apt_repo_staging_path, chattr: false, nonfinal: true
|
376
|
+
)
|
376
377
|
end
|
377
378
|
|
378
379
|
## This is the new-style apt stager
|
@@ -635,7 +636,6 @@ namespace :pl do
|
|
635
636
|
puts " * #{err}"
|
636
637
|
end
|
637
638
|
end
|
638
|
-
|
639
639
|
end
|
640
640
|
|
641
641
|
# It is odd to namespace this ship task under :jenkins, but this task is
|
data/tasks/sign.rake
CHANGED
@@ -139,11 +139,11 @@ namespace :pl do
|
|
139
139
|
remote_repo = Pkg::Util::Net.remote_unpack_git_bundle(Pkg::Config.signing_server, 'HEAD', nil, signing_bundle)
|
140
140
|
build_params = Pkg::Util::Net.remote_buildparams(Pkg::Config.signing_server, Pkg::Config)
|
141
141
|
Pkg::Util::Net.rsync_to(root_dir, Pkg::Config.signing_server, remote_repo)
|
142
|
-
rake_command =
|
143
|
-
cd #{remote_repo} ;
|
144
|
-
#{Pkg::Util::Net.remote_bundle_install_command}
|
145
|
-
bundle exec rake #{sign_tasks.map { |task| task + "[#{root_dir}]" }.join(
|
146
|
-
DOC
|
142
|
+
rake_command = <<~DOC
|
143
|
+
cd #{remote_repo} ;
|
144
|
+
#{Pkg::Util::Net.remote_bundle_install_command}
|
145
|
+
bundle exec rake #{sign_tasks.map { |task| task + "[#{root_dir}]" }.join(' ')} PARAMS_FILE=#{build_params}
|
146
|
+
DOC
|
147
147
|
Pkg::Util::Net.remote_execute(Pkg::Config.signing_server, rake_command)
|
148
148
|
Pkg::Util::Net.rsync_from("#{remote_repo}/#{root_dir}/", Pkg::Config.signing_server, "#{root_dir}/")
|
149
149
|
Pkg::Util::Net.remote_execute(Pkg::Config.signing_server, "rm -rf #{remote_repo}")
|
data/tasks/tar.rake
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
namespace :package do
|
2
2
|
desc "Create a source tar archive"
|
3
3
|
task :tar => [:clean] do
|
4
|
-
|
5
4
|
if Pkg::Config.pre_tar_task
|
6
5
|
Pkg::Util::RakeUtils.invoke_task(Pkg::Config.pre_tar_task)
|
7
6
|
end
|
@@ -14,11 +13,11 @@ namespace :package do
|
|
14
13
|
# by the tar class. Otherwise, we load what we consider to be the "default"
|
15
14
|
# set, which is default for historical purposes.
|
16
15
|
#
|
17
|
-
tar.templates ||= Dir[File.join(Pkg::Config.project_root, "ext", "**", "*.erb")].
|
16
|
+
tar.templates ||= Dir[File.join(Pkg::Config.project_root, "ext", "**", "*.erb")].reject { |i| i =~ /ext\/packaging|ext\/osx/ }
|
18
17
|
|
19
18
|
tar.pkg!
|
20
19
|
|
21
|
-
puts "Wrote #{
|
20
|
+
puts "Wrote #{%x(pwd).strip}/pkg/#{Pkg::Config.project}-#{Pkg::Config.version}.tar.gz"
|
22
21
|
end
|
23
22
|
end
|
24
23
|
|
data/tasks/update.rake
CHANGED
@@ -5,8 +5,8 @@ namespace :package do
|
|
5
5
|
remote = Pkg::Config.packaging_url.split(' ')[0]
|
6
6
|
branch = Pkg::Config.packaging_url.split(' ')[1].split('=')[1]
|
7
7
|
if branch.nil? or remote.nil?
|
8
|
-
|
9
|
-
|
8
|
+
warn "Couldn't parse the packaging repo URL from 'ext/build_defaults.yaml'."
|
9
|
+
warn "Normally this is a string in the format git@github.com:<User>/<packaging_repo> --branch=<branch>"
|
10
10
|
else
|
11
11
|
Pkg::Util::Git.pull(remote, branch)
|
12
12
|
end
|
data/tasks/vendor_gems.rake
CHANGED
@@ -8,7 +8,7 @@ if Pkg::Config.pre_tar_task
|
|
8
8
|
require 'bundler'
|
9
9
|
|
10
10
|
class UI
|
11
|
-
LEVELS = %w
|
11
|
+
LEVELS = %w[silent error warn confirm info debug]
|
12
12
|
|
13
13
|
def warn(message, newline = nil)
|
14
14
|
puts message
|
@@ -30,15 +30,13 @@ if Pkg::Config.pre_tar_task
|
|
30
30
|
puts message
|
31
31
|
end
|
32
32
|
|
33
|
-
def confirm(message, newline = nil)
|
34
|
-
end
|
33
|
+
def confirm(message, newline = nil); end
|
35
34
|
|
36
35
|
def debug?
|
37
36
|
true
|
38
37
|
end
|
39
38
|
|
40
|
-
def ask(message)
|
41
|
-
end
|
39
|
+
def ask(message); end
|
42
40
|
|
43
41
|
def quiet?
|
44
42
|
false
|
@@ -54,12 +52,12 @@ if Pkg::Config.pre_tar_task
|
|
54
52
|
end
|
55
53
|
|
56
54
|
def silence
|
57
|
-
old_level
|
55
|
+
old_level = @level
|
56
|
+
@level = "silent"
|
58
57
|
yield
|
59
58
|
ensure
|
60
59
|
@level = old_level
|
61
60
|
end
|
62
|
-
|
63
61
|
end
|
64
62
|
|
65
63
|
class RGProxy < ::Gem::SilentUI
|
data/tasks/version.rake
CHANGED
@@ -24,8 +24,8 @@ namespace :package do
|
|
24
24
|
end
|
25
25
|
|
26
26
|
# A set of tasks for printing the version
|
27
|
-
[
|
28
|
-
task
|
27
|
+
%i[version rpmversion rpmrelease debversion release].each do |task|
|
28
|
+
task task.to_s do
|
29
29
|
$stdout.puts Pkg::Config.instance_variable_get("@#{task}")
|
30
30
|
end
|
31
31
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: packaging
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.106.
|
4
|
+
version: 0.106.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: pry
|
14
|
+
name: pry
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,47 +25,47 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: pry-byebug
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: 2.14.1
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: 2.14.1
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: rubocop
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - "
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
61
|
+
version: '0.49'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- - "
|
66
|
+
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '0'
|
68
|
+
version: '0.49'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: apt_stage_artifacts
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,14 +86,14 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '3'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '3'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: csv
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,7 +109,21 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 3.1.5
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: googleauth
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: google-cloud-storage
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
@@ -136,6 +150,20 @@ dependencies:
|
|
136
150
|
- - ">="
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '12.3'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: release-metrics
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
139
167
|
description: Packaging automation written in Rake and Ruby. Easily build native packages
|
140
168
|
for most platforms with a few data files and git.
|
141
169
|
email: info@puppetlabs.com
|
@@ -297,26 +325,26 @@ summary: Puppet Labs' packaging automation
|
|
297
325
|
test_files:
|
298
326
|
- spec/lib/packaging_spec.rb
|
299
327
|
- spec/lib/packaging/platforms_spec.rb
|
300
|
-
- spec/lib/packaging/
|
301
|
-
- spec/lib/packaging/rpm/repo_spec.rb
|
328
|
+
- spec/lib/packaging/deb/repo_spec.rb
|
302
329
|
- spec/lib/packaging/artifactory_spec.rb
|
303
330
|
- spec/lib/packaging/gem_spec.rb
|
304
|
-
- spec/lib/packaging/
|
331
|
+
- spec/lib/packaging/deb_spec.rb
|
332
|
+
- spec/lib/packaging/retrieve_spec.rb
|
305
333
|
- spec/lib/packaging/sign_spec.rb
|
306
334
|
- spec/lib/packaging/config_spec.rb
|
335
|
+
- spec/lib/packaging/util/git_spec.rb
|
336
|
+
- spec/lib/packaging/util/execution_spec.rb
|
307
337
|
- spec/lib/packaging/util/gpg_spec.rb
|
338
|
+
- spec/lib/packaging/util/rake_utils_spec.rb
|
339
|
+
- spec/lib/packaging/util/git_tag_spec.rb
|
340
|
+
- spec/lib/packaging/util/ship_spec.rb
|
308
341
|
- spec/lib/packaging/util/jenkins_spec.rb
|
309
342
|
- spec/lib/packaging/util/net_spec.rb
|
310
|
-
- spec/lib/packaging/util/git_tag_spec.rb
|
311
|
-
- spec/lib/packaging/util/rake_utils_spec.rb
|
312
343
|
- spec/lib/packaging/util/os_spec.rb
|
313
|
-
- spec/lib/packaging/util/misc_spec.rb
|
314
|
-
- spec/lib/packaging/util/execution_spec.rb
|
315
|
-
- spec/lib/packaging/util/git_spec.rb
|
316
|
-
- spec/lib/packaging/util/ship_spec.rb
|
317
344
|
- spec/lib/packaging/util/version_spec.rb
|
318
345
|
- spec/lib/packaging/util/file_spec.rb
|
319
|
-
- spec/lib/packaging/
|
346
|
+
- spec/lib/packaging/util/misc_spec.rb
|
347
|
+
- spec/lib/packaging/paths_spec.rb
|
348
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
320
349
|
- spec/lib/packaging/repo_spec.rb
|
321
|
-
- spec/lib/packaging/
|
322
|
-
- spec/lib/packaging/deb/repo_spec.rb
|
350
|
+
- spec/lib/packaging/tar_spec.rb
|