packaging 0.88.77 → 0.99.0

Sign up to get free protection for your applications and to get access to all the features.
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