packaging 0.88.77 → 0.99.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.
Files changed (72) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +128 -74
  3. data/lib/packaging/artifactory.rb +60 -433
  4. data/lib/packaging/config/params.rb +7 -28
  5. data/lib/packaging/config.rb +50 -150
  6. data/lib/packaging/deb/repo.rb +19 -20
  7. data/lib/packaging/gem.rb +83 -41
  8. data/lib/packaging/ips.rb +57 -0
  9. data/lib/packaging/msi.rb +89 -0
  10. data/lib/packaging/nuget.rb +1 -1
  11. data/lib/packaging/osx.rb +36 -0
  12. data/lib/packaging/paths.rb +87 -225
  13. data/lib/packaging/platforms.rb +416 -443
  14. data/lib/packaging/repo.rb +22 -122
  15. data/lib/packaging/retrieve.rb +7 -36
  16. data/lib/packaging/rpm/repo.rb +8 -5
  17. data/lib/packaging/tar.rb +0 -9
  18. data/lib/packaging/util/date.rb +0 -5
  19. data/lib/packaging/util/execution.rb +2 -2
  20. data/lib/packaging/util/git.rb +1 -1
  21. data/lib/packaging/util/gpg.rb +1 -5
  22. data/lib/packaging/util/net.rb +37 -79
  23. data/lib/packaging/util/rake_utils.rb +0 -1
  24. data/lib/packaging/util/ship.rb +13 -142
  25. data/lib/packaging/util/tool.rb +1 -1
  26. data/lib/packaging/util/version.rb +0 -8
  27. data/lib/packaging/util.rb +2 -2
  28. data/lib/packaging.rb +3 -3
  29. data/spec/fixtures/config/params.yaml +2 -0
  30. data/spec/lib/packaging/artifactory_spec.rb +16 -66
  31. data/spec/lib/packaging/config_spec.rb +29 -49
  32. data/spec/lib/packaging/deb/repo_spec.rb +7 -16
  33. data/spec/lib/packaging/paths_spec.rb +56 -321
  34. data/spec/lib/packaging/platforms_spec.rb +21 -46
  35. data/spec/lib/packaging/repo_spec.rb +40 -78
  36. data/spec/lib/packaging/retrieve_spec.rb +8 -47
  37. data/spec/lib/packaging/rpm/repo_spec.rb +4 -4
  38. data/spec/lib/packaging/tar_spec.rb +40 -34
  39. data/spec/lib/packaging/util/git_tag_spec.rb +1 -1
  40. data/spec/lib/packaging/util/gpg_spec.rb +1 -1
  41. data/spec/lib/packaging/util/net_spec.rb +15 -35
  42. data/spec/lib/packaging/util/ship_spec.rb +63 -145
  43. data/spec/spec_helper.rb +14 -0
  44. data/tasks/00_utils.rake +6 -4
  45. data/tasks/apple.rake +0 -2
  46. data/tasks/config.rake +0 -5
  47. data/tasks/education.rake +5 -5
  48. data/tasks/fetch.rake +14 -17
  49. data/tasks/gem.rake +121 -134
  50. data/tasks/jenkins.rake +7 -51
  51. data/tasks/nightly_repos.rake +69 -20
  52. data/tasks/pe_ship.rake +11 -16
  53. data/tasks/retrieve.rake +6 -13
  54. data/tasks/ship.rake +256 -196
  55. data/tasks/sign.rake +135 -63
  56. data/tasks/tar.rake +6 -0
  57. data/templates/packaging.xml.erb +7 -9
  58. data/templates/repo.xml.erb +3 -6
  59. metadata +27 -80
  60. data/lib/packaging/archive.rb +0 -126
  61. data/lib/packaging/artifactory/extensions.rb +0 -94
  62. data/lib/packaging/config/validations.rb +0 -13
  63. data/lib/packaging/metrics.rb +0 -15
  64. data/lib/packaging/sign/deb.rb +0 -9
  65. data/lib/packaging/sign/dmg.rb +0 -41
  66. data/lib/packaging/sign/ips.rb +0 -57
  67. data/lib/packaging/sign/msi.rb +0 -124
  68. data/lib/packaging/sign/rpm.rb +0 -115
  69. data/lib/packaging/sign.rb +0 -8
  70. data/spec/lib/packaging/gem_spec.rb +0 -86
  71. data/spec/lib/packaging/sign_spec.rb +0 -133
  72. data/tasks/archive.rake +0 -69
data/tasks/sign.rake CHANGED
@@ -1,22 +1,62 @@
1
+ def sign_rpm(rpm, sign_flags = nil)
2
+
3
+ # To enable support for wrappers around rpm and thus support for gpg-agent
4
+ # rpm signing, we have to be able to tell the packaging repo what binary to
5
+ # use as the rpm signing tool.
6
+ #
7
+ rpm_cmd = ENV['RPM'] || Pkg::Util::Tool.find_tool('rpm')
8
+
9
+ # If we're using the gpg agent for rpm signing, we don't want to specify the
10
+ # input for the passphrase, which is what '--passphrase-fd 3' does. However,
11
+ # if we're not using the gpg agent, this is required, and is part of the
12
+ # defaults on modern rpm. The fun part of gpg-agent signing of rpms is
13
+ # specifying that the gpg check command always return true
14
+ #
15
+ if Pkg::Util.boolean_value(ENV['RPM_GPG_AGENT'])
16
+ gpg_check_cmd = "--define '%__gpg_check_password_cmd /bin/true'"
17
+ else
18
+ input_flag = "--passphrase-fd 3"
19
+ end
20
+
21
+ # Try this up to 5 times, to allow for incorrect passwords
22
+ Pkg::Util::Execution.retry_on_fail(:times => 5) do
23
+ # This definition of %__gpg_sign_cmd is the default on modern rpm. We
24
+ # accept extra flags to override certain signing behavior for older
25
+ # versions of rpm, e.g. specifying V3 signatures instead of V4.
26
+ #
27
+ sh "#{rpm_cmd} #{gpg_check_cmd} --define '%_gpg_name #{Pkg::Util::Gpg.key}' --define '%__gpg_sign_cmd %{__gpg} gpg #{sign_flags} #{input_flag} --batch --no-verbose --no-armor --no-secmem-warning -u %{_gpg_name} -sbo %{__signature_filename} %{__plaintext_filename}' --addsign #{rpm}"
28
+ end
29
+
30
+ end
31
+
32
+ def sign_legacy_rpm(rpm)
33
+ sign_rpm(rpm, "--force-v3-sigs --digest-algo=sha1")
34
+ end
35
+
36
+ def rpm_has_sig(rpm)
37
+ %x(rpm -Kv #{rpm} | grep "#{Pkg::Util::Gpg.key.downcase}" &> /dev/null)
38
+ $?.success?
39
+ end
40
+
41
+ def sign_deb_changes(file)
42
+ # Lazy lazy lazy lazy lazy
43
+ sign_program = "-p'gpg --use-agent --no-tty'" if ENV['RPM_GPG_AGENT']
44
+ sh "debsign #{sign_program} --re-sign -k#{Pkg::Config.gpg_key} #{file}"
45
+ end
46
+
1
47
  namespace :pl do
2
48
  desc "Sign the tarball, defaults to PL key, pass GPG_KEY to override or edit build_defaults"
3
49
  task :sign_tar do
4
50
  unless Pkg::Config.vanagon_project
5
- tarballs_to_sign = Pkg::Util::Ship.collect_packages(['pkg/*.tar.gz'], ['signing_bundle', 'packaging-bundle'])
51
+ File.exist?("pkg/#{Pkg::Config.project}-#{Pkg::Config.version}.tar.gz") or fail "No tarball exists. Try rake package:tar?"
6
52
  Pkg::Util::Gpg.load_keychain if Pkg::Util::Tool.find_tool('keychain')
7
- tarballs_to_sign.each do |file|
8
- Pkg::Util::Gpg.sign_file file
9
- end
53
+ Pkg::Util::Gpg.sign_file "pkg/#{Pkg::Config.project}-#{Pkg::Config.version}.tar.gz"
10
54
  end
11
55
  end
12
56
 
13
- # If no directory to sign is specified assume "pkg"
14
- $DEFAULT_DIRECTORY = "pkg"
15
-
16
57
  desc "Sign the Arista EOS swix packages, defaults to PL key, pass GPG_KEY to override or edit build_defaults"
17
- task :sign_swix, :root_dir do |_t, args|
18
- swix_dir = args.root_dir || $DEFAULT_DIRECTORY
19
- packages = Dir["#{swix_dir}/**/*.swix"]
58
+ task :sign_swix do
59
+ packages = Dir["pkg/**/*.swix"]
20
60
  unless packages.empty?
21
61
  Pkg::Util::Gpg.load_keychain if Pkg::Util::Tool.find_tool('keychain')
22
62
  packages.each do |swix_package|
@@ -26,11 +66,10 @@ namespace :pl do
26
66
  end
27
67
 
28
68
  desc "Detach sign any solaris svr4 packages"
29
- task :sign_svr4, :root_dir do |_t, args|
30
- svr4_dir = args.root_dir || $DEFAULT_DIRECTORY
31
- unless Dir["#{svr4_dir}/**/*.pkg.gz"].empty?
69
+ task :sign_svr4 do
70
+ unless Dir["pkg/**/*.pkg.gz"].empty?
32
71
  Pkg::Util::Gpg.load_keychain if Pkg::Util::Tool.find_tool('keychain')
33
- Dir["#{svr4_dir}/**/*.pkg.gz"].each do |pkg|
72
+ Dir["pkg/**/*.pkg.gz"].each do |pkg|
34
73
  Pkg::Util::Gpg.sign_file pkg
35
74
  end
36
75
  end
@@ -38,38 +77,84 @@ namespace :pl do
38
77
 
39
78
  desc "Sign mocked rpms, Defaults to PL Key, pass GPG_KEY to override"
40
79
  task :sign_rpms, :root_dir do |t, args|
41
- rpm_directory = args.root_dir || $DEFAULT_DIRECTORY
42
- Pkg::Sign::Rpm.sign_all(rpm_directory)
80
+ rpm_dir = args.root_dir || "pkg"
81
+
82
+ all_rpms = Dir["#{rpm_dir}/**/*.rpm"]
83
+
84
+ v3_rpms = []
85
+ v4_rpms = []
86
+ all_rpms.each do |rpm|
87
+ platform_tag = Pkg::Paths.tag_from_artifact_path(rpm)
88
+ platform, version, _ = Pkg::Platforms.parse_platform_tag(platform_tag)
89
+
90
+ # We don't sign AIX rpms
91
+ next if platform_tag.include?('aix')
92
+
93
+ sig_type = Pkg::Platforms.signature_format_for_platform_version(platform, version)
94
+ case sig_type
95
+ when 'v3'
96
+ v3_rpms << rpm
97
+ when 'v4'
98
+ v4_rpms << rpm
99
+ else
100
+ fail "Cannot find signature type for package '#{rpm}'"
101
+ end
102
+ end
103
+
104
+ unless v3_rpms.empty?
105
+ puts "Signing old rpms..."
106
+ sign_legacy_rpm(v3_rpms.join(' '))
107
+ end
108
+
109
+ unless v4_rpms.empty?
110
+ puts "Signing modern rpms..."
111
+ sign_rpm(v4_rpms.join(' '))
112
+ end
113
+
114
+ # Now we hardlink them back in
115
+ Dir["#{rpm_dir}/**/*.noarch.rpm"].each do |rpm|
116
+ platform_tag = Pkg::Paths.tag_from_artifact_path(rpm)
117
+ platform, version, _ = Pkg::Platforms.parse_platform_tag(platform_tag)
118
+ supported_arches = Pkg::Platforms.arches_for_platform_version(platform, version)
119
+ cd File.dirname(rpm) do
120
+ noarch_rpm = File.basename(rpm)
121
+ supported_arches.each do |arch|
122
+ arch_dir = File.join('..', arch)
123
+ FileUtils.mkdir_p(arch_dir)
124
+ unless File.exist?(File.join(arch_dir, noarch_rpm))
125
+ FileUtils.ln(noarch_rpm, arch_dir, :force => true, :verbose => true)
126
+ end
127
+ end
128
+ end
129
+ end
43
130
  end
44
131
 
45
132
  desc "Sign ips package, uses PL certificates by default, update privatekey_pem, certificate_pem, and ips_inter_cert in build_defaults.yaml to override."
46
- task :sign_ips, :root_dir do |_t, args|
47
- ips_dir = args.root_dir || $DEFAULT_DIRECTORY
48
- Pkg::Sign::Ips.sign(ips_dir) unless Dir["#{ips_dir}/**/*.p5p"].empty?
133
+ task :sign_ips do
134
+ Pkg::IPS.sign unless Dir['pkg/**/*.p5p'].empty?
49
135
  end
50
136
 
51
- desc "Sign built gems, defaults to PL key, pass GPG_KEY to override or edit build_defaults"
52
- task :sign_gem, :root_dir do |_t, args|
53
- gems_dir = args.root_dir || $DEFAULT_DIRECTORY
54
- gems = FileList["#{gems_dir}/*.gem"]
55
- gems.each do |gem|
56
- puts "signing gem #{gem}"
57
- Pkg::Util::Gpg.sign_file(gem)
137
+ if Pkg::Config.build_gem
138
+ desc "Sign built gems, defaults to PL key, pass GPG_KEY to override or edit build_defaults"
139
+ task :sign_gem do
140
+ FileList["pkg/#{Pkg::Config.gem_name}-#{Pkg::Config.gemversion}*.gem"].each do |gem|
141
+ puts "signing gem #{gem}"
142
+ Pkg::Util::Gpg.sign_file(gem)
143
+ end
58
144
  end
59
145
  end
60
146
 
61
147
  desc "Check if all rpms are signed"
62
- task :check_rpm_sigs, :root_dir do |_t, args|
63
- rpm_dir = args.root_dir || $DEFAULT_DIRECTORY
64
- signed = true
65
- rpms = Dir["#{rpm_dir}/**/*.rpm"]
148
+ task :check_rpm_sigs do
149
+ signed = TRUE
150
+ rpms = Dir["pkg/**/*.rpm"]
66
151
  print 'Checking rpm signatures'
67
152
  rpms.each do |rpm|
68
- if Pkg::Sign::Rpm.has_sig? rpm
153
+ if rpm_has_sig rpm
69
154
  print '.'
70
155
  else
71
156
  puts "#{rpm} is unsigned."
72
- signed = false
157
+ signed = FALSE
73
158
  end
74
159
  end
75
160
  fail unless signed
@@ -77,15 +162,12 @@ namespace :pl do
77
162
  end
78
163
 
79
164
  desc "Sign generated debian changes files. Defaults to PL Key, pass GPG_KEY to override"
80
- task :sign_deb_changes, :root_dir do |_t, args|
165
+ task :sign_deb_changes do
81
166
  begin
82
- deb_dir = args.root_dir || $DEFAULT_DIRECTORY
83
- change_files = Dir["#{deb_dir}/**/*.changes"]
167
+ change_files = Dir["pkg/**/*.changes"]
84
168
  unless change_files.empty?
85
169
  Pkg::Util::Gpg.load_keychain if Pkg::Util::Tool.find_tool('keychain')
86
- change_files.each do |file|
87
- Pkg::Sign::Deb.sign_changes(file)
88
- end
170
+ sign_deb_changes("pkg/**/*.changes")
89
171
  end
90
172
  ensure
91
173
  Pkg::Util::Gpg.kill_keychain
@@ -93,27 +175,23 @@ namespace :pl do
93
175
  end
94
176
 
95
177
  desc "Sign OSX packages"
96
- task :sign_osx, [:root_dir] => "pl:fetch" do |_t, args|
97
- dmg_dir = args.root_dir || $DEFAULT_DIRECTORY
98
- Pkg::Sign::Dmg.sign(dmg_dir) unless Dir["#{dmg_dir}/**/*.dmg"].empty?
178
+ task :sign_osx => "pl:fetch" do
179
+ Pkg::OSX.sign unless Dir['pkg/**/*.dmg'].empty?
99
180
  end
100
181
 
101
182
  desc "Sign MSI packages"
102
- task :sign_msi, [:root_dir] => "pl:fetch" do |_t, args|
103
- msi_dir = args.root_dir || $DEFAULT_DIRECTORY
104
- Pkg::Sign::Msi.sign(msi_dir) unless Dir["#{msi_dir}/**/*.msi"].empty?
183
+ task :sign_msi => "pl:fetch" do
184
+ Pkg::MSI.sign unless Dir['pkg/**/*.msi'].empty?
105
185
  end
106
186
 
107
187
  ##
108
- # This crazy piece of work establishes a remote repo on the signing
188
+ # This crazy piece of work establishes a remote repo on the distribution
109
189
  # server, ships our packages out to it, signs them, and brings them back.
110
190
  #
111
191
  namespace :jenkins do
112
192
  desc "Sign all locally staged packages on #{Pkg::Config.signing_server}"
113
- task :sign_all, :root_dir do |_t, args|
114
- Pkg::Util::RakeUtils.invoke_task('pl:fetch')
115
- root_dir = args.root_dir || $DEFAULT_DIRECTORY
116
- Dir["#{root_dir}/*"].empty? and fail "There were no files found in #{root_dir}. Maybe you wanted to build/retrieve something first?"
193
+ task :sign_all => "pl:fetch" do
194
+ Dir["pkg/*"].empty? and fail "There were files found in pkg/. Maybe you wanted to build/retrieve something first?"
117
195
 
118
196
  # Because rpms and debs are laid out differently in PE under pkg/ they
119
197
  # have a different sign task to address this. Rather than create a whole
@@ -127,8 +205,7 @@ namespace :pl do
127
205
  signing_bundle = ENV['SIGNING_BUNDLE']
128
206
  rpm_sign_task = Pkg::Config.build_pe ? "pe:sign_rpms" : "pl:sign_rpms"
129
207
  deb_sign_task = Pkg::Config.build_pe ? "pe:sign_deb_changes" : "pl:sign_deb_changes"
130
- sign_tasks = [rpm_sign_task]
131
- sign_tasks << deb_sign_task unless Dir["#{root_dir}/**/*.changes"].empty?
208
+ sign_tasks = [rpm_sign_task, deb_sign_task]
132
209
  sign_tasks << "pl:sign_tar" if Pkg::Config.build_tar
133
210
  sign_tasks << "pl:sign_gem" if Pkg::Config.build_gem
134
211
  sign_tasks << "pl:sign_osx" if Pkg::Config.build_dmg || Pkg::Config.vanagon_project
@@ -136,19 +213,14 @@ namespace :pl do
136
213
  sign_tasks << "pl:sign_svr4" if Pkg::Config.vanagon_project
137
214
  sign_tasks << "pl:sign_ips" if Pkg::Config.vanagon_project
138
215
  sign_tasks << "pl:sign_msi" if Pkg::Config.build_msi || Pkg::Config.vanagon_project
139
- remote_repo = Pkg::Util::Net.remote_unpack_git_bundle(Pkg::Config.signing_server, 'HEAD', nil, signing_bundle)
216
+ remote_repo = Pkg::Util::Net.remote_bootstrap(Pkg::Config.signing_server, 'HEAD', nil, signing_bundle)
140
217
  build_params = Pkg::Util::Net.remote_buildparams(Pkg::Config.signing_server, Pkg::Config)
141
- Pkg::Util::Net.rsync_to(root_dir, Pkg::Config.signing_server, remote_repo)
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
- Pkg::Util::Net.remote_execute(Pkg::Config.signing_server, rake_command)
148
- Pkg::Util::Net.rsync_from("#{remote_repo}/#{root_dir}/", Pkg::Config.signing_server, "#{root_dir}/")
149
- Pkg::Util::Net.remote_execute(Pkg::Config.signing_server, "rm -rf #{remote_repo}")
150
- Pkg::Util::Net.remote_execute(Pkg::Config.signing_server, "rm #{build_params}")
151
- puts "Signed packages staged in #{root_dir}/ directory"
218
+ Pkg::Util::Net.rsync_to('pkg', Pkg::Config.signing_server, remote_repo)
219
+ Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.signing_server, "cd #{remote_repo} ; rake #{sign_tasks.join(' ')} PARAMS_FILE=#{build_params}")
220
+ Pkg::Util::Net.rsync_from("#{remote_repo}/pkg/", Pkg::Config.signing_server, "pkg/")
221
+ Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.signing_server, "rm -rf #{remote_repo}")
222
+ Pkg::Util::Net.remote_ssh_cmd(Pkg::Config.signing_server, "rm #{build_params}")
223
+ puts "Signed packages staged in 'pkg/ directory"
152
224
  end
153
225
  end
154
226
  end
data/tasks/tar.rake CHANGED
@@ -16,6 +16,12 @@ namespace :package do
16
16
  #
17
17
  tar.templates ||= Dir[File.join(Pkg::Config.project_root, "ext", "**", "*.erb")].select { |i| i !~ /ext\/packaging|ext\/osx/ }
18
18
 
19
+
20
+ # If the user has specified things to exclude via config file, they will be
21
+ # honored by the tar class, but we also always exclude the packaging repo.
22
+ #
23
+ tar.excludes << "ext/packaging"
24
+
19
25
  tar.pkg!
20
26
 
21
27
  puts "Wrote #{`pwd`.strip}/pkg/#{Pkg::Config.project}-#{Pkg::Config.version}.tar.gz"
@@ -3,7 +3,8 @@
3
3
  <actions/>
4
4
  <description>&lt;p&gt;&#xd;
5
5
  Dynamically Created Packaging Job for a packaging repo-compatible project.&#xd;
6
- Intended to be triggered from within a project with the packaging gem installed.&#xd;
6
+ Intended to be triggered from within a project with the packaging repo&#xd;
7
+ bootstrapped.&#xd;
7
8
  &lt;/p&gt;&#xd;
8
9
  &lt;p&gt;&#xd;
9
10
  Three parameters are expected:&#xd;
@@ -36,7 +37,7 @@ pl:jenkins:uber_build NOTIFY=foo@puppetlabs.com&#xd;
36
37
  Successful completion of packaging will result in the automatic creation of&#xd;
37
38
  apt/yum repositories on the distribution server with the built packages. To&#xd;
38
39
  generate client apt/yum repository config files for accessing these packages,&#xd;
39
- check out the ref of the git sha that was packaged, and run `bundle exec rake&#xd;
40
+ check out the ref of the git sha that was packaged, and run `rake&#xd;
40
41
  pl:jenkins:(deb|rpm)_repo_configs`. Configuration files will be generated and&#xd;
41
42
  deposited locally in pkg/repo_configs.&#xd;
42
43
  &lt;/p&gt;&#xd;
@@ -66,7 +67,7 @@ pl:jenkins:uber_build NOTIFY=foo@puppetlabs.com&#xd;
66
67
  <% if Pkg::Config.final_mocks %>
67
68
  <% Pkg::Config.final_mocks.split(' ').each do |mock| %>&quot;pl_mock MOCK=<%= mock %>&quot;: &quot;rpm&quot;,<% end %>
68
69
  <% end %>
69
- <% if Pkg::Config.build_tar then %>&quot;package_tar&quot;: &quot;tar&quot;,<% end %>
70
+ <% if Pkg::Config.build_tar then %>&quot;package_tar&quot;: &quot;rpm&quot;,<% end %>
70
71
  <% if Pkg::Config.build_gem then %>&quot;package_gem&quot;: &quot;gem&quot;,<% end %>
71
72
  <% if Pkg::Config.build_dmg then %>&quot;package_apple&quot;: &quot;dmg&quot;,<% end %>
72
73
  ];
@@ -145,16 +146,13 @@ pushd project
145
146
  pushd git_repo
146
147
 
147
148
  ### Clone the packaging repo
148
- <% if ENV['PACKAGING_LOCATION'] && !ENV['PACKAGING_LOCATION'].empty? %>
149
- export PACKAGING_LOCATION=&quot;<%= ENV['PACKAGING_LOCATION'] %>&quot;
150
- <% end %>
151
- bundle install --path .bundle/gems --binstubs .bundle/bin --retry 3
149
+ rake package:bootstrap
152
150
 
153
151
  ### Perform the build
154
- bundle exec rake $command PARAMS_FILE=&quot;$WORKSPACE/BUILD_PROPERTIES&quot; --trace
152
+ rake $command PARAMS_FILE=&quot;$WORKSPACE/BUILD_PROPERTIES&quot; --trace
155
153
 
156
154
  ### Send the results
157
- bundle exec rake pl:jenkins:ship[&quot;artifacts&quot;] PARAMS_FILE=&quot;$WORKSPACE/BUILD_PROPERTIES&quot; --trace
155
+ rake pl:jenkins:ship[&quot;artifacts&quot;] PARAMS_FILE=&quot;$WORKSPACE/BUILD_PROPERTIES&quot; --trace
158
156
 
159
157
  popd
160
158
  popd</command>
@@ -71,19 +71,16 @@ if [ $PACKAGE_BUILD_RESULT -eq 0 ] ; then
71
71
  pushd git_repo
72
72
 
73
73
  ### Clone the packaging repo
74
- <% if ENV['PACKAGING_LOCATION'] && !ENV['PACKAGING_LOCATION'].empty? %>
75
- export PACKAGING_LOCATION=&quot;<%= ENV['PACKAGING_LOCATION'] %>&quot;
76
- <% end %>
77
- bundle install --path .bundle/gems --binstubs .bundle/bin --retry 3
74
+ rake package:bootstrap --trace
78
75
 
79
76
  ### Run repo creation
80
77
  <% if Pkg::Config.final_mocks and not Pkg::Config.final_mocks.empty? %>
81
- bundle exec rake PARAMS_FILE=../../BUILD_PROPERTIES pl:jenkins:rpm_repos --trace
78
+ rake PARAMS_FILE=../../BUILD_PROPERTIES pl:jenkins:rpm_repos --trace
82
79
  <% else %>
83
80
  echo "No mock/rpm targets found, skipping rpm repo creation"
84
81
  <% end %>
85
82
  <% if Pkg::Config.cows and not Pkg::Config.cows.empty? %>
86
- bundle exec rake PARAMS_FILE=../../BUILD_PROPERTIES pl:jenkins:deb_repos --trace
83
+ rake PARAMS_FILE=../../BUILD_PROPERTIES pl:jenkins:deb_repos --trace
87
84
  <% else %>
88
85
  echo "No cow/deb targets found, skipping deb repo creation"
89
86
  <% end %>
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.88.77
4
+ version: 0.99.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-01 00:00:00.000000000 Z
11
+ date: 2018-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec
@@ -38,50 +38,22 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.24.1
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: rake
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
45
  - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '12.3'
47
+ version: '0'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: '12.3'
54
+ version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: artifactory
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: '2'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: '2'
83
- - !ruby/object:Gem::Dependency
84
- name: release-metrics
85
57
  requirement: !ruby/object:Gem::Requirement
86
58
  requirements:
87
59
  - - ">="
@@ -94,20 +66,6 @@ dependencies:
94
66
  - - ">="
95
67
  - !ruby/object:Gem::Version
96
68
  version: '0'
97
- - !ruby/object:Gem::Dependency
98
- name: csv
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - '='
102
- - !ruby/object:Gem::Version
103
- version: 3.1.5
104
- type: :runtime
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - '='
109
- - !ruby/object:Gem::Version
110
- version: 3.1.5
111
69
  description: Packaging automation written in Rake and Ruby. Easily build native packages
112
70
  for most platforms with a few data files and git.
113
71
  email: info@puppetlabs.com
@@ -119,29 +77,22 @@ files:
119
77
  - README-Solaris.md
120
78
  - README.md
121
79
  - lib/packaging.rb
122
- - lib/packaging/archive.rb
123
80
  - lib/packaging/artifactory.rb
124
- - lib/packaging/artifactory/extensions.rb
125
81
  - lib/packaging/config.rb
126
82
  - lib/packaging/config/params.rb
127
- - lib/packaging/config/validations.rb
128
83
  - lib/packaging/deb.rb
129
84
  - lib/packaging/deb/repo.rb
130
85
  - lib/packaging/gem.rb
131
- - lib/packaging/metrics.rb
86
+ - lib/packaging/ips.rb
87
+ - lib/packaging/msi.rb
132
88
  - lib/packaging/nuget.rb
89
+ - lib/packaging/osx.rb
133
90
  - lib/packaging/paths.rb
134
91
  - lib/packaging/platforms.rb
135
92
  - lib/packaging/repo.rb
136
93
  - lib/packaging/retrieve.rb
137
94
  - lib/packaging/rpm.rb
138
95
  - lib/packaging/rpm/repo.rb
139
- - lib/packaging/sign.rb
140
- - lib/packaging/sign/deb.rb
141
- - lib/packaging/sign/dmg.rb
142
- - lib/packaging/sign/ips.rb
143
- - lib/packaging/sign/msi.rb
144
- - lib/packaging/sign/rpm.rb
145
96
  - lib/packaging/tar.rb
146
97
  - lib/packaging/util.rb
147
98
  - lib/packaging/util/date.rb
@@ -162,6 +113,7 @@ files:
162
113
  - lib/packaging/util/version.rb
163
114
  - spec/fixtures/config/ext/build_defaults.yaml
164
115
  - spec/fixtures/config/ext/project_data.yaml
116
+ - spec/fixtures/config/params.yaml
165
117
  - spec/fixtures/configs/components/test_file.json
166
118
  - spec/fixtures/configs/components/test_file_2.json
167
119
  - spec/fixtures/configs/components/test_file_not_tagged.json
@@ -172,13 +124,11 @@ files:
172
124
  - spec/lib/packaging/config_spec.rb
173
125
  - spec/lib/packaging/deb/repo_spec.rb
174
126
  - spec/lib/packaging/deb_spec.rb
175
- - spec/lib/packaging/gem_spec.rb
176
127
  - spec/lib/packaging/paths_spec.rb
177
128
  - spec/lib/packaging/platforms_spec.rb
178
129
  - spec/lib/packaging/repo_spec.rb
179
130
  - spec/lib/packaging/retrieve_spec.rb
180
131
  - spec/lib/packaging/rpm/repo_spec.rb
181
- - spec/lib/packaging/sign_spec.rb
182
132
  - spec/lib/packaging/tar_spec.rb
183
133
  - spec/lib/packaging/util/execution_spec.rb
184
134
  - spec/lib/packaging/util/file_spec.rb
@@ -198,7 +148,6 @@ files:
198
148
  - tasks/00_utils.rake
199
149
  - tasks/30_metrics.rake
200
150
  - tasks/apple.rake
201
- - tasks/archive.rake
202
151
  - tasks/build.rake
203
152
  - tasks/clean.rake
204
153
  - tasks/config.rake
@@ -237,8 +186,7 @@ files:
237
186
  - templates/packaging.xml.erb
238
187
  - templates/repo.xml.erb
239
188
  homepage: http://github.com/puppetlabs/packaging
240
- licenses:
241
- - Apache-2.0
189
+ licenses: []
242
190
  metadata: {}
243
191
  post_install_message:
244
192
  rdoc_options: []
@@ -248,40 +196,39 @@ required_ruby_version: !ruby/object:Gem::Requirement
248
196
  requirements:
249
197
  - - ">="
250
198
  - !ruby/object:Gem::Version
251
- version: 2.0.0
199
+ version: '0'
252
200
  required_rubygems_version: !ruby/object:Gem::Requirement
253
201
  requirements:
254
202
  - - ">="
255
203
  - !ruby/object:Gem::Version
256
204
  version: '0'
257
205
  requirements: []
258
- rubygems_version: 3.0.3
206
+ rubyforge_project:
207
+ rubygems_version: 2.2.5
259
208
  signing_key:
260
209
  specification_version: 4
261
210
  summary: Puppet Labs' packaging automation
262
211
  test_files:
263
- - spec/lib/packaging_spec.rb
264
- - spec/lib/packaging/sign_spec.rb
265
212
  - spec/lib/packaging/paths_spec.rb
266
- - spec/lib/packaging/artifactory_spec.rb
267
- - spec/lib/packaging/tar_spec.rb
268
- - spec/lib/packaging/deb_spec.rb
269
- - spec/lib/packaging/retrieve_spec.rb
270
- - spec/lib/packaging/deb/repo_spec.rb
271
- - spec/lib/packaging/platforms_spec.rb
213
+ - spec/lib/packaging/config_spec.rb
272
214
  - spec/lib/packaging/util/execution_spec.rb
215
+ - spec/lib/packaging/util/os_spec.rb
216
+ - spec/lib/packaging/util/version_spec.rb
217
+ - spec/lib/packaging/util/git_spec.rb
273
218
  - spec/lib/packaging/util/jenkins_spec.rb
219
+ - spec/lib/packaging/util/rake_utils_spec.rb
274
220
  - spec/lib/packaging/util/gpg_spec.rb
275
221
  - spec/lib/packaging/util/git_tag_spec.rb
276
- - spec/lib/packaging/util/misc_spec.rb
277
- - spec/lib/packaging/util/os_spec.rb
278
- - spec/lib/packaging/util/rake_utils_spec.rb
279
- - spec/lib/packaging/util/net_spec.rb
280
222
  - spec/lib/packaging/util/file_spec.rb
281
- - spec/lib/packaging/util/version_spec.rb
282
- - spec/lib/packaging/util/git_spec.rb
223
+ - spec/lib/packaging/util/net_spec.rb
224
+ - spec/lib/packaging/util/misc_spec.rb
283
225
  - spec/lib/packaging/util/ship_spec.rb
284
- - spec/lib/packaging/config_spec.rb
285
- - spec/lib/packaging/rpm/repo_spec.rb
286
226
  - spec/lib/packaging/repo_spec.rb
287
- - spec/lib/packaging/gem_spec.rb
227
+ - spec/lib/packaging/tar_spec.rb
228
+ - spec/lib/packaging/retrieve_spec.rb
229
+ - spec/lib/packaging/platforms_spec.rb
230
+ - spec/lib/packaging/deb_spec.rb
231
+ - spec/lib/packaging/deb/repo_spec.rb
232
+ - spec/lib/packaging/rpm/repo_spec.rb
233
+ - spec/lib/packaging/artifactory_spec.rb
234
+ - spec/lib/packaging_spec.rb