simp-rake-helpers 5.24.0 → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +20 -1
  3. data/CHANGELOG.md +33 -0
  4. data/Gemfile +14 -6
  5. data/lib/simp/command_utils.rb +6 -3
  6. data/lib/simp/componentinfo.rb +47 -33
  7. data/lib/simp/local_gpg_signing_key.rb +302 -303
  8. data/lib/simp/packer/iso_vars_json.rb +17 -15
  9. data/lib/simp/rake/build/auto.rb +415 -432
  10. data/lib/simp/rake/build/build.rb +119 -124
  11. data/lib/simp/rake/build/clean.rb +39 -39
  12. data/lib/simp/rake/build/code.rb +125 -128
  13. data/lib/simp/rake/build/constants.rb +7 -4
  14. data/lib/simp/rake/build/deps.rb +196 -207
  15. data/lib/simp/rake/build/helpers.rb +17 -13
  16. data/lib/simp/rake/build/iso.rb +404 -411
  17. data/lib/simp/rake/build/pkg.rb +752 -759
  18. data/lib/simp/rake/build/rpmdeps.rb +70 -70
  19. data/lib/simp/rake/build/spec.rb +44 -46
  20. data/lib/simp/rake/build/tar.rb +169 -173
  21. data/lib/simp/rake/build/unpack.rb +105 -107
  22. data/lib/simp/rake/build/upload.rb +93 -102
  23. data/lib/simp/rake/fixtures.rb +69 -66
  24. data/lib/simp/rake/helpers/rpm_spec.rb +10 -7
  25. data/lib/simp/rake/helpers/version.rb +3 -1
  26. data/lib/simp/rake/helpers.rb +12 -10
  27. data/lib/simp/rake/pkg.rb +417 -440
  28. data/lib/simp/rake/pupmod/helpers.rb +100 -87
  29. data/lib/simp/rake/pupmod/module_build.rb +39 -0
  30. data/lib/simp/rake/rubygem.rb +57 -56
  31. data/lib/simp/rake.rb +34 -29
  32. data/lib/simp/relchecks.rb +52 -43
  33. data/lib/simp/rpm.rb +123 -127
  34. data/lib/simp/rpm_signer.rb +57 -55
  35. data/lib/simp/yum.rb +54 -53
  36. data/spec/acceptance/nodesets/{default_ruby3_1.yml → almalinux10.yml} +4 -4
  37. data/spec/acceptance/nodesets/{default.yml → almalinux8.yml} +2 -2
  38. data/spec/acceptance/nodesets/almalinux9.yml +25 -0
  39. data/spec/acceptance/suites/default/00_pkg_rpm_custom_scriptlets_spec.rb +23 -28
  40. data/spec/acceptance/suites/default/10_pkg_rpm_spec.rb +54 -56
  41. data/spec/acceptance/suites/default/30_pkg_misc_spec.rb +17 -19
  42. data/spec/acceptance/suites/default/50_local_gpg_signing_key_spec.rb +5 -5
  43. data/spec/acceptance/suites/default/55_build_pkg_signing_spec.rb +109 -101
  44. data/spec/acceptance/suites/default/files/testpackage/spec/classes/init_spec.rb +1 -0
  45. data/spec/acceptance/suites/default/files/testpackage/spec/files/mock_something.rb +3 -1
  46. data/spec/acceptance/suites/default/files/testpackage/utils/convert_v1_to_v2.rb +2 -0
  47. data/spec/acceptance/suites/default/support/build_project_helpers.rb +20 -17
  48. data/spec/acceptance/suites/default/support/build_user_helpers.rb +4 -2
  49. data/spec/acceptance/suites/default/support/pkg_rpm_helpers.rb +30 -31
  50. data/spec/acceptance/support/simp_rake_helpers.rb +3 -1
  51. data/spec/lib/simp/command_utils_spec.rb +13 -10
  52. data/spec/lib/simp/componentinfo_changelog_regex_spec.rb +33 -33
  53. data/spec/lib/simp/componentinfo_spec.rb +99 -86
  54. data/spec/lib/simp/packer/iso_vars_json_spec.rb +16 -14
  55. data/spec/lib/simp/rake/build/helpers_spec.rb +7 -7
  56. data/spec/lib/simp/rake/build/rpmdeps_spec.rb +48 -46
  57. data/spec/lib/simp/rake/helpers_spec.rb +6 -5
  58. data/spec/lib/simp/rake/pkg_spec.rb +7 -5
  59. data/spec/lib/simp/rake/pupmod/fixtures/othermod/spec/classes/init_spec.rb +3 -1
  60. data/spec/lib/simp/rake/pupmod/fixtures/othermod/spec/spec_helper.rb +2 -0
  61. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/suites/default/class_spec.rb +6 -5
  62. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/classes/init_spec.rb +51 -33
  63. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/spec_helper.rb +15 -16
  64. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/spec_helper_acceptance.rb +9 -9
  65. data/spec/lib/simp/rake/pupmod/helpers_spec.rb +20 -19
  66. data/spec/lib/simp/rake/pupmod/module_build_spec.rb +87 -0
  67. data/spec/lib/simp/rake_spec.rb +7 -6
  68. data/spec/lib/simp/relchecks_check_rpm_changelog_spec.rb +26 -31
  69. data/spec/lib/simp/relchecks_compare_latest_tag_spec.rb +32 -26
  70. data/spec/lib/simp/relchecks_create_tag_changelog_spec.rb +27 -19
  71. data/spec/lib/simp/rpm_signer_spec.rb +45 -39
  72. data/spec/lib/simp/rpm_spec.rb +190 -194
  73. data/spec/spec_helper.rb +4 -2
  74. data/spec/spec_helper_acceptance.rb +3 -5
  75. metadata +47 -76
  76. data/bin/simp_rake_helpers +0 -3
  77. data/lib/simp/ci/gitlab.rb +0 -226
  78. data/lib/simp/rake/ci.rb +0 -31
  79. data/spec/lib/simp/ci/files/global_nodesets_only/spec/acceptance/nodesets/default.yml +0 -41
  80. data/spec/lib/simp/ci/files/global_nodesets_only/spec/acceptance/nodesets/oel.yml +0 -41
  81. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/nodesets/centos.yml +0 -41
  82. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  83. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  84. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  85. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  86. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  87. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/nodesets/default.yml +0 -41
  88. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/nodesets/oel.yml +0 -41
  89. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/suites/default/class_spec.rb +0 -0
  90. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  91. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  92. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  93. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  94. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  95. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  96. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/nodesets/default.yml +0 -41
  97. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/nodesets/oel.yml +0 -41
  98. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/default/class_spec.rb +0 -0
  99. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature-1/feature-1_spec.rb +0 -0
  100. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/feature_2_spec.rb +0 -0
  101. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/nodesets/default.yml +0 -35
  102. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/feature_2/nodesets/oel.yml +0 -35
  103. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/nodesets/default.yml +0 -41
  104. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/nodesets/oel.yml +0 -41
  105. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/default/class_spec.rb +0 -0
  106. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature-1/feature-1_spec.rb +0 -0
  107. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/feature_2_spec.rb +0 -0
  108. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/nodesets/default.yml +0 -35
  109. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/feature_2/nodesets/oel.yml +0 -35
  110. data/spec/lib/simp/ci/files/no_acceptance_tests/spec/spec_helper.rb +0 -0
  111. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/nodesets/default.yml +0 -41
  112. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/nodesets/oel.yml +0 -41
  113. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/suites/default/class_spec.rb +0 -0
  114. data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/nodesets/default.yml +0 -41
  115. data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/nodesets/oel.yml +0 -41
  116. data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/nodesets/centos.yml +0 -41
  117. data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/nodesets/oel.yml +0 -41
  118. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/nodesets/default.yml +0 -41
  119. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/nodesets/oel.yml +0 -41
  120. data/spec/lib/simp/ci/files/valid_job_global_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  121. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/nodesets/default.yml +0 -41
  122. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/nodesets/oel.yml +0 -41
  123. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/suites/default/class_spec.rb +0 -0
  124. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/class_spec.rb +0 -0
  125. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/nodesets/centos.yml +0 -41
  126. data/spec/lib/simp/ci/files/valid_job_nodeset_link/spec/acceptance/suites/default/nodesets/oel.yml +0 -41
  127. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/class_spec.rb +0 -0
  128. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/nodesets/default.yml +0 -41
  129. data/spec/lib/simp/ci/files/valid_job_suite_nodeset/spec/acceptance/suites/default/nodesets/oel.yml +0 -41
  130. data/spec/lib/simp/ci/gitlab_spec.rb +0 -245
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class SIMPRpmDepException < StandardError; end
2
4
  class SIMPRpmDepVersionException < StandardError; end
