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.
- checksums.yaml +5 -5
- data/README.md +128 -74
- data/lib/packaging/artifactory.rb +60 -433
- data/lib/packaging/config/params.rb +7 -28
- data/lib/packaging/config.rb +50 -150
- data/lib/packaging/deb/repo.rb +19 -20
- data/lib/packaging/gem.rb +83 -41
- data/lib/packaging/ips.rb +57 -0
- data/lib/packaging/msi.rb +89 -0
- data/lib/packaging/nuget.rb +1 -1
- data/lib/packaging/osx.rb +36 -0
- data/lib/packaging/paths.rb +87 -225
- data/lib/packaging/platforms.rb +416 -443
- data/lib/packaging/repo.rb +22 -122
- data/lib/packaging/retrieve.rb +7 -36
- data/lib/packaging/rpm/repo.rb +8 -5
- data/lib/packaging/tar.rb +0 -9
- data/lib/packaging/util/date.rb +0 -5
- data/lib/packaging/util/execution.rb +2 -2
- data/lib/packaging/util/git.rb +1 -1
- data/lib/packaging/util/gpg.rb +1 -5
- data/lib/packaging/util/net.rb +37 -79
- data/lib/packaging/util/rake_utils.rb +0 -1
- data/lib/packaging/util/ship.rb +13 -142
- data/lib/packaging/util/tool.rb +1 -1
- data/lib/packaging/util/version.rb +0 -8
- data/lib/packaging/util.rb +2 -2
- data/lib/packaging.rb +3 -3
- data/spec/fixtures/config/params.yaml +2 -0
- data/spec/lib/packaging/artifactory_spec.rb +16 -66
- data/spec/lib/packaging/config_spec.rb +29 -49
- data/spec/lib/packaging/deb/repo_spec.rb +7 -16
- data/spec/lib/packaging/paths_spec.rb +56 -321
- data/spec/lib/packaging/platforms_spec.rb +21 -46
- data/spec/lib/packaging/repo_spec.rb +40 -78
- data/spec/lib/packaging/retrieve_spec.rb +8 -47
- data/spec/lib/packaging/rpm/repo_spec.rb +4 -4
- data/spec/lib/packaging/tar_spec.rb +40 -34
- data/spec/lib/packaging/util/git_tag_spec.rb +1 -1
- data/spec/lib/packaging/util/gpg_spec.rb +1 -1
- data/spec/lib/packaging/util/net_spec.rb +15 -35
- data/spec/lib/packaging/util/ship_spec.rb +63 -145
- data/spec/spec_helper.rb +14 -0
- data/tasks/00_utils.rake +6 -4
- data/tasks/apple.rake +0 -2
- data/tasks/config.rake +0 -5
- data/tasks/education.rake +5 -5
- data/tasks/fetch.rake +14 -17
- data/tasks/gem.rake +121 -134
- data/tasks/jenkins.rake +7 -51
- data/tasks/nightly_repos.rake +69 -20
- data/tasks/pe_ship.rake +11 -16
- data/tasks/retrieve.rake +6 -13
- data/tasks/ship.rake +256 -196
- data/tasks/sign.rake +135 -63
- data/tasks/tar.rake +6 -0
- data/templates/packaging.xml.erb +7 -9
- data/templates/repo.xml.erb +3 -6
- metadata +27 -80
- data/lib/packaging/archive.rb +0 -126
- data/lib/packaging/artifactory/extensions.rb +0 -94
- data/lib/packaging/config/validations.rb +0 -13
- data/lib/packaging/metrics.rb +0 -15
- data/lib/packaging/sign/deb.rb +0 -9
- data/lib/packaging/sign/dmg.rb +0 -41
- data/lib/packaging/sign/ips.rb +0 -57
- data/lib/packaging/sign/msi.rb +0 -124
- data/lib/packaging/sign/rpm.rb +0 -115
- data/lib/packaging/sign.rb +0 -8
- data/spec/lib/packaging/gem_spec.rb +0 -86
- data/spec/lib/packaging/sign_spec.rb +0 -133
- 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
|
-
|
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
|
-
|
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
|
18
|
-
|
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
|
30
|
-
|
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["
|
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
|
-
|
42
|
-
|
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
|
47
|
-
|
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
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
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
|
63
|
-
|
64
|
-
|
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
|
153
|
+
if rpm_has_sig rpm
|
69
154
|
print '.'
|
70
155
|
else
|
71
156
|
puts "#{rpm} is unsigned."
|
72
|
-
signed =
|
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
|
165
|
+
task :sign_deb_changes do
|
81
166
|
begin
|
82
|
-
|
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
|
-
|
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
|
97
|
-
|
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
|
103
|
-
|
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
|
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
|
114
|
-
|
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.
|
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(
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
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"
|
data/templates/packaging.xml.erb
CHANGED
@@ -3,7 +3,8 @@
|
|
3
3
|
<actions/>
|
4
4
|
<description><p>
|
5
5
|
Dynamically Created Packaging Job for a packaging repo-compatible project.
|
6
|
-
Intended to be triggered from within a project with the packaging
|
6
|
+
Intended to be triggered from within a project with the packaging repo
|
7
|
+
bootstrapped.
|
7
8
|
</p>
|
8
9
|
<p>
|
9
10
|
Three parameters are expected:
|
@@ -36,7 +37,7 @@ pl:jenkins:uber_build NOTIFY=foo@puppetlabs.com
|
|
36
37
|
Successful completion of packaging will result in the automatic creation of
|
37
38
|
apt/yum repositories on the distribution server with the built packages. To
|
38
39
|
generate client apt/yum repository config files for accessing these packages,
|
39
|
-
check out the ref of the git sha that was packaged, and run `
|
40
|
+
check out the ref of the git sha that was packaged, and run `rake
|
40
41
|
pl:jenkins:(deb|rpm)_repo_configs`. Configuration files will be generated and
|
41
42
|
deposited locally in pkg/repo_configs.
|
42
43
|
</p>
|
@@ -66,7 +67,7 @@ pl:jenkins:uber_build NOTIFY=foo@puppetlabs.com
|
|
66
67
|
<% if Pkg::Config.final_mocks %>
|
67
68
|
<% Pkg::Config.final_mocks.split(' ').each do |mock| %>"pl_mock MOCK=<%= mock %>": "rpm",<% end %>
|
68
69
|
<% end %>
|
69
|
-
<% if Pkg::Config.build_tar then %>"package_tar": "
|
70
|
+
<% if Pkg::Config.build_tar then %>"package_tar": "rpm",<% end %>
|
70
71
|
<% if Pkg::Config.build_gem then %>"package_gem": "gem",<% end %>
|
71
72
|
<% if Pkg::Config.build_dmg then %>"package_apple": "dmg",<% end %>
|
72
73
|
];
|
@@ -145,16 +146,13 @@ pushd project
|
|
145
146
|
pushd git_repo
|
146
147
|
|
147
148
|
### Clone the packaging repo
|
148
|
-
|
149
|
-
export PACKAGING_LOCATION="<%= ENV['PACKAGING_LOCATION'] %>"
|
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
|
-
|
152
|
+
rake $command PARAMS_FILE="$WORKSPACE/BUILD_PROPERTIES" --trace
|
155
153
|
|
156
154
|
### Send the results
|
157
|
-
|
155
|
+
rake pl:jenkins:ship["artifacts"] PARAMS_FILE="$WORKSPACE/BUILD_PROPERTIES" --trace
|
158
156
|
|
159
157
|
popd
|
160
158
|
popd</command>
|
data/templates/repo.xml.erb
CHANGED
@@ -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
|
-
|
75
|
-
export PACKAGING_LOCATION="<%= ENV['PACKAGING_LOCATION'] %>"
|
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
|
-
|
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
|
-
|
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.
|
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:
|
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: '
|
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: '
|
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/
|
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:
|
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
|
-
|
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/
|
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/
|
282
|
-
- spec/lib/packaging/util/
|
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/
|
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
|