packaging 0.106.0 → 0.106.1
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 +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 -193
- 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 +48 -48
- 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 +25 -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 +42 -42
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.1
|
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-04-12 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,33 +109,33 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 3.1.5
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: rake
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: '
|
117
|
+
version: '12.3'
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: '
|
124
|
+
version: '12.3'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: release-metrics
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '0'
|
132
132
|
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '0'
|
139
139
|
description: Packaging automation written in Rake and Ruby. Easily build native packages
|
140
140
|
for most platforms with a few data files and git.
|
141
141
|
email: info@puppetlabs.com
|
@@ -296,27 +296,27 @@ specification_version: 4
|
|
296
296
|
summary: Puppet Labs' packaging automation
|
297
297
|
test_files:
|
298
298
|
- spec/lib/packaging_spec.rb
|
299
|
+
- spec/lib/packaging/retrieve_spec.rb
|
300
|
+
- spec/lib/packaging/paths_spec.rb
|
299
301
|
- spec/lib/packaging/platforms_spec.rb
|
302
|
+
- spec/lib/packaging/config_spec.rb
|
300
303
|
- spec/lib/packaging/tar_spec.rb
|
301
|
-
- spec/lib/packaging/
|
304
|
+
- spec/lib/packaging/repo_spec.rb
|
302
305
|
- spec/lib/packaging/artifactory_spec.rb
|
303
|
-
- spec/lib/packaging/
|
304
|
-
- spec/lib/packaging/
|
305
|
-
- spec/lib/packaging/sign_spec.rb
|
306
|
-
- spec/lib/packaging/config_spec.rb
|
307
|
-
- spec/lib/packaging/util/gpg_spec.rb
|
308
|
-
- spec/lib/packaging/util/jenkins_spec.rb
|
309
|
-
- 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
|
-
- spec/lib/packaging/util/os_spec.rb
|
313
|
-
- spec/lib/packaging/util/misc_spec.rb
|
314
|
-
- spec/lib/packaging/util/execution_spec.rb
|
306
|
+
- spec/lib/packaging/deb_spec.rb
|
307
|
+
- spec/lib/packaging/deb/repo_spec.rb
|
315
308
|
- spec/lib/packaging/util/git_spec.rb
|
316
|
-
- spec/lib/packaging/util/ship_spec.rb
|
317
309
|
- spec/lib/packaging/util/version_spec.rb
|
310
|
+
- spec/lib/packaging/util/os_spec.rb
|
311
|
+
- spec/lib/packaging/util/execution_spec.rb
|
318
312
|
- spec/lib/packaging/util/file_spec.rb
|
319
|
-
- spec/lib/packaging/
|
320
|
-
- spec/lib/packaging/
|
321
|
-
- spec/lib/packaging/
|
322
|
-
- spec/lib/packaging/
|
313
|
+
- spec/lib/packaging/util/git_tag_spec.rb
|
314
|
+
- spec/lib/packaging/util/rake_utils_spec.rb
|
315
|
+
- spec/lib/packaging/util/ship_spec.rb
|
316
|
+
- spec/lib/packaging/util/jenkins_spec.rb
|
317
|
+
- spec/lib/packaging/util/net_spec.rb
|
318
|
+
- spec/lib/packaging/util/misc_spec.rb
|
319
|
+
- spec/lib/packaging/util/gpg_spec.rb
|
320
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
321
|
+
- spec/lib/packaging/sign_spec.rb
|
322
|
+
- spec/lib/packaging/gem_spec.rb
|