3
5
 
4
6
  module Simp; end
5
7
  module Simp::Rake; end
6
8
  module Simp::Rake::Build; end
7
- module Simp::Rake::Build::RpmDeps
8
9
 
10
+ module Simp::Rake::Build::RpmDeps
9
11
  # returns array of RPM spec file 'Requires' lines derived
10
12
  # from a 'metadata.json' dependency version specification.
11
13
  #
@@ -16,27 +18,25 @@ module Simp::Rake::Build::RpmDeps
16
18
  # string cannot be parsed
17
19
  def self.get_version_requires(pkg, dep_version)
18
20
  return ["Requires: #{pkg}"] if dep_version.nil?
19
- return ["Requires: #{pkg} = #{$1}"] if dep_version =~ /^\s*(\d+\.\d+\.\d+)\s*$/
21
+ return ["Requires: #{pkg} = #{::Regexp.last_match(1)}"] if dep_version =~ %r{^\s*(\d+\.\d+\.\d+)\s*$}
20
22
 
21
23
  requires = []
22
24
 
23
25
  if dep_version.include?('x')
24
26
  dep_parts = dep_version.split('.')
25
27
 
26
- if dep_parts.count == 3
27
- dep_version = ">= #{dep_parts[0]}.#{dep_parts[1]}.0 < #{dep_parts[0].to_i + 1}.0.0"
28
- else
29
- dep_version = ">= #{dep_parts[0]}.0.0 < #{dep_parts[0].to_i + 1}.0.0"
30
- end
28
+ dep_version = if dep_parts.count == 3
29
+ ">= #{dep_parts[0]}.#{dep_parts[1]}.0 < #{dep_parts[0].to_i + 1}.0.0"
30
+ else
31
+ ">= #{dep_parts[0]}.0.0 < #{dep_parts[0].to_i + 1}.0.0"
32
+ end
31
33
  end
