simp-rake-helpers 5.12.3 → 5.12.4
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 +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/simp/rake/build/iso.rb +49 -19
- data/lib/simp/rake/helpers/assets/rpm_spec/simp6.spec +2 -2
- data/lib/simp/rake/helpers/assets/rpm_spec/simpdefault.spec +2 -2
- data/lib/simp/rake/helpers/version.rb +1 -1
- data/spec/acceptance/suites/default/00_pkg_rpm_custom_scriptlets_spec.rb +3 -2
- data/spec/acceptance/suites/default/10_pkg_rpm_spec.rb +3 -3
- data/spec/acceptance/suites/default/55_build_pkg_signing_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d79c389d3f40c038b0ba81fe8351e4f71b256bd1eaeeef52eb0af07239ec793b
|
4
|
+
data.tar.gz: 1025900b3bbfa941429f228c7952bf79ccfec9a0b388a5a8fcfaf670b3c6f590
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c2e9f763a211891553cde62a1963f9fd603f1ce9bfed11b828b36206fe5ec73e1b55f7d1f570c5d1df79cdc00c534d57cc8df24cd205e4cabe946895e820d47
|
7
|
+
data.tar.gz: 818c69dcf5bab3bba5516539852abc856973f97275bc186d46ef268c2878d6a4e0542d179a47fd3ed6e48266ff819fc7c70127953694f92b6b7c1b5c03377e98
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
### 5.12.4 / 2021-10-05
|
2
|
+
- Ensure that the DIST qualifier is added to all built RPMs
|
3
|
+
- Use the new SimpRepos directory layout when building an ISO using externally
|
4
|
+
copied repos.
|
5
|
+
|
1
6
|
### 5.12.3 / 2021-09-15
|
2
7
|
- Handle multiple options for required applications in build:auto
|
3
8
|
- Allow users to populate a `reposync` directory in the YUM build space that
|
data/lib/simp/rake/build/iso.rb
CHANGED
@@ -190,12 +190,19 @@ module Simp::Rake::Build
|
|
190
190
|
end
|
191
191
|
end
|
192
192
|
|
193
|
+
repo_target_dir = dir
|
194
|
+
|
193
195
|
# If we've pulled in reposync directories, we expect them to
|
194
196
|
# completely overwrite the directory of the same name in the
|
195
197
|
# target ISO so no pruning is required
|
196
198
|
#
|
197
199
|
# Note: CASE MATTERS on the directory names
|
198
200
|
if reposync_active
|
201
|
+
# We're working with the new EL8+ layout, so we need to target
|
202
|
+
# the SimpRepos subdirectory
|
203
|
+
repo_target_dir = File.join(dir,'SimpRepos')
|
204
|
+
mkdir_p(repo_target_dir, :verbose => verbose)
|
205
|
+
|
199
206
|
repos_to_overwrite = Dir.glob(File.join(reposync_location, '*'))
|
200
207
|
.delete_if{|x| !File.directory?(x)}
|
201
208
|
.map{|x| File.basename(x)}
|
@@ -204,13 +211,18 @@ module Simp::Rake::Build
|
|
204
211
|
src = File.join(reposync_location, repo)
|
205
212
|
target = File.join(dir, repo)
|
206
213
|
|
207
|
-
|
208
|
-
|
214
|
+
if File.directory?(target)
|
215
|
+
rm_rf(target, :verbose => verbose) if File.directory?(target)
|
216
|
+
else
|
217
|
+
target = File.join(repo_target_dir, repo)
|
218
|
+
end
|
219
|
+
|
220
|
+
cp_r(src, target, :verbose => verbose)
|
209
221
|
end
|
210
222
|
else
|
211
223
|
# Prune unwanted packages
|
212
224
|
begin
|
213
|
-
system("tar --no-same-permissions -C #{
|
225
|
+
system("tar --no-same-permissions -C #{repo_target_dir} -xzf #{tball} *simp_pkglist.txt")
|
214
226
|
rescue
|
215
227
|
# Does not matter if the command fails
|
216
228
|
end
|
@@ -235,14 +247,18 @@ module Simp::Rake::Build
|
|
235
247
|
next if line =~ /^(\s+|#.*)$/
|
236
248
|
exclude_pkgs.push(line.chomp)
|
237
249
|
end
|
238
|
-
prune_packages(dir,['SIMP'],exclude_pkgs,mkrepo)
|
250
|
+
prune_packages(dir,['SIMP','SimpRepos'],exclude_pkgs,mkrepo)
|
239
251
|
end
|
240
252
|
end
|
241
253
|
|
242
254
|
# Add the SIMP code
|
243
255
|
system("tar --no-same-permissions -C #{dir} -xzf #{tball}")
|
244
256
|
|
245
|
-
|
257
|
+
# Pop the SIMP directory from the tarball into the correct spot
|
258
|
+
# FIXME: This is a hack
|
259
|
+
FileUtils.mv("#{dir}/SIMP", repo_target_dir) if File.directory?("#{dir}/SIMP")
|
260
|
+
|
261
|
+
Dir.chdir("#{repo_target_dir}/SIMP") do
|
246
262
|
# Add the SIMP Dependencies
|
247
263
|
simp_base_ver = simpver.split('-').first
|
248
264
|
|
@@ -285,26 +301,40 @@ module Simp::Rake::Build
|
|
285
301
|
cp(rpm,rpm_arch, :verbose => verbose)
|
286
302
|
end
|
287
303
|
|
288
|
-
|
289
|
-
|
304
|
+
unless reposync_active
|
305
|
+
ln_s('noarch', arch, :verbose => verbose) if (!File.directory?(arch) && File.directory?('noarch'))
|
306
|
+
fail("Could not find architecture '#{arch}' in the SIMP distribution") unless (File.directory?(arch) || File.symlink?(arch))
|
290
307
|
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
308
|
+
# Get everything set up properly...
|
309
|
+
Dir.chdir(arch) do
|
310
|
+
Dir.glob('../*') do |rpm_dir|
|
311
|
+
# Don't dive into ourselves
|
312
|
+
next if File.basename(rpm_dir) == arch
|
296
313
|
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
314
|
+
Dir.glob(%(#{rpm_dir}/*.rpm)) do |source_rpm|
|
315
|
+
link_target = File.basename(source_rpm)
|
316
|
+
if File.exist?(source_rpm) && File.exist?(link_target)
|
317
|
+
next if Pathname.new(source_rpm).realpath == Pathname.new(link_target).realpath
|
318
|
+
end
|
302
319
|
|
303
|
-
|
320
|
+
ln_sf(source_rpm,link_target, :verbose => verbose)
|
321
|
+
end
|
304
322
|
end
|
305
323
|
end
|
324
|
+
end
|
325
|
+
|
326
|
+
fail("Error: Could not run createrepo in #{Dir.pwd}") unless system(%(#{mkrepo} .))
|
327
|
+
end
|
306
328
|
|
307
|
-
|
329
|
+
# New ISO Layout
|
330
|
+
if reposync_active
|
331
|
+
Dir.chdir(repo_target_dir) do
|
332
|
+
gpgkeysdir = File.join('SIMP','GPGKEYS')
|
333
|
+
|
334
|
+
if File.directory?(gpgkeysdir)
|
335
|
+
cp_r(gpgkeysdir, '.', :verbose => verbose)
|
336
|
+
rm_rf(gpgkeysdir, :verbose => verbose)
|
337
|
+
end
|
308
338
|
end
|
309
339
|
end
|
310
340
|
|
@@ -301,7 +301,7 @@ end
|
|
301
301
|
|
302
302
|
if req_file then
|
303
303
|
for line in req_file:lines() do
|
304
|
-
valid_line = (line:match("^Requires: ") or line:match("^Obsoletes: ") or line:match("^Provides: "))
|
304
|
+
valid_line = (line:match("^Requires: ") or line:match("^Obsoletes: ") or line:match("^Provides: ") or line:match("^Recommends: "))
|
305
305
|
|
306
306
|
if valid_line then
|
307
307
|
module_requires = (module_requires .. "\n" .. line)
|
@@ -319,7 +319,7 @@ Summary: %{module_name} Puppet Module
|
|
319
319
|
Name: %{package_name}
|
320
320
|
|
321
321
|
Version: %{lua: print(package_version)}
|
322
|
-
Release: %{lua: print(package_release)}
|
322
|
+
Release: %{lua: print(package_release)}%{?dist}
|
323
323
|
License: %{lua: print(module_license)}
|
324
324
|
Group: Applications/System
|
325
325
|
Source0: %{package_name}-%{version}-%{release}.tar.gz
|
@@ -301,7 +301,7 @@ end
|
|
301
301
|
|
302
302
|
if req_file then
|
303
303
|
for line in req_file:lines() do
|
304
|
-
valid_line = (line:match("^Requires: ") or line:match("^Obsoletes: ") or line:match("^Provides: "))
|
304
|
+
valid_line = (line:match("^Requires: ") or line:match("^Obsoletes: ") or line:match("^Provides: ") or line:match("^Recommends: "))
|
305
305
|
|
306
306
|
if valid_line then
|
307
307
|
module_requires = (module_requires .. "\n" .. line)
|
@@ -319,7 +319,7 @@ Summary: %{module_name} Puppet Module
|
|
319
319
|
Name: %{package_name}
|
320
320
|
|
321
321
|
Version: %{lua: print(package_version)}
|
322
|
-
Release: %{lua: print(package_release)}
|
322
|
+
Release: %{lua: print(package_release)}%{?dist}
|
323
323
|
License: %{lua: print(module_license)}
|
324
324
|
Group: Applications/System
|
325
325
|
Source0: %{package_name}-%{version}-%{release}.tar.gz
|
@@ -11,7 +11,7 @@ shared_examples_for 'an RPM generator with customized scriptlets' do
|
|
11
11
|
scriptlets = rpm_scriptlets_for(
|
12
12
|
host,
|
13
13
|
"#{pkg_root_dir}/testpackage_custom_scriptlet/dist/" +
|
14
|
-
|
14
|
+
"pupmod-simp-testpackage-0.0.1-1#{rpm_dist}.noarch.rpm"
|
15
15
|
)
|
16
16
|
|
17
17
|
comment '...the expected scriptlet types are present'
|
@@ -69,7 +69,7 @@ shared_examples_for 'an RPM generator with customized triggers' do
|
|
69
69
|
triggers = rpm_triggers_for(
|
70
70
|
host,
|
71
71
|
"#{pkg_root_dir}/testpackage_custom_scriptlet/dist/" +
|
72
|
-
|
72
|
+
"pupmod-simp-testpackage-0.0.1-1#{rpm_dist}.noarch.rpm"
|
73
73
|
)
|
74
74
|
|
75
75
|
|
@@ -107,6 +107,7 @@ describe 'rake pkg:rpm with customized content' do
|
|
107
107
|
hosts.each do |_host|
|
108
108
|
context "on #{_host}" do
|
109
109
|
let!(:host){ _host }
|
110
|
+
let(:rpm_dist){ on(host, %{rpm --eval '%{dist}'}).output.strip.gsub(/\.centos$/, '') }
|
110
111
|
|
111
112
|
it 'can prep the package directories' do
|
112
113
|
testpackages = [
|
@@ -10,7 +10,7 @@ shared_examples_for 'an RPM generator with edge cases' do
|
|
10
10
|
it 'should use specified release number for the RPM' do
|
11
11
|
on host, %(#{run_cmd} "cd #{pkg_root_dir}/testpackage_with_release; #{rake_cmd} pkg:rpm")
|
12
12
|
release_test_rpm = File.join(pkg_root_dir, 'testpackage_with_release',
|
13
|
-
'dist',
|
13
|
+
'dist', "pupmod-simp-testpackage-0.0.1-42#{rpm_dist}.noarch.rpm")
|
14
14
|
on host, %(test -f #{release_test_rpm})
|
15
15
|
end
|
16
16
|
|
@@ -73,10 +73,10 @@ describe 'rake pkg:rpm' do
|
|
73
73
|
copy_host_files_into_build_user_homedir(hosts)
|
74
74
|
end
|
75
75
|
|
76
|
-
|
77
76
|
hosts.each do |_host|
|
78
77
|
context "on #{_host}" do
|
79
78
|
let!(:host){ _host }
|
79
|
+
let(:rpm_dist){ on(host, %{rpm --eval '%{dist}'}).output.strip.gsub(/\.centos$/, '') }
|
80
80
|
|
81
81
|
context 'rpm building' do
|
82
82
|
|
@@ -107,7 +107,7 @@ describe 'rake pkg:rpm' do
|
|
107
107
|
context 'using simpdefault.spec' do
|
108
108
|
|
109
109
|
let(:build_type) {:default}
|
110
|
-
let(:testpackage_rpm) { File.join(testpackage_dir,
|
110
|
+
let(:testpackage_rpm) { File.join(testpackage_dir, "dist/pupmod-simp-testpackage-0.0.1-1#{rpm_dist}.noarch.rpm") }
|
111
111
|
|
112
112
|
it 'should create an RPM' do
|
113
113
|
comment "produces RPM on #{host}"
|
@@ -320,7 +320,7 @@ describe 'rake pkg:signrpms and pkg:checksig' do
|
|
320
320
|
|
321
321
|
it 'should corrupt the password of new key' do
|
322
322
|
key_gen_file = File.join(dev_keydir, 'gengpgkey')
|
323
|
-
on(hosts, "sed -
|
323
|
+
on(hosts, "sed -ci -e \"s/^Passphrase: /Passphrase: OOPS/\" #{key_gen_file}")
|
324
324
|
end
|
325
325
|
|
326
326
|
include_examples('it begins with unsigned RPMs')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simp-rake-helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.12.
|
4
|
+
version: 5.12.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Tessmer
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-
|
12
|
+
date: 2021-10-06 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: simp-beaker-helpers
|