simp-rake-helpers 5.10.2 → 5.11.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 +4 -4
- data/CHANGELOG.md +3 -0
- data/lib/simp/rake/build/rpmdeps.rb +33 -16
- data/lib/simp/rake/helpers/version.rb +1 -1
- data/spec/lib/simp/rake/build/files/changed_name_mod/metadata.json +12 -8
- data/spec/lib/simp/rake/build/files/unmanaged_mod/metadata.json +12 -8
- data/spec/lib/simp/rake/build/rpmdeps_spec.rb +10 -2
- 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: a8df4b35e000bb36b26db550e81337f96b2fa1dfa99646dc4d7fcbfe76e2ecdf
|
4
|
+
data.tar.gz: d3f6ea0a5ef4d1ac277b6447615305a118184c0e59f79d860ae9acc34439bf70
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db7c733f928206a27e60a984b5b1b9bcb4fae865adbb57818803ff9f9738eefe976372ce5a14fab45be2cb836906798e33074068f4654b71b6733b2b85714fb8
|
7
|
+
data.tar.gz: 90408311e53eefc6b4d9714e63c39c325b66c7a5c1dd720b540014d59d00c067413a16f1940359d769feaa37d22705a13c06ab2540b7780b092f9142279b9d83
|
data/CHANGELOG.md
CHANGED
@@ -103,6 +103,13 @@ module Simp::Rake::Build::RpmDeps
|
|
103
103
|
short_names.include?(dep['name'])
|
104
104
|
}
|
105
105
|
|
106
|
+
if dep_info.empty? && module_metadata['simp'] &&
|
107
|
+
module_metadata['simp']['optional_dependencies']
|
108
|
+
dep_info = module_metadata['simp']['optional_dependencies'].select{ |dep|
|
109
|
+
short_names.include?(dep['name'])
|
110
|
+
}
|
111
|
+
end
|
112
|
+
|
106
113
|
if dep_info.empty?
|
107
114
|
err_msg = "Could not find #{short_names.first} dependency"
|
108
115
|
raise SIMPRpmDepException.new(err_msg)
|
@@ -145,7 +152,7 @@ module Simp::Rake::Build::RpmDeps
|
|
145
152
|
end
|
146
153
|
|
147
154
|
# Generate 'Requires' lines from each dependency specified in the
|
148
|
-
# module_metadata hash
|
155
|
+
# module_metadata hash, including SIMP optional dependencies
|
149
156
|
#
|
150
157
|
# returns array of strings, each of which is a 'Requires' line for
|
151
158
|
# use in an RPM spec file
|
@@ -157,20 +164,29 @@ module Simp::Rake::Build::RpmDeps
|
|
157
164
|
# module's 'metadata.json' file
|
158
165
|
def self.generate_module_rpm_requires(module_metadata)
|
159
166
|
rpm_metadata_content = []
|
160
|
-
|
161
|
-
|
167
|
+
|
168
|
+
deps = []
|
162
169
|
if module_metadata['dependencies']
|
163
|
-
module_metadata['dependencies']
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
170
|
+
deps += module_metadata['dependencies']
|
171
|
+
end
|
172
|
+
|
173
|
+
if module_metadata['simp'] &&
|
174
|
+
module_metadata['simp']['optional_dependencies']
|
175
|
+
|
176
|
+
deps += module_metadata['simp']['optional_dependencies']
|
177
|
+
end
|
178
|
+
|
179
|
+
deps.sort! { |x,y| x['name'] <=> y['name'] }
|
180
|
+
deps.each do |dep|
|
181
|
+
pkg = "pupmod-#{dep['name'].gsub('/', '-')}"
|
182
|
+
dep_version = dep['version_requirement']
|
183
|
+
|
184
|
+
begin
|
185
|
+
rpm_metadata_content << get_version_requires(pkg, dep_version)
|
186
|
+
rescue SIMPRpmDepVersionException
|
187
|
+
err_msg = "Unable to parse #{dep['name']} dependency" +
|
188
|
+
" version '#{dep_version}'"
|
189
|
+
raise SIMPRpmDepException.new(err_msg)
|
174
190
|
end
|
175
191
|
end
|
176
192
|
|
@@ -202,8 +218,9 @@ module Simp::Rake::Build::RpmDeps
|
|
202
218
|
# * 'Requires' line(s) for any external dependencies specified
|
203
219
|
# in the module_rpm_meta hash.
|
204
220
|
#
|
205
|
-
# Otherwise, the generated 'requires' file will contain
|
206
|
-
#
|
221
|
+
# Otherwise, the generated 'requires' file will contain "Requires"
|
222
|
+
# lines for each dependency and each SIMP optional dependency
|
223
|
+
# specified in module_metadata.
|
207
224
|
#
|
208
225
|
# raises SIMPRpmDepException if any 'metadata.json' dependency
|
209
226
|
# version string from module_metadata cannot be parsed or a
|
@@ -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",
|
@@ -40,6 +40,14 @@ describe 'Simp::Rake::Build::RpmDeps#get_version_requires' do
|
|
40
40
|
end
|
41
41
|
end
|
42
42
|
|
43
|
+
# In the tests below, a 'managed' component is one with an entry in the
|
44
|
+
# simp-core/build/rpm/dependencies.yaml. It is a module, whose RPM
|
45
|
+
# dependencies, obsoletes, and/or release qualifier need to be managed.
|
46
|
+
#
|
47
|
+
# An 'unmanaged' component is a module that has no special packaging needs.
|
48
|
+
# It has no obsoletes, can use the default release qualifier of 0, and needs
|
49
|
+
# no adjustments to the dependencies it advertises in its metadata.json file.
|
50
|
+
#
|
43
51
|
describe 'Simp::Rake::Build::RpmDeps#generate_rpm_meta_files' do
|
44
52
|
let(:files_dir) { File.join(File.dirname(__FILE__), 'files') }
|
45
53
|
let(:rpm_metadata) {
|
@@ -143,10 +151,10 @@ EOM
|
|
143
151
|
expected = <<EOM
|
144
152
|
Requires: pupmod-puppetlabs-inifile >= 1.6.0
|
145
153
|
Requires: pupmod-puppetlabs-inifile < 2.0.0
|
146
|
-
Requires: pupmod-puppetlabs-puppetdb >= 5.1.2
|
147
|
-
Requires: pupmod-puppetlabs-puppetdb < 6.0.0
|
148
154
|
Requires: pupmod-puppetlabs-postgresql >= 4.8.0
|
149
155
|
Requires: pupmod-puppetlabs-postgresql < 5.0.0
|
156
|
+
Requires: pupmod-puppetlabs-puppetdb >= 5.1.2
|
157
|
+
Requires: pupmod-puppetlabs-puppetdb < 6.0.0
|
150
158
|
Requires: pupmod-puppetlabs-stdlib >= 4.13.1
|
151
159
|
Requires: pupmod-puppetlabs-stdlib < 5.0.0
|
152
160
|
EOM
|
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.
|
4
|
+
version: 5.11.0
|
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-
|
12
|
+
date: 2020-03-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: simp-beaker-helpers
|