32
34
 
33
35
  # metadata.json is a LOT more forgiving than the RPM spec file
34
- if dep_version =~ /^\s*(?:(?:([<>]=?)\s*(\d+\.\d+\.\d+))\s*(?:(<)\s*(\d+\.\d+\.\d+))?)\s*$/
35
- requires << "Requires: #{pkg} #{$1} #{$2}"
36
- requires << "Requires: #{pkg} #{$3} #{$4}" if $3
37
- else
38
- raise SIMPRpmDepVersionException.new
39
- end
36
+ raise SIMPRpmDepVersionException unless dep_version =~ %r{^\s*(?:(?:([<>]=?)\s*(\d+\.\d+\.\d+))\s*(?:(<)\s*(\d+\.\d+\.\d+))?)\s*$}
37
+
38
+ requires << "Requires: #{pkg} #{::Regexp.last_match(1)} #{::Regexp.last_match(2)}"
39
+ requires << "Requires: #{pkg} #{::Regexp.last_match(3)} #{::Regexp.last_match(4)}" if ::Regexp.last_match(3)
40
40
 
41
41
  requires
42
42
  end
@@ -59,15 +59,15 @@ module Simp::Rake::Build::RpmDeps
59
59
  # We don't want to add this if we're building an older
60
60
  # version or the RPM will be malformed
61
61
  main_version, release = version.split('-')
62
- release = '0' unless release
62
+ release ||= '0'
63
63
 
64
64
  if Gem::Version.new(module_version) > Gem::Version.new(main_version)
65
65
  rpm_metadata_content << "Obsoletes: #{pkg} < #{main_version}-#{release}.obsolete"
