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