packaging 0.99.75 → 0.99.76
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/packaging/config.rb +26 -0
- data/lib/packaging/config/params.rb +11 -0
- data/lib/packaging/config/validations.rb +13 -0
- data/lib/packaging/paths.rb +2 -1
- data/lib/packaging/platforms.rb +1 -1
- data/lib/packaging/sign/msi.rb +2 -3
- data/spec/lib/packaging/util/git_tag_spec.rb +1 -1
- data/tasks/config.rake +5 -0
- data/tasks/fetch.rake +17 -14
- data/tasks/gem.rake +0 -10
- data/tasks/ship.rake +10 -28
- metadata +20 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d737ac46704906a2bc986128797b3db649dd3e35e1432f2a98f362da67ffa56
|
4
|
+
data.tar.gz: 7a1ae857ec7a92940499a60c9d649f5e5e40fd8f2340aa95d2751f0de29d9fbd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cacbbdc7c63c443a6a6bb6c0bc7f77367343b22b8356c4d99c00fe67a1fd448af0c7e0647d616ec533d1cb1cdfb6412fbff953bfb6926dbb4a06911d08da20df
|
7
|
+
data.tar.gz: 39ada32cc8dde4df7d661d00807ba937667338278191391ec534c98423228c594a49e2c74bedd10e9c8bd18601dae6bdff54804d48f2e255bc995b198bef4c13
|
data/README.md
CHANGED
@@ -404,7 +404,7 @@ deb_build_mirrors:
|
|
404
404
|
# Who is packaging. Turns up in various packaging artifacts
|
405
405
|
packager: 'puppetlabs'
|
406
406
|
# GPG key ID of the signer
|
407
|
-
gpg_key: '
|
407
|
+
gpg_key: '4528B6CD9E61EF26'
|
408
408
|
# Whether to require tarball signing as a prerequisite of other package building
|
409
409
|
sign_tar: false
|
410
410
|
# a space separated list of mock configs. These are the rpm distributions to package for. If a noarch package, only one arch of each is needed.
|
data/lib/packaging/config.rb
CHANGED
@@ -6,6 +6,7 @@ module Pkg
|
|
6
6
|
#
|
7
7
|
class Config
|
8
8
|
require 'packaging/config/params.rb'
|
9
|
+
require 'packaging/config/validations.rb'
|
9
10
|
require 'yaml'
|
10
11
|
|
11
12
|
class << self
|
@@ -389,6 +390,31 @@ module Pkg
|
|
389
390
|
end
|
390
391
|
end
|
391
392
|
|
393
|
+
##
|
394
|
+
# Ask for validation of BUILD_PARAMS
|
395
|
+
#
|
396
|
+
# Issued as warnings initially but the intent is to turn this into
|
397
|
+
# a failure.
|
398
|
+
#
|
399
|
+
def perform_validations
|
400
|
+
error_count = 0
|
401
|
+
Pkg::Params::VALIDATIONS.each do |v|
|
402
|
+
variable_name = v[:var]
|
403
|
+
variable_value = self.instance_variable_get("@#{v[:var]}")
|
404
|
+
validations = v[:validations]
|
405
|
+
validations.each do |validation|
|
406
|
+
unless Pkg::ConfigValidations.send(validation, variable_value)
|
407
|
+
warn "Warning: variable \"#{variable_name}\" failed validation \"#{validation}\""
|
408
|
+
error_count += 1
|
409
|
+
end
|
410
|
+
end
|
411
|
+
end
|
412
|
+
|
413
|
+
if error_count != 0
|
414
|
+
warn "Warning: #{error_count} validation failure(s)."
|
415
|
+
end
|
416
|
+
end
|
417
|
+
|
392
418
|
def string_to_array(str)
|
393
419
|
delimiters = /[,\s;]/
|
394
420
|
return str if str.respond_to?('each')
|
@@ -363,6 +363,7 @@ module Pkg::Params
|
|
363
363
|
{ :oldvar => :yum_host, :newvar => :tar_host },
|
364
364
|
]
|
365
365
|
|
366
|
+
|
366
367
|
# These are variables that we have deprecated. If they are encountered in a
|
367
368
|
# project's config, we issue deprecations for them.
|
368
369
|
#
|
@@ -373,4 +374,14 @@ module Pkg::Params
|
|
373
374
|
{ :var => :gpg_name, :message => "
|
374
375
|
DEPRECATED, 29-Jul-2014: 'gpg_name' has been replaced with 'gpg_key'.
|
375
376
|
Please update this field in your build_defaults.yaml" }]
|
377
|
+
|
378
|
+
# Provide an open-ended template for validating BUILD_PARAMS.
|
379
|
+
#
|
380
|
+
# Each validatation contains the variable name as ':var' and a list of validations it
|
381
|
+
# must pass from the Pkg::Params::Validations class.
|
382
|
+
#
|
383
|
+
VALIDATIONS = [
|
384
|
+
{ :var => :project, :validations => [:not_empty?] }
|
385
|
+
]
|
386
|
+
|
376
387
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
module Pkg
|
2
|
+
class ConfigValidations
|
3
|
+
|
4
|
+
class << self
|
5
|
+
|
6
|
+
# As a validation, this one is kindof lame but is intended as a seed pattern for possibly
|
7
|
+
# more robust ones.
|
8
|
+
def not_empty?(value)
|
9
|
+
value.to_s.empty? ? false : true
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/packaging/paths.rb
CHANGED
@@ -322,7 +322,8 @@ module Pkg::Paths
|
|
322
322
|
if %w(puppet7 puppet7-nightly
|
323
323
|
puppet6 puppet6-nightly
|
324
324
|
puppet5 puppet5-nightly
|
325
|
-
puppet
|
325
|
+
puppet puppet-nightly
|
326
|
+
puppet-tools).include? repo_name
|
326
327
|
return File.join(remote_repo_path, 'pool', code_name, repo_name, project[0], project)
|
327
328
|
end
|
328
329
|
|
data/lib/packaging/platforms.rb
CHANGED
data/lib/packaging/sign/msi.rb
CHANGED
@@ -71,9 +71,8 @@ for msipath in #{msis.join(" ")}; do
|
|
71
71
|
echo "$msi is already signed, skipping . . ." ;
|
72
72
|
else
|
73
73
|
tries=5
|
74
|
-
sha1Servers=(http://timestamp.
|
75
|
-
http://timestamp.
|
76
|
-
http://www.startssl.com/timestamp)
|
74
|
+
sha1Servers=(http://timestamp.digicert.com/sha1/timestamp
|
75
|
+
http://timestamp.comodoca.com/authenticode)
|
77
76
|
for timeserver in "${sha1Servers[@]}"; do
|
78
77
|
for ((try=1; try<=$tries; try++)) do
|
79
78
|
ret=$(/cygdrive/c/tools/osslsigncode-fork/osslsigncode.exe sign \
|
@@ -17,7 +17,7 @@ describe "Pkg::Util::Git_tag" do
|
|
17
17
|
|
18
18
|
context "branch?" do
|
19
19
|
it "sets ref type as a branch when passed a branch" do
|
20
|
-
git_tag = Pkg::Util::Git_tag.new("git://github.com/puppetlabs/leatherman.git", "
|
20
|
+
git_tag = Pkg::Util::Git_tag.new("git://github.com/puppetlabs/leatherman.git", "main")
|
21
21
|
expect(git_tag.branch?).to eq(true)
|
22
22
|
end
|
23
23
|
end
|
data/tasks/config.rake
CHANGED
@@ -6,6 +6,11 @@ namespace :config do
|
|
6
6
|
end
|
7
7
|
end
|
8
8
|
|
9
|
+
desc "validate Pkg::Config values for this repo"
|
10
|
+
task :validate do
|
11
|
+
Pkg::Config.perform_validations
|
12
|
+
end
|
13
|
+
|
9
14
|
task :print_hosts => 'pl:fetch' do
|
10
15
|
Pkg::Util.filter_configs('host').each do |key, value|
|
11
16
|
puts "#{key}: #{value}"
|
data/tasks/fetch.rake
CHANGED
@@ -30,28 +30,31 @@ namespace :pl do
|
|
30
30
|
task :fetch do
|
31
31
|
# Remove .packaging directory from old-style extras loading
|
32
32
|
rm_rf "#{ENV['HOME']}/.packaging" if File.directory?("#{ENV['HOME']}/.packaging")
|
33
|
+
|
33
34
|
# Touch the .packaging file which is allows packaging to present remote tasks
|
34
35
|
touch "#{ENV['HOME']}/.packaging"
|
35
36
|
|
36
37
|
begin
|
37
|
-
|
38
|
-
%x(git clone #{data_repo} #{
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
38
|
+
build_data_directory = Pkg::Util::File.mktemp
|
39
|
+
%x(git clone #{data_repo} #{build_data_directory})
|
40
|
+
unless $?.success?
|
41
|
+
fail 'Error: could not fetch the build-data repo. Maybe you do not have the correct permissions?'
|
42
|
+
end
|
43
|
+
|
44
|
+
Dir.chdir(build_data_directory) do
|
45
|
+
[team_data_branch, project_data_branch].each do |branch|
|
46
|
+
%x(git checkout #{branch})
|
47
|
+
unless $?.success?
|
48
|
+
warn "Warning: no build_defaults found in branch '#{branch}' of '#{data_repo}'. Skipping."
|
49
|
+
next
|
48
50
|
end
|
51
|
+
Pkg::Util::RakeUtils.invoke_task('pl:load_extras', build_data_directory)
|
49
52
|
end
|
50
|
-
else
|
51
|
-
fail "There was an error attempting to fetch the build-data repo. Maybe you do not have the correct permissions?"
|
52
53
|
end
|
53
54
|
ensure
|
54
|
-
rm_rf
|
55
|
+
rm_rf build_data_directory
|
55
56
|
end
|
57
|
+
|
58
|
+
Pkg::Util::RakeUtils.invoke_task('config:validate')
|
56
59
|
end
|
57
60
|
end
|
data/tasks/gem.rake
CHANGED
@@ -150,20 +150,10 @@ namespace :package do
|
|
150
150
|
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version
|
151
151
|
package_gem
|
152
152
|
end
|
153
|
-
|
154
|
-
# PA-3356: temporary task to ship puppet 7 nightly gem
|
155
|
-
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
156
|
-
task :puppet_7_nightly_gem => ["clean"] do
|
157
|
-
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version.gsub(/6\.\d+\.\d+/, '7.0.0')
|
158
|
-
package_gem
|
159
|
-
end
|
160
153
|
end
|
161
154
|
|
162
155
|
# An alias task to simplify our remote logic in jenkins.rake
|
163
156
|
namespace :pl do
|
164
157
|
task :gem => "package:gem"
|
165
158
|
task :nightly_gem => "package:nightly_gem"
|
166
|
-
# PA-3356: temporary task to ship puppet 7 nightly gem
|
167
|
-
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
168
|
-
task :puppet_7_nightly_gem => "package:puppet_7_nightly_gem"
|
169
159
|
end
|
data/tasks/ship.rake
CHANGED
@@ -265,25 +265,6 @@ namespace :pl do
|
|
265
265
|
|
266
266
|
Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.gem_host, command)
|
267
267
|
end
|
268
|
-
|
269
|
-
# PA-3356: temporary task to link puppet 7 nightly gem
|
270
|
-
# TODO: PA-3358 - remove when puppet 7 is officialy out
|
271
|
-
desc "Remotely link puppet 7 nightly shipped gems to latest versions on #{Pkg::Config.gem_host}"
|
272
|
-
task link_puppet_7_nightly_shipped_gems_to_latest: 'pl:fetch' do
|
273
|
-
Pkg::Config.gemversion = Pkg::Util::Version.extended_dot_version.gsub(/6\.\d+\.\d+/, '7.0.0')
|
274
|
-
|
275
|
-
remote_path = Pkg::Config.nonfinal_gem_path
|
276
|
-
gems = FileList['pkg/*.gem'].map! { |path| path.gsub!('pkg/', '') }
|
277
|
-
command = %(cd #{remote_path}; )
|
278
|
-
|
279
|
-
command += gems.map! do |gem_name|
|
280
|
-
%(sudo ln -sf #{gem_name} #{gem_name.gsub(Pkg::Config.gemversion, 'latest')})
|
281
|
-
end.join(';')
|
282
|
-
|
283
|
-
command += %(; sync)
|
284
|
-
|
285
|
-
Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.gem_host, command)
|
286
|
-
end
|
287
268
|
end
|
288
269
|
|
289
270
|
desc "Ship mocked rpms to #{Pkg::Config.yum_staging_server}"
|
@@ -463,6 +444,16 @@ namespace :pl do
|
|
463
444
|
end
|
464
445
|
end
|
465
446
|
|
447
|
+
desc 'Create the rolling repo links'
|
448
|
+
task create_repo_links: 'pl:fetch' do
|
449
|
+
Pkg::Util::Ship.create_rolling_repo_links
|
450
|
+
end
|
451
|
+
|
452
|
+
desc 'Create rolling repo links for nightlies'
|
453
|
+
task create_nightly_repo_links: 'pl:fetch' do
|
454
|
+
Pkg::Util::Ship.create_rolling_repo_links(true)
|
455
|
+
end
|
456
|
+
|
466
457
|
desc 'Test out the ship requirements'
|
467
458
|
task ship_check: 'pl:fetch' do
|
468
459
|
errs = []
|
@@ -536,15 +527,6 @@ namespace :pl do
|
|
536
527
|
end
|
537
528
|
end
|
538
529
|
|
539
|
-
desc 'Create the rolling repo links'
|
540
|
-
task create_repo_links: 'pl:fetch' do
|
541
|
-
Pkg::Util::Ship.create_rolling_repo_links
|
542
|
-
end
|
543
|
-
|
544
|
-
desc 'Create rolling repo links for nightlies'
|
545
|
-
task create_nightly_repo_links: 'pl:fetch' do
|
546
|
-
Pkg::Util::Ship.create_rolling_repo_links(true)
|
547
|
-
end
|
548
530
|
end
|
549
531
|
|
550
532
|
# It is odd to namespace this ship task under :jenkins, but this task is
|
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.76
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-03-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- lib/packaging/artifactory/extensions.rb
|
125
125
|
- lib/packaging/config.rb
|
126
126
|
- lib/packaging/config/params.rb
|
127
|
+
- lib/packaging/config/validations.rb
|
127
128
|
- lib/packaging/deb.rb
|
128
129
|
- lib/packaging/deb/repo.rb
|
129
130
|
- lib/packaging/gem.rb
|
@@ -260,27 +261,27 @@ specification_version: 4
|
|
260
261
|
summary: Puppet Labs' packaging automation
|
261
262
|
test_files:
|
262
263
|
- spec/lib/packaging_spec.rb
|
263
|
-
- spec/lib/packaging/
|
264
|
-
- spec/lib/packaging/paths_spec.rb
|
264
|
+
- spec/lib/packaging/sign_spec.rb
|
265
265
|
- spec/lib/packaging/deb/repo_spec.rb
|
266
|
+
- spec/lib/packaging/retrieve_spec.rb
|
267
|
+
- spec/lib/packaging/paths_spec.rb
|
268
|
+
- spec/lib/packaging/platforms_spec.rb
|
269
|
+
- spec/lib/packaging/rpm/repo_spec.rb
|
270
|
+
- spec/lib/packaging/gem_spec.rb
|
271
|
+
- spec/lib/packaging/deb_spec.rb
|
272
|
+
- spec/lib/packaging/repo_spec.rb
|
273
|
+
- spec/lib/packaging/config_spec.rb
|
274
|
+
- spec/lib/packaging/util/misc_spec.rb
|
275
|
+
- spec/lib/packaging/util/execution_spec.rb
|
266
276
|
- spec/lib/packaging/util/gpg_spec.rb
|
267
277
|
- spec/lib/packaging/util/os_spec.rb
|
268
|
-
- spec/lib/packaging/util/
|
269
|
-
- spec/lib/packaging/util/ship_spec.rb
|
278
|
+
- spec/lib/packaging/util/version_spec.rb
|
270
279
|
- spec/lib/packaging/util/git_spec.rb
|
271
|
-
- spec/lib/packaging/util/
|
272
|
-
- spec/lib/packaging/util/misc_spec.rb
|
280
|
+
- spec/lib/packaging/util/net_spec.rb
|
273
281
|
- spec/lib/packaging/util/rake_utils_spec.rb
|
274
|
-
- spec/lib/packaging/util/version_spec.rb
|
275
|
-
- spec/lib/packaging/util/git_tag_spec.rb
|
276
282
|
- spec/lib/packaging/util/jenkins_spec.rb
|
277
|
-
- spec/lib/packaging/util/
|
278
|
-
- spec/lib/packaging/
|
279
|
-
- spec/lib/packaging/
|
280
|
-
- spec/lib/packaging/artifactory_spec.rb
|
281
|
-
- spec/lib/packaging/gem_spec.rb
|
283
|
+
- spec/lib/packaging/util/git_tag_spec.rb
|
284
|
+
- spec/lib/packaging/util/ship_spec.rb
|
285
|
+
- spec/lib/packaging/util/file_spec.rb
|
282
286
|
- spec/lib/packaging/tar_spec.rb
|
283
|
-
- spec/lib/packaging/
|
284
|
-
- spec/lib/packaging/repo_spec.rb
|
285
|
-
- spec/lib/packaging/platforms_spec.rb
|
286
|
-
- spec/lib/packaging/retrieve_spec.rb
|
287
|
+
- spec/lib/packaging/artifactory_spec.rb
|