66
66
  rpm_metadata_content << "Provides: #{pkg} = #{main_version}-#{release}.obsolete"
67
67
  else
68
- puts "Ignoring 'obsoletes' for #{pkg}: module version" +
69
- " #{module_version} from metadata.json is not >" +
70
- " obsolete version #{version}"
68
+ puts "Ignoring 'obsoletes' for #{pkg}: module version " \
69
+ "#{module_version} from metadata.json is not > " \
70
+ "obsolete version #{version}"
71
71
  end
72
72
  end
73
73
  rpm_metadata_content
@@ -105,7 +105,7 @@ module Simp::Rake::Build::RpmDeps
105
105
  # +module_metadata+:: Hash containing the contents of the
106
106
  # module's 'metadata.json' file
107
107
  # +ignores+:: Array of package names to ignore during processing
108
- def self.generate_custom_rpm_requires(requires_list, module_metadata, ignores=[])
108
+ def self.generate_custom_rpm_requires(requires_list, module_metadata, ignores = [])
109
109
  rpm_metadata_content = []
110
110
 
111
111
  requires_list.each do |pkg_to_modify|
@@ -117,7 +117,7 @@ module Simp::Rake::Build::RpmDeps
117
117
 
118
118
  next if ignores.include?(pkg)
119
119
 
120
- rpm_version_chars = ['<','>','=']
120
+ rpm_version_chars = ['<', '>', '=']
121
121
 
122
122
  if min_version && rpm_version_chars.none? { |x| min_version.include?(x) }
123
123
  min_version = ">= #{min_version}"
@@ -126,25 +126,25 @@ module Simp::Rake::Build::RpmDeps
126
126
  max_version = "< #{max_version}"
127
127
  end
128
128
 
129
- pkg_parts = pkg.split(%r(-|/))[-2..-1]
129
+ pkg_parts = pkg.split(%r{-|/})[-2..]
130
130
 
131
131
  # Need to cover all base cases
132
132
  short_names = [pkg_parts.join('/'), pkg_parts.join('-')]
133
133
 
134
- dep_info = module_metadata['dependencies'].select{ |dep|
134
+ dep_info = module_metadata['dependencies'].select do |dep|
135
135
  short_names.include?(dep['name'])
136
- }
136
+ end
137
137
 
138
138
  if dep_info.empty? && module_metadata['simp'] &&
139
- module_metadata['simp']['optional_dependencies']
140
- dep_info = module_metadata['simp']['optional_dependencies'].select{ |dep|
139
+ module_metadata['simp']['optional_dependencies']
140
+ dep_info = module_metadata['simp']['optional_dependencies'].select do |dep|
141
141
  short_names.include?(dep['name'])
142
- }
142
+ end
143
143
  end
144
144
 
145
145
  if dep_info.empty?
146
146
  err_msg = "Could not find '#{short_names.first}' dependency"
147
- raise SIMPRpmDepException.new(err_msg)
147
+ raise SIMPRpmDepException, err_msg
148
148
  else
149
149
  dep_version = dep_info.first['version_requirement']
150
150
  end
@@ -157,9 +157,9 @@ module Simp::Rake::Build::RpmDeps
157
157
  begin
158
158
  rpm_metadata_content << get_version_requires(pkg, dep_version)
159
159
  rescue SIMPRpmDepVersionException
160
- err_msg = "Unable to parse '#{short_names.first}' dependency" +
161
- " version '#{dep_version}'"
162
- raise SIMPRpmDepException.new(err_msg)
160
+ err_msg = "Unable to parse '#{short_names.first}' dependency " \
161
+ "version '#{dep_version}'"
162
+ raise SIMPRpmDepException, err_msg
163
163
  end
164
164
  end
165
165
  end
@@ -178,7 +178,7 @@ module Simp::Rake::Build::RpmDeps
178
178
  # [ 'package1' => { :min => '1.0.0' },
179
179
  # 'package2' => { :min => '3.1-1', :max => '4.0' } ]
180
180
  # +ignores+:: Array of package names to ignore during processing
181
- def self.generate_external_rpm_requires(ext_deps_list, ignores=[])
181
+ def self.generate_external_rpm_requires(ext_deps_list, ignores = [])
182
182
  requires = []
183
183
 
184
184
  ext_deps_list.each do |pkg_name, options|
@@ -205,7 +205,7 @@ module Simp::Rake::Build::RpmDeps
205
205
  # +module_metadata+:: Hash containing the contents of the
206
206
  # module's 'metadata.json' file
207
207
  # +ignores+:: Array of package names to ignore during processing
208
- def self.generate_module_rpm_requires(module_metadata, ignores=[])
208
+ def self.generate_module_rpm_requires(module_metadata, ignores = [])
209
209
  rpm_metadata_content = []
210
210
 
211
211
  deps = []
@@ -214,14 +214,14 @@ module Simp::Rake::Build::RpmDeps
214
214
  end
215
215
 
216
216
  if module_metadata['simp'] &&
217
- module_metadata['simp']['optional_dependencies']
217
+ module_metadata['simp']['optional_dependencies']
218
218
 
219
219
  deps += module_metadata['simp']['optional_dependencies']
220
220
  end
221
221
 
222
- deps.sort! { |x,y| x['name'] <=> y['name'] }
222
+ deps.sort_by! { |a| a['name'] }
223
223
  deps.each do |dep|
224
- pkg = "pupmod-#{dep['name'].gsub('/', '-')}"
224
+ pkg = "pupmod-#{dep['name'].tr('/', '-')}"
225
225
 
226
226
  next if ignores.include?(pkg)
227
227
 
@@ -230,9 +230,9 @@ module Simp::Rake::Build::RpmDeps
230
230
  begin
231
231
  rpm_metadata_content << get_version_requires(pkg, dep_version)
232
232
  rescue SIMPRpmDepVersionException
233
- err_msg = "Unable to parse '#{dep['name']}' dependency" +
234
- " version '#{dep_version}'"
235
- raise SIMPRpmDepException.new(err_msg)
233
+ err_msg = "Unable to parse '#{dep['name']}' dependency " \
234
+ "version '#{dep_version}'"
235
+ raise SIMPRpmDepException, err_msg
236
236
  end
237
237
  end
238
238
 
@@ -248,7 +248,7 @@ module Simp::Rake::Build::RpmDeps
248
248
 
249
249
  rpm_requires_content = File.read(rpm_requires_file).lines.map(&:strip) - ['']
250
250
 
251
- return (new_requires.flatten - rpm_requires_content).empty?
251
+ (new_requires.flatten - rpm_requires_content).empty?
252
252
  end
253
253
 
254
254
  # Generate 'build/rpm_metadata/requires' file containing
@@ -287,38 +287,38 @@ module Simp::Rake::Build::RpmDeps
287
287
 
288
288
  ignores = module_rpm_meta ? Array(module_rpm_meta[:ignores]) : []
289
289
 
290
- if module_rpm_meta and module_rpm_meta[:obsoletes]
290
+ if module_rpm_meta && module_rpm_meta[:obsoletes]
291
291
  rpm_metadata_content = generate_custom_rpm_obsoletes(
292
292
  module_rpm_meta[:obsoletes],
293
- module_metadata
294
- )
295
- end
296
-
297
- if module_rpm_meta and module_rpm_meta[:requires]
298
- rpm_metadata_content += generate_custom_rpm_requires(
299
- module_rpm_meta[:requires],
300
293
  module_metadata,
301
- ignores
302
294
  )
303
- else
304
- rpm_metadata_content += generate_module_rpm_requires(module_metadata, ignores)
305
295
  end
306
296
 
307
- if module_rpm_meta and module_rpm_meta[:external_dependencies]
297
+ rpm_metadata_content += if module_rpm_meta && module_rpm_meta[:requires]
298
+ generate_custom_rpm_requires(
299
+ module_rpm_meta[:requires],
300
+ module_metadata,
301
+ ignores,
302
+ )
303
+ else
304
+ generate_module_rpm_requires(module_metadata, ignores)
305
+ end
306
+
307
+ if module_rpm_meta && module_rpm_meta[:external_dependencies]
308
308
  rpm_metadata_content += generate_external_rpm_requires(
309
309
  module_rpm_meta[:external_dependencies],
310
- ignores
310
+ ignores,
311
311
  )
312
312
  end
313
313
 
314
314
  rpm_metadata_file = File.join(dir, 'build', 'rpm_metadata', 'requires')
315
315
 
316
- unless rpm_requires_up_to_date?(rpm_metadata_content, rpm_metadata_file)
317
- FileUtils.mkdir_p(File.dirname(rpm_metadata_file))
318
- File.open(rpm_metadata_file, 'w') do |fh|
319
- fh.puts(rpm_metadata_content.flatten.join("\n"))
320
- fh.flush
321
- end
316
+ return if rpm_requires_up_to_date?(rpm_metadata_content, rpm_metadata_file)
317
+
318
+ FileUtils.mkdir_p(File.dirname(rpm_metadata_file))
319
+ File.open(rpm_metadata_file, 'w') do |fh|
320
+ fh.puts(rpm_metadata_content.flatten.join("\n"))
321
+ fh.flush
322
322
  end
323
323
  end
324
324
 
@@ -330,12 +330,12 @@ module Simp::Rake::Build::RpmDeps
330
330
  return false unless File.exist?(rpm_release_file)
331
331
 
332
332
  # remove comments like "# release set by simp-core dependencies.yaml"
333
- release_file_content = File.readlines(rpm_release_file).reject{|x| x =~ /^ *#/}.join("\n").strip
333
+ release_file_content = File.readlines(rpm_release_file).grep_v(%r{^ *#}).join("\n").strip
334
334
 
335
335
  # sanitize numerics, etc.
336
- new_release_content = "#{new_release_info}".strip
336
+ new_release_content = new_release_info.to_s.strip
337
337
 
338
- return release_file_content == new_release_content
338
+ release_file_content == new_release_content
339
339
  end
340
340
 
341
341
  # Generate 'build/rpm_metadata/release' file containing release qualifier
@@ -345,17 +345,17 @@ module Simp::Rake::Build::RpmDeps
345
345
  # +module_rpm_meta+:: module entry from the top-level
346
346
  # 'dependencies.yaml' file or nil, if no entry exists
347
347
  def self.generate_rpm_release_file(dir, module_rpm_meta)
348
- return unless (module_rpm_meta and module_rpm_meta[:release])
348
+ return unless module_rpm_meta && module_rpm_meta[:release]
349
349
 
350
350
  rpm_release_file = File.join(dir, 'build', 'rpm_metadata', 'release')
351
351
 
352
- unless release_file_up_to_date?(module_rpm_meta[:release], rpm_release_file)
353
- FileUtils.mkdir_p(File.dirname(rpm_release_file))
354
- File.open(rpm_release_file, 'w') do |fh|
355
- fh.puts('# release set by simp-core dependencies.yaml')
356
- fh.puts(module_rpm_meta[:release])
357
- fh.flush
358
- end
352
+ return if release_file_up_to_date?(module_rpm_meta[:release], rpm_release_file)
353
+
354
+ FileUtils.mkdir_p(File.dirname(rpm_release_file))
355
+ File.open(rpm_release_file, 'w') do |fh|
356
+ fh.puts('# release set by simp-core dependencies.yaml')
357
+ fh.puts(module_rpm_meta[:release])
358
+ fh.flush
359
359
  end
360
360
  end
361
361
 
@@ -379,13 +379,13 @@ module Simp::Rake::Build::RpmDeps
379
379
 
380
380
  metadata_json_file = File.join(dir, 'metadata.json')
381
381
  module_metadata = JSON.parse(File.read(metadata_json_file))
382
- module_name = module_metadata['name'].split(%r(-|/)).last
382
+ module_name = module_metadata['name'].split(%r{-|/}).last
383
383
  module_rpm_meta = rpm_metadata[module_name]
384
384
 
385
385
  begin
386
386
  generate_rpm_requires_file(dir, module_metadata, module_rpm_meta)
387
387
  rescue SIMPRpmDepException => e
388
- fail "#{e.message} in #{metadata_json_file}"
388
+ raise "#{e.message} in #{metadata_json_file}"
389
389
  end
390
390
 
391
391
  generate_rpm_release_file(dir, module_rpm_meta)
@@ -1,63 +1,61 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'simp/rake/build/constants'
2
4
 
3
5
  module Simp; end
4
6
  module Simp::Rake; end
5
- module Simp::Rake::Build
6
7
 
7
- class Spec < ::Rake::TaskLib
8
- include Simp::Rake::Build::Constants
8
+ class Simp::Rake::Build::Spec < Rake::TaskLib
9
+ include Simp::Rake::Build::Constants
9
10
 
10
- def initialize( base_dir )
11
- init_member_vars( base_dir )
11
+ def initialize(base_dir)
12
+ init_member_vars(base_dir)
12
13
 
13
- define_tasks
14
- end
14
+ define_tasks
15
+ end
15
16
 
16
- def define_tasks
17
- namespace :spec do
18
- task :prep do
19
- if $simp6
20
- @build_dir = $simp6_build_dir || @distro_build_dir
21
- end
17
+ def define_tasks
18
+ namespace :spec do
19
+ task :prep do
20
+ if $simp6
21
+ @build_dir = $simp6_build_dir || @distro_build_dir
22
22
  end
23
+ end
23
24
 
24
-
25
- =begin
26
- desc "Bump spec files. Bump all spec files' release numbers up by one.
27
- * :list - Flag to just print the current version numbers."
28
- =end
29
- task :bump,[:list] => [:prep] do |t,args|
30
- (
31
- Dir.glob("#{@spec_dir}/*.spec") +
32
- Dir.glob("#{@src_dir}/puppet/modules/*/pkg/pupmod-*.spec")
33
- ).each do |spec|
34
- if args.list
35
- File.open(spec).each do |line|
36
- if line =~ /Name:\s*(.*)/
37
- print $1.chomp + ' -> '
38
- next
39
- elsif line =~ /Version:\s*(.*)/
40
- print $1.chomp + '-'
41
- next
42
- elsif line =~ /Release:\s*(.*)/
43
- puts $1.chomp
44
- next
45
- end
25
+ # desc "Bump spec files. Bump all spec files' release numbers up by one.
26
+ # * :list - Flag to just print the current version numbers."
27
+ task :bump, [:list] => [:prep] do |_t, args|
28
+ (
29
+ Dir.glob("#{@spec_dir}/*.spec") +
30
+ Dir.glob("#{@src_dir}/puppet/modules/*/pkg/pupmod-*.spec")
31
+ ).each do |spec|
32
+ if args.list
33
+ File.open(spec).each do |line|
34
+ case line
35
+ when %r{Name:\s*(.*)}
36
+ print "#{::Regexp.last_match(1).chomp} -> "
37
+ next
38
+ when %r{Version:\s*(.*)}
39
+ print "#{::Regexp.last_match(1).chomp}-"
40
+ next
41
+ when %r{Release:\s*(.*)}
42
+ puts ::Regexp.last_match(1).chomp
43
+ next
46
44
  end
47
- else
48
- tmpfile = File.open("#{@spec_dir}/~#{File.basename(spec)}","w+")
49
- File.open(spec).each do |line|
50
- if line =~ /Release:/
51
- tmpfile.puts "Release: #{line.split(/\s/)[1].to_i + 1}"
52
- else
53
- tmpfile.puts line.chomp
54
- end
45
+ end
46
+ else
47
+ tmpfile = File.open("#{@spec_dir}/~#{File.basename(spec)}", 'w+')
48
+ File.open(spec).each do |line|
49
+ if line.include?('Release:')
50
+ tmpfile.puts "Release: #{line.split(%r{\s})[1].to_i + 1}"
51
+ else
52
+ tmpfile.puts line.chomp
55
53
  end
56
- tmpfile.close
57
- mv(tmpfile.path,spec)
58
54
  end
55
+ tmpfile.close
56
+ mv(tmpfile.path, spec)
59
57
  end
60
- end # End of bump task
58
+ end
61
59
  end
62
60
  end
63
61
  end