simp-rake-helpers 5.10.2 → 5.11.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/Gemfile +1 -0
  4. data/lib/simp/componentinfo.rb +6 -3
  5. data/lib/simp/rake/build/rpmdeps.rb +51 -33
  6. data/lib/simp/rake/build/tar.rb +1 -1
  7. data/lib/simp/rake/helpers/assets/rpm_spec/simp6.spec +15 -1
  8. data/lib/simp/rake/helpers/assets/rpm_spec/simpdefault.spec +15 -1
  9. data/lib/simp/rake/helpers/version.rb +1 -1
  10. data/lib/simp/relchecks.rb +1 -1
  11. data/spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/suites/default/nodesets +1 -1
  12. data/spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/suites/default/nodesets +1 -1
  13. data/spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/suites/default/nodesets +1 -1
  14. data/spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/suites/default/nodesets +1 -1
  15. data/spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/suites/default/nodesets +1 -1
  16. data/spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/default/nodesets +1 -1
  17. data/spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/default/nodesets +1 -1
  18. data/spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/suites/default/nodesets +1 -1
  19. data/spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/suites/default/nodesets +1 -1
  20. data/spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/suites/default/nodesets +1 -1
  21. data/spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/suites/default/nodesets +1 -1
  22. data/spec/lib/simp/componentinfo_spec.rb +25 -37
  23. data/spec/lib/simp/files/build/testpackage.spec +1 -1
  24. data/spec/lib/simp/files/componentinfo_spec/module_with_prerelease_dash_in_version/CHANGELOG +14 -0
  25. data/spec/lib/simp/files/componentinfo_spec/module_with_prerelease_dash_in_version/metadata.json +44 -0
  26. data/spec/lib/simp/files/testpackage-rc0.spec +32 -0
  27. data/spec/lib/simp/rake/build/files/changed_name_mod/metadata.json +12 -8
  28. data/spec/lib/simp/rake/build/files/unmanaged_mod/metadata.json +12 -8
  29. data/spec/lib/simp/rake/build/rpmdeps_spec.rb +12 -3
  30. data/spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/suites/default/nodesets +1 -1
  31. data/spec/lib/simp/relchecks_compare_latest_tag_spec.rb +1 -1
  32. data/spec/lib/simp/rpm_spec.rb +5 -0
  33. metadata +6 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 79ad7ad7188d33672087722a247a56a145315e941ffa7e44fc26b7a847ef91f5
4
- data.tar.gz: 05ff2357f2615369f5e24f84be1aff9d7bb16d535c8b77f2126fdd2a7b2adced
3
+ metadata.gz: 3bde11b6e154b94ae99c983cc5efbc50ee72bfd5e4fff43752f3bde5a1fe9383
4
+ data.tar.gz: 1f20976af7376822f6d4ab663b2d5f4b01bab9c85cc71a3f86035d586771e443
5
5
  SHA512:
6
- metadata.gz: 0fe5a161b357ef4777f58c28397a39622d061750a20c129effc80d4c61f2678f6846ccb710ee170ab4375290498e9cfcad500451c2f24233a1b172c49ec59daf
7
- data.tar.gz: 75c69637690c41f54545f7b977893b8b7b28ca038b2160f2a2a843b3caa2a26a81e10c0861104a75fd9c95ba8db962856e2a51119926b2bb946c74bf6877319d
6
+ metadata.gz: bc56ab90f4e83059108725f9750793ba060bac5af618d72e819f095319233ae1229a7f8a153feb4ecd50de46808792fd9c3c2559f02ec632c606a9fdeb3a8659
7
+ data.tar.gz: 8cdf8f62c251be9bbc3388adaae57516fde2eb0478adf6ec4fd66c09bf411cf1902546ac309a455f87dcef1d30db3f5cd498dcc6838e2a80c0102f1448bc5c1e
@@ -1,3 +1,18 @@
1
+ ### 5.11.4 / 2020-08-03
2
+ * Permit *.md files in `rake pkg:compare_latest_tag`
3
+
4
+ ### 5.11.3 / 2020-05-19
5
+ * Fix automatically added dependencies for SIMP 6.4+
6
+
7
+ ### 5.11.2 / 2020-04-08
8
+ * Version information should not be required on dependencies in metadata.json
9
+
10
+ ### 5.11.1 / 2020-04-07
11
+ * Puppet module RPM logic handles `-rc0` suffix in `metadata.json`
12
+
13
+ ### 5.11.0 / 2020-03-16
14
+ * Add SIMP optional dependencies to RPM requires list
15
+
1
16
  ### 5.10.2 / 2020-02-10
2
17
  * Allow v3 of simp-rspec-puppet-facts
3
18
  * Fix '~> 0' notation
data/Gemfile CHANGED
@@ -12,6 +12,7 @@ gemspec
12
12
  gem 'simp-build-helpers'
13
13
  gem 'simp-beaker-helpers'
14
14
  gem 'beaker-puppet_install_helper'
15
+ gem 'rake', '>= 12.3.3'
15
16
 
16
17
  if puppetversion
17
18
  gem 'puppet', puppetversion
@@ -99,9 +99,12 @@ class Simp::ComponentInfo
99
99
  require 'json'
100
100
  metadata_file = File.join(@component_dir, 'metadata.json')
101
101
  metadata = JSON.parse(File.read(metadata_file))
102
- @version = metadata['version']
103
- @release = nil
104
- fail("ERROR: Version missing from #{metadata_file}") if @version.nil?
102
+ fail("ERROR: Version missing from #{metadata_file}") if metadata['version'].nil?
103
+
104
+ @version = metadata['version'].split('-').first
105
+ rel_bits = metadata['version'].split('-')[1..-1]
106
+ @release = rel_bits.empty? ? nil : rel_bits.join('-')
107
+
105
108
 
106
109
  changelog_file = File.join(component_dir, 'CHANGELOG')
107
110
  unless File.exists?(changelog_file)
@@ -15,28 +15,29 @@ module Simp::Rake::Build::RpmDeps
15
15
  # raises SIMPRpmDepVersionException if the dependency version
16
16
  # string cannot be parsed
17
17
  def self.get_version_requires(pkg, dep_version)
18
+ return ["Requires: #{pkg}"] if dep_version.nil?
19
+ return ["Requires: #{pkg} = #{$1}"] if dep_version =~ /^\s*(\d+\.\d+\.\d+)\s*$/
20
+
18
21
  requires = []
19
- if dep_version =~ /^\s*(\d+\.\d+\.\d+)\s*$/
20
- requires << "Requires: #{pkg} = #{$1}"
21
- else
22
- if dep_version.include?('x')
23
- dep_parts = dep_version.split('.')
24
-
25
- if dep_parts.count == 3
26
- dep_version = ">= #{dep_parts[0]}.#{dep_parts[1]}.0 < #{dep_parts[0].to_i + 1}.0.0"
27
- else
28
- dep_version = ">= #{dep_parts[0]}.0.0 < #{dep_parts[0].to_i + 1}.0.0"
29
- end
30
- end
31
22
 
32
- # metadata.json is a LOT more forgiving than the RPM spec file
33
- if dep_version =~ /^\s*(?:(?:([<>]=?)\s*(\d+\.\d+\.\d+))\s*(?:(<)\s*(\d+\.\d+\.\d+))?)\s*$/
34
- requires << "Requires: #{pkg} #{$1} #{$2}"
35
- requires << "Requires: #{pkg} #{$3} #{$4}" if $3
23
+ if dep_version.include?('x')
24
+ dep_parts = dep_version.split('.')
25
+
26
+ if dep_parts.count == 3
27
+ dep_version = ">= #{dep_parts[0]}.#{dep_parts[1]}.0 < #{dep_parts[0].to_i + 1}.0.0"
36
28
  else
37
- raise SIMPRpmDepVersionException.new
29
+ dep_version = ">= #{dep_parts[0]}.0.0 < #{dep_parts[0].to_i + 1}.0.0"
38
30
  end
39
31
  end
32
+
33
+ # 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
40
+
40
41
  requires
41
42
  end
42
43
 
@@ -103,6 +104,13 @@ module Simp::Rake::Build::RpmDeps
103
104
  short_names.include?(dep['name'])
104
105
  }
105
106
 
107
+ if dep_info.empty? && module_metadata['simp'] &&
108
+ module_metadata['simp']['optional_dependencies']
109
+ dep_info = module_metadata['simp']['optional_dependencies'].select{ |dep|
110
+ short_names.include?(dep['name'])
111
+ }
112
+ end
113
+
106
114
  if dep_info.empty?
107
115
  err_msg = "Could not find #{short_names.first} dependency"
108
116
  raise SIMPRpmDepException.new(err_msg)
@@ -145,7 +153,7 @@ module Simp::Rake::Build::RpmDeps
145
153
  end
146
154
 
147
155
  # Generate 'Requires' lines from each dependency specified in the
148
- # module_metadata hash
156
+ # module_metadata hash, including SIMP optional dependencies
149
157
  #
150
158
  # returns array of strings, each of which is a 'Requires' line for
151
159
  # use in an RPM spec file
@@ -157,20 +165,29 @@ module Simp::Rake::Build::RpmDeps
157
165
  # module's 'metadata.json' file
158
166
  def self.generate_module_rpm_requires(module_metadata)
159
167
  rpm_metadata_content = []
160
- # metadata.json should always contain dependencies list, even
161
- # if it is empty, but we'll safely handle that error case here
168
+
169
+ deps = []
162
170
  if module_metadata['dependencies']
163
- module_metadata['dependencies'].each do |dep|
164
- pkg = "pupmod-#{dep['name'].gsub('/', '-')}"
165
- dep_version = dep['version_requirement']
166
-
167
- begin
168
- rpm_metadata_content << get_version_requires(pkg, dep_version)
169
- rescue SIMPRpmDepVersionException
170
- err_msg = "Unable to parse #{dep['name']} dependency" +
171
- " version '#{dep_version}'"
172
- raise SIMPRpmDepException.new(err_msg)
173
- end
171
+ deps += module_metadata['dependencies']
172
+ end
173
+
174
+ if module_metadata['simp'] &&
175
+ module_metadata['simp']['optional_dependencies']
176
+
177
+ deps += module_metadata['simp']['optional_dependencies']
178
+ end
179
+
180
+ deps.sort! { |x,y| x['name'] <=> y['name'] }
181
+ deps.each do |dep|
182
+ pkg = "pupmod-#{dep['name'].gsub('/', '-')}"
183
+ dep_version = dep['version_requirement']
184
+
185
+ begin
186
+ rpm_metadata_content << get_version_requires(pkg, dep_version)
187
+ rescue SIMPRpmDepVersionException
188
+ err_msg = "Unable to parse #{dep['name']} dependency" +
189
+ " version '#{dep_version}'"
190
+ raise SIMPRpmDepException.new(err_msg)
174
191
  end
175
192
  end
176
193
 
@@ -202,8 +219,9 @@ module Simp::Rake::Build::RpmDeps
202
219
  # * 'Requires' line(s) for any external dependencies specified
203
220
  # in the module_rpm_meta hash.
204
221
  #
205
- # Otherwise, the generated 'requires' file will contain
206
- # "Requires" lines for each dependency specified module_metadata.
222
+ # Otherwise, the generated 'requires' file will contain "Requires"
223
+ # lines for each dependency and each SIMP optional dependency
224
+ # specified in module_metadata.
207
225
  #
208
226
  # raises SIMPRpmDepException if any 'metadata.json' dependency
209
227
  # version string from module_metadata cannot be parsed or a
@@ -62,7 +62,7 @@ module Simp::Rake::Build
62
62
  else
63
63
  required_rpms['noarch'] << 'simp-rsync-skeleton'
64
64
  required_rpms['noarch'] << 'simp-environment-skeleton'
65
- required_rpms['noarch'] << 'simp-environment-selinux-policy'
65
+ required_rpms['noarch'] << 'simp-selinux-policy'
66
66
  end
67
67
 
68
68
  rpm_dir = File.join(@build_dir,'SIMP','RPMS')
@@ -196,14 +196,28 @@ end
196
196
 
197
197
  -- Get the Module Version
198
198
 
199
- local version_match = metadata:match('"version":%s+"(.-)"%s*,')
199
+ -- Note on '-rc0' style Release versions in metadata.json:
200
+ -- Some Puppet orgs (like voxpupuli) append '-rc0' to the module version
201
+ -- to denote prerelease status and act as a safety check (because the Forge
202
+ -- only accepts release in SemVer \d+\.\d+\.\d+ release format)
203
+ --
204
+ -- This code will remove a '-rc0' style prerelease string from the RPM
205
+ -- Version, and use it as the default RPM Release (instead of '-0')
200
206
 
207
+ local version_match = metadata:match('"version":%s+"(.-)"%s*,'):gsub('-.*','')
201
208
  if version_match then
202
209
  package_version = version_match
203
210
  else
204
211
  error("Could not find valid package version in 'metadata.json'", 0)
205
212
  end
206
213
 
214
+ -- Get the Module Release (if present)
215
+
216
+ local release_match = metadata:match('"version":%s+"[%d.]+-([^"]+)"')
217
+
218
+ if release_match then
219
+ package_release = release_match
220
+ end
207
221
  }
208
222
 
209
223
  %{lua:
@@ -196,14 +196,28 @@ end
196
196
 
197
197
  -- Get the Module Version
198
198
 
199
- local version_match = metadata:match('"version":%s+"(.-)"%s*,')
199
+ -- Note on '-rc0' style Release versions in metadata.json:
200
+ -- Some Puppet orgs (like voxpupuli) append '-rc0' to the module version
201
+ -- to denote prerelease status and act as a safety check (because the Forge
202
+ -- only accepts release in SemVer \d+\.\d+\.\d+ release format)
203
+ --
204
+ -- This code will remove a '-rc0' style prerelease string from the RPM
205
+ -- Version, and use it as the default RPM Release (instead of '-0')
200
206
 
207
+ local version_match = metadata:match('"version":%s+"(.-)"%s*,'):gsub('-.*','')
201
208
  if version_match then
202
209
  package_version = version_match
203
210
  else
204
211
  error("Could not find valid package version in 'metadata.json'", 0)
205
212
  end
206
213
 
214
+ -- Get the Module Release (if present)
215
+
216
+ local release_match = metadata:match('"version":%s+"[%d.]+-([^"]+)"')
217
+
218
+ if release_match then
219
+ package_release = release_match
220
+ end
207
221
  }
208
222
 
209
223
  %{lua:
@@ -2,5 +2,5 @@ module Simp; end
2
2
  module Simp::Rake; end
3
3
 
4
4
  class Simp::Rake::Helpers
5
- VERSION = '5.10.2'
5
+ VERSION = '5.11.4'
6
6
  end
@@ -87,7 +87,7 @@ class Simp::RelChecks
87
87
  # determine mission-impacting files that have changed
88
88
  files_changed = `git diff tags/#{last_tag} --name-only`.strip.split("\n")
89
89
  files_changed.delete_if do |file|
90
- file[0] == '.' or file == 'Rakefile' or file =~ /^Gemfile|^spec\/|^doc\/|^rakelib\//
90
+ file[0] == '.' or file == 'Rakefile' or file =~ /^Gemfile|^spec\/|^doc\/|^rakelib\/|.*\.md\Z/
91
91
  end
92
92
 
93
93
  if files_changed.empty?
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/job_broken_link_nodeset/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/job_invalid_nodeset/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/job_invalid_suite/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/job_missing_nodeset/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/job_missing_suite_and_nodeset/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/multiple_invalid_jobs/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/multiple_valid_jobs/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/no_gitlab_config_with_tests/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/no_gitlab_config_without_tests/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/suite_skeleton_only/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -1 +1 @@
1
- spec/lib/simp/ci/files/valid_job_nodeset_dir_link/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -7,14 +7,11 @@ describe Simp::ComponentInfo do
7
7
  }
8
8
 
9
9
  context 'with valid module input' do
10
- it 'loads version and changelog info' do
11
- component_dir = File.join(files_dir, 'module')
12
- info = Simp::ComponentInfo.new(component_dir)
13
- expect( info.component_dir ).to eq component_dir
14
- expect( info.type ).to eq :module
15
- expect( info.version ).to eq '3.8.0'
16
- expect( info.release ).to be nil
17
- expected_changelog = [
10
+ let(:component_dir){ File.join(files_dir, 'module') }
11
+ let(:info){ Simp::ComponentInfo.new(component_dir) }
12
+ let(:expected_release) { nil }
13
+ let(:expected_changelog) do
14
+ [
18
15
  {
19
16
  :date => 'Wed Nov 15 2017',
20
17
  :version => '3.8.0',
@@ -56,37 +53,28 @@ describe Simp::ComponentInfo do
56
53
  ]
57
54
  }
58
55
  ]
59
- expect(info.changelog).to eq expected_changelog
60
56
  end
61
57
 
62
- it 'loads version and latest changelog info' do
63
- component_dir = File.join(files_dir, 'module')
64
- info = Simp::ComponentInfo.new(component_dir, true)
65
- expect( info.component_dir ).to eq component_dir
66
- expect( info.type ).to eq :module
67
- expect( info.version ).to eq '3.8.0'
68
- expect( info.release ).to be nil
69
- expected_changelog = [
70
- {
71
- :date => 'Wed Nov 15 2017',
72
- :version => '3.8.0',
73
- :release => '0',
74
- :content => [
75
- '* Wed Nov 15 2017 Mary Jones <mary.jones@simp.com> - 3.8.0-0',
76
- '- Disable deprecation warnings by default'
77
- ]
78
- },
79
- {
80
- :date => 'Mon Nov 06 2017',
81
- :version => '3.8.0',
82
- :release => '0',
83
- :content => [
84
- '* Mon Nov 06 2017 Tom Smith <tom.smith@simp.com> - 3.8.0-0',
85
- '- Fixes split failure when "findmnt" does not exist on Linux'
86
- ]
87
- }
88
- ]
89
- expect(info.changelog).to eq expected_changelog
58
+ shared_examples 'an instance with expected module data' do
59
+ it { expect( info.component_dir ).to eq component_dir }
60
+ it { expect( info.type ).to eq :module }
61
+ it { expect( info.version ).to eq '3.8.0' }
62
+ it { expect( info.release ).to eq expected_release }
63
+ it { expect(info.changelog).to eq expected_changelog }
64
+ end
65
+
66
+ it_behaves_like 'an instance with expected module data'
67
+
68
+ context 'with loads version and latest-version-only changelog info' do
69
+ let(:info){Simp::ComponentInfo.new(component_dir, true)}
70
+ let(:expected_changelog){ super()[0..1] }
71
+ it_behaves_like 'an instance with expected module data'
72
+ end
73
+
74
+ context 'with a module version containing a prerelease suffix (3.8.0-rc0)' do
75
+ let(:component_dir){ File.join(files_dir, 'module_with_prerelease_dash_in_version') }
76
+ let(:expected_release){ 'rc0' }
77
+ it_behaves_like 'an instance with expected module data'
90
78
  end
91
79
  end
92
80
 
@@ -1 +1 @@
1
- spec/lib/simp/files/build/../testpackage.spec
1
+ ../testpackage.spec
@@ -0,0 +1,14 @@
1
+ * Wed Nov 15 2017 Mary Jones <mary.jones@simp.com> - 3.8.0-0
2
+ - Disable deprecation warnings by default
3
+
4
+ * Mon Nov 06 2017 Tom Smith <tom.smith@simp.com> - 3.8.0-0
5
+ - Fixes split failure when "findmnt" does not exist on Linux
6
+
7
+ * Thu Oct 26 2017 Mary Jones <mary.jones@simp.com> - 3.7.0-0
8
+ - Add Mod::Macaddress data type
9
+
10
+ * Tue Sep 26 2017 Joe Brown <joe.brown@simp.com> - 3.6.0-0
11
+ - Convert all 'sysctl' 'kernel.shm*' entries to Strings
12
+ - shmall and shmmax were causing Facter and newer versions of Puppet to crash
13
+ - See FACT-1732 for additional information
14
+ - Add Puppet function `mod::assert_metadata_os()`
@@ -0,0 +1,44 @@
1
+ {
2
+ "name": "simp-module",
3
+ "version": "3.8.0-rc0",
4
+ "author": "SIMP Team",
5
+ "summary": "A collection of common SIMP functions, facts, and types",
6
+ "license": "Apache-2.0",
7
+ "source": "https://github.com/simp/pupmod-simp-simplib",
8
+ "project_page": "https://github.com/simp/pupmod-simp-simplib",
9
+ "issues_url": "https://simp-project.atlassian.net",
10
+ "tags": [
11
+ "simp",
12
+ "functions",
13
+ "facts",
14
+ "types",
15
+ "alias",
16
+ "library"
17
+ ],
18
+ "dependencies": [
19
+
20
+ ],
21
+ "operatingsystem_support": [
22
+ {
23
+ "operatingsystem": "RedHat",
24
+ "operatingsystemrelease": [
25
+ "6",
26
+ "7"
27
+ ]
28
+ },
29
+ {
30
+ "operatingsystem": "CentOS",
31
+ "operatingsystemrelease": [
32
+ "6",
33
+ "7"
34
+ ]
35
+ }
36
+ ],
37
+ "requirements": [
38
+ {
39
+ "name": "puppet",
40
+ "version_requirement": ">= 4.7.0 < 6.0.0"
41
+ }
42
+ ],
43
+ "package_release_version": "0"
44
+ }
@@ -0,0 +1,32 @@
1
+ Name: testpackage
2
+ Version: 1.0.0
3
+ Release: rc0
4
+ Summary: dummy test package
5
+ BuildArch: noarch
6
+
7
+ License: Apache-2.0
8
+ URL: http://foo.bar
9
+
10
+ %description
11
+ A dummy package used to test Simp::RPM methods
12
+
13
+ %prep
14
+ exit 0
15
+
16
+ %build
17
+ exit 0
18
+
19
+
20
+ %install
21
+ exit 0
22
+
23
+ %clean
24
+ exit 0
25
+
26
+ %files
27
+ %doc
28
+
29
+
30
+ %changelog
31
+ * Wed Jun 10 2015 nobody
32
+ - some comment
@@ -24,16 +24,20 @@
24
24
  {
25
25
  "name": "foo4/bar4",
26
26
  "version_requirement": ">= 4.0.0 < 5.0.0"
27
- },
28
- {
29
- "name": "foo5/bar5",
30
- "version_requirement": "5.x"
31
- },
32
- {
33
- "name": "foo6/bar6",
34
- "version_requirement": "6.4.x"
35
27
  }
36
28
  ],
29
+ "simp": {
30
+ "optional_dependencies": [
31
+ {
32
+ "name": "foo5/bar5",
33
+ "version_requirement": "5.x"
34
+ },
35
+ {
36
+ "name": "foo6/bar6",
37
+ "version_requirement": "6.4.x"
38
+ }
39
+ ]
40
+ },
37
41
  "operatingsystem_support": [
38
42
  {
39
43
  "operatingsystem": "RedHat",
@@ -12,19 +12,23 @@
12
12
  "name": "puppetlabs/inifile",
13
13
  "version_requirement": ">= 1.6.0 < 2.0.0"
14
14
  },
15
- {
16
- "name": "puppetlabs/puppetdb",
17
- "version_requirement": ">= 5.1.2 < 6.0.0"
18
- },
19
- {
20
- "name": "puppetlabs/postgresql",
21
- "version_requirement": ">= 4.8.0 < 5.0.0"
22
- },
23
15
  {
24
16
  "name": "puppetlabs/stdlib",
25
17
  "version_requirement": ">= 4.13.1 < 5.0.0"
26
18
  }
27
19
  ],
20
+ "simp": {
21
+ "optional_dependencies": [
22
+ {
23
+ "name": "puppetlabs/puppetdb",
24
+ "version_requirement": ">= 5.1.2 < 6.0.0"
25
+ },
26
+ {
27
+ "name": "puppetlabs/postgresql",
28
+ "version_requirement": ">= 4.8.0 < 5.0.0"
29
+ }
30
+ ]
31
+ },
28
32
  "requirements": [
29
33
  {
30
34
  "name": "puppet",
@@ -16,7 +16,8 @@ describe 'Simp::Rake::Build::RpmDeps#get_version_requires' do
16
16
  "5.x" => ['Requires: pupmod-foo-bar >= 5.0.0',
17
17
  'Requires: pupmod-foo-bar < 6.0.0'],
18
18
  "6.4.x" => ['Requires: pupmod-foo-bar >= 6.4.0',
19
- 'Requires: pupmod-foo-bar < 7.0.0']
19
+ 'Requires: pupmod-foo-bar < 7.0.0'],
20
+ nil => ['Requires: pupmod-foo-bar']
20
21
  }.each do |input, output|
21
22
  it do
22
23
  expect(Simp::Rake::Build::RpmDeps::get_version_requires(pkg, input)).to eq output
@@ -40,6 +41,14 @@ describe 'Simp::Rake::Build::RpmDeps#get_version_requires' do
40
41
  end
41
42
  end
42
43
 
44
+ # In the tests below, a 'managed' component is one with an entry in the
45
+ # simp-core/build/rpm/dependencies.yaml. It is a module, whose RPM
46
+ # dependencies, obsoletes, and/or release qualifier need to be managed.
47
+ #
48
+ # An 'unmanaged' component is a module that has no special packaging needs.
49
+ # It has no obsoletes, can use the default release qualifier of 0, and needs
50
+ # no adjustments to the dependencies it advertises in its metadata.json file.
51
+ #
43
52
  describe 'Simp::Rake::Build::RpmDeps#generate_rpm_meta_files' do
44
53
  let(:files_dir) { File.join(File.dirname(__FILE__), 'files') }
45
54
  let(:rpm_metadata) {
@@ -143,10 +152,10 @@ EOM
143
152
  expected = <<EOM
144
153
  Requires: pupmod-puppetlabs-inifile >= 1.6.0
145
154
  Requires: pupmod-puppetlabs-inifile < 2.0.0
146
- Requires: pupmod-puppetlabs-puppetdb >= 5.1.2
147
- Requires: pupmod-puppetlabs-puppetdb < 6.0.0
148
155
  Requires: pupmod-puppetlabs-postgresql >= 4.8.0
149
156
  Requires: pupmod-puppetlabs-postgresql < 5.0.0
157
+ Requires: pupmod-puppetlabs-puppetdb >= 5.1.2
158
+ Requires: pupmod-puppetlabs-puppetdb < 6.0.0
150
159
  Requires: pupmod-puppetlabs-stdlib >= 4.13.1
151
160
  Requires: pupmod-puppetlabs-stdlib < 5.0.0
152
161
  EOM
@@ -1 +1 @@
1
- spec/lib/simp/rake/pupmod/fixtures/simpmod/spec/acceptance/suites/default/../../nodesets
1
+ ../../nodesets
@@ -31,7 +31,7 @@ describe 'Simp::RelChecks.compare_latest_tag' do
31
31
  Simp::RelChecks.expects(:`).with('git fetch -t origin 2>/dev/null').returns("\n")
32
32
  Simp::RelChecks.expects(:`).with('git tag -l').returns("1.0.0\nv1.0.1\n1.1.0\n")
33
33
  Simp::RelChecks.expects(:`).with('git diff tags/1.1.0 --name-only').returns(
34
- ".travis.yml\nRakefile\nGemfile.lock\nspec/some_spec.rb\ndoc/index.html\nrakelib/mytasks.rake\n")
34
+ ".travis.yml\nRakefile\nREFERENCE.md\nGemfile.lock\nspec/some_spec.rb\ndoc/index.html\nrakelib/mytasks.rake\n")
35
35
 
36
36
  msg = " No new tag required: No significant files have changed since '1.1.0' tag\n"
37
37
  expect{ Simp::RelChecks.compare_latest_tag(component_dir) }.
@@ -20,6 +20,9 @@ describe Simp::RPM do
20
20
  @d_rpm_file = File.join( dir, 'testpackage-1-0.el7.noarch.rpm' )
21
21
  @d_rpm_obj = Simp::RPM.new( @d_rpm_file )
22
22
 
23
+ @rc0_spec_file = File.join( dir, 'testpackage-rc0.spec' )
24
+ @rc0_spec_obj = Simp::RPM.new( @rc0_spec_file )
25
+
23
26
  #FIXME
24
27
  # @signed_rpm_file = File.join( dir, 'testpackage-1-0.noarch.rpm' )
25
28
  # @signed_rpm_obj = Simp::RPM.new( @signed_rpm_file )
@@ -85,6 +88,7 @@ describe Simp::RPM do
85
88
  expect( @m_spec_obj.version ).to eq '1'
86
89
  expect( @m_spec_obj.version('testpackage') ).to eq '1'
87
90
  expect( @m_spec_obj.version('testpackage-doc') ).to eq '1.0.1'
91
+ expect( @rc0_spec_obj.version ).to eq '1.0.0'
88
92
  end
89
93
 
90
94
  it 'fails when invalid package specified' do
@@ -103,6 +107,7 @@ describe Simp::RPM do
103
107
  expect( @m_spec_obj.release ).to eq '0'
104
108
  expect( @m_spec_obj.release('testpackage') ).to eq '0'
105
109
  expect( @m_spec_obj.release('testpackage-doc') ).to eq '2'
110
+ expect( @rc0_spec_obj.release ).to eq 'rc0'
106
111
  end
107
112
 
108
113
  it 'fails when invalid package specified' do
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.10.2
4
+ version: 5.11.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: 2020-02-11 00:00:00.000000000 Z
12
+ date: 2020-08-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: simp-beaker-helpers
@@ -534,6 +534,8 @@ files:
534
534
  - spec/lib/simp/files/componentinfo_spec/module_with_invalid_weekday_entry/metadata.json
535
535
  - spec/lib/simp/files/componentinfo_spec/module_with_malformed_metadata/CHANGELOG
536
536
  - spec/lib/simp/files/componentinfo_spec/module_with_malformed_metadata/metadata.json
537
+ - spec/lib/simp/files/componentinfo_spec/module_with_prerelease_dash_in_version/CHANGELOG
538
+ - spec/lib/simp/files/componentinfo_spec/module_with_prerelease_dash_in_version/metadata.json
537
539
  - spec/lib/simp/files/componentinfo_spec/module_with_version_misordered_entries/CHANGELOG
538
540
  - spec/lib/simp/files/componentinfo_spec/module_with_version_misordered_entries/metadata.json
539
541
  - spec/lib/simp/files/componentinfo_spec/module_without_changelog/metadata.json
@@ -568,6 +570,7 @@ files:
568
570
  - spec/lib/simp/files/testpackage-1-0.noarch.rpm
569
571
  - spec/lib/simp/files/testpackage-dist.spec
570
572
  - spec/lib/simp/files/testpackage-multi.spec
573
+ - spec/lib/simp/files/testpackage-rc0.spec
571
574
  - spec/lib/simp/files/testpackage.spec
572
575
  - spec/lib/simp/local_gpg_signing_key_spec.rb.beaker-only
573
576
  - spec/lib/simp/packer/iso_vars_json_spec.rb
@@ -647,8 +650,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
647
650
  - !ruby/object:Gem::Version
648
651
  version: '0'
649
652
  requirements: []
650
- rubyforge_project:
651
- rubygems_version: 2.7.7
653
+ rubygems_version: 3.0.8
652
654
  signing_key:
653
655
  specification_version: 4
654
656
  summary: SIMP rake helpers