facter 4.0.14 → 4.0.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/.rubocop_todo.yml +3 -134
  4. data/CHANGELOG.md +24 -0
  5. data/CONTRIBUTING.md +93 -0
  6. data/Gemfile +4 -0
  7. data/Rakefile +60 -0
  8. data/VERSION +1 -1
  9. data/lib/custom_facts/util/collection.rb +1 -1
  10. data/lib/custom_facts/util/loader.rb +1 -1
  11. data/lib/custom_facts/util/parser.rb +1 -1
  12. data/lib/facter.rb +0 -1
  13. data/lib/facts/debian/lsbdistcodename.rb +16 -0
  14. data/lib/facts/debian/lsbdistdescription.rb +16 -0
  15. data/lib/facts/debian/lsbdistid.rb +16 -0
  16. data/lib/facts/debian/lsbdistrelease.rb +23 -0
  17. data/lib/facts/debian/os/distro/codename.rb +13 -4
  18. data/lib/facts/debian/os/distro/description.rb +2 -4
  19. data/lib/facts/debian/os/distro/id.rb +2 -4
  20. data/lib/facts/debian/os/distro/release.rb +1 -5
  21. data/lib/facts/el/processor.rb +1 -0
  22. data/lib/facts/el/sshalgorithmkey.rb +1 -0
  23. data/lib/facts/el/sshfp_algorithm.rb +1 -0
  24. data/lib/facts/macosx/sshalgorithmkey.rb +1 -0
  25. data/lib/facts/macosx/sshfp_algorithm.rb +1 -0
  26. data/lib/facts/sles/processor.rb +1 -0
  27. data/lib/facts/sles/sshalgorithmkey.rb +1 -0
  28. data/lib/facts/sles/sshfp_algorithm.rb +1 -0
  29. data/lib/facts/windows/ipaddress6_interfaces.rb +1 -0
  30. data/lib/facts/windows/ipaddress_interfaces.rb +1 -0
  31. data/lib/facts/windows/macaddress_interfaces.rb +1 -0
  32. data/lib/facts/windows/mtu_interfaces.rb +1 -0
  33. data/lib/facts/windows/netmask6_interfaces.rb +1 -0
  34. data/lib/facts/windows/netmask_interfaces.rb +1 -0
  35. data/lib/facts/windows/network6_interfaces.rb +1 -0
  36. data/lib/facts/windows/network_interfaces.rb +1 -0
  37. data/lib/facts/windows/processor.rb +1 -0
  38. data/lib/facts/windows/scope6_interfaces.rb +1 -0
  39. data/lib/framework/cli/cli.rb +7 -7
  40. data/lib/framework/core/fact/internal/internal_fact_manager.rb +4 -1
  41. data/lib/framework/core/fact_loaders/internal_fact_loader.rb +1 -1
  42. data/lib/models/resolved_fact.rb +4 -0
  43. data/lib/resolvers/windows/networking_resolver.rb +1 -1
  44. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 63754f9680508e1714380c5748e316728b74d146a4b0eb465a00284400439b39
4
- data.tar.gz: 822ec4903396d341adacae685abfd81401e2e2bddb9ff63da1ddf6228b7a4153
3
+ metadata.gz: 4ac142ce04ba0e86b5a01726649b5b779562b472e162fb446261a15d9873efe4
4
+ data.tar.gz: ed8f02efebff60c27c93be0b6073564c80b38f850b4c564a29e12994b1057636
5
5
  SHA512:
6
- metadata.gz: 6d4dd2ae2e72badce0b7539d11c30d5eabe6ceb2391dd382b640ede61c93bfb0591ae295c41c348cc7759f62a2904a469925ae85a6ffcf9405fdbabb130a0cf0
7
- data.tar.gz: 0cfeb5bb052cd3e6353e77afaca0ece7dc34f49c68c4b03a0851b7862fd9e6bef1faa3478f89ca3b3e3b4ff47d1b9f82888c7ee42423968ac10318b62cfd4b2d
6
+ metadata.gz: 19ca811ddbfeb3fd48f1376bb8a5694242ecb70ff83e85aff34c38eeeb55a43cf5ccf810494b6bbaebe26b6564e0a66dca5f8b9d578550447c757074b7a36bef
7
+ data.tar.gz: db4abe8360068573b590dfcf648da8e99decf2f392870b1fd29daa6e32695547bd1bc141c5d82c6fdd28bc3f8025c2f2256891a72d7b0920f87d9aff36bd2f28
@@ -8,6 +8,9 @@ require:
8
8
  Documentation:
9
9
  Enabled: false
10
10
 
11
+ Style/TrivialAccessors:
12
+ AllowDSLWriters: true
13
+
11
14
  Metrics/LineLength:
12
15
  Max: 120
13
16
 
@@ -1,35 +1,11 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config --exclude-limit 1000`
3
- # on 2020-03-31 19:10:53 +0300 using RuboCop version 0.74.0.
3
+ # on 2020-04-07 19:23:35 +0300 using RuboCop version 0.74.0.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 69
10
- # Configuration parameters: Prefixes.
11
- # Prefixes: when, with, without
12
- RSpec/ContextWording:
13
- Exclude:
14
- - 'spec/custom_facts/core/execution/posix_spec.rb'
15
- - 'spec/custom_facts/core/execution/windows_spec.rb'
16
- - 'spec/custom_facts/shared_contexts/platform.rb'
17
- - 'spec/custom_facts/util/parser_spec.rb'
18
- - 'spec/facter/fact_filter_spec.rb'
19
- - 'spec/facter/facter_spec.rb'
20
- - 'spec/facter/facts/macosx/is_virtual_spec.rb'
21
- - 'spec/facter/resolvers/solaris/current_zone_resolver_spec.rb'
22
- - 'spec/facter/resolvers/solaris/solaris_release_resolver_spec.rb'
23
- - 'spec/facter/resolvers/solaris/zfs_resolver_spec.rb'
24
- - 'spec/facter/resolvers/solaris/zone_resolver_spec.rb'
25
- - 'spec/facter/resolvers/solaris/zpool_resolver_spec.rb'
26
- - 'spec/facter/resolvers/ssh_resolver_spec.rb'
27
- - 'spec/facter/resolvers/utils/windows/network_utils_spec.rb'
28
- - 'spec/framework/config/config_reader_spec.rb'
29
- - 'spec/framework/core/fact_loaders/external_fact_loader_spec.rb'
30
- - 'spec/framework/core/options_spec.rb'
31
- - 'spec/framework/formatters/legacy_fact_formatter_spec.rb'
32
-
33
9
  # Offense count: 79
34
10
  # Configuration parameters: CustomTransform, IgnoreMethods.
35
11
  RSpec/FilePath:
@@ -122,12 +98,6 @@ RSpec/InstanceVariable:
122
98
  - 'spec/custom_facts/util/collection_spec.rb'
123
99
  - 'spec/custom_facts/util/confine_spec.rb'
124
100
 
125
- # Offense count: 2
126
- RSpec/IteratedExpectation:
127
- Exclude:
128
- - 'spec/custom_facts/core/aggregate_spec.rb'
129
- - 'spec/custom_facts/core/suitable_spec.rb'
130
-
131
101
  # Offense count: 16
132
102
  RSpec/LeakyConstantDeclaration:
133
103
  Exclude:
@@ -138,14 +108,13 @@ RSpec/LeakyConstantDeclaration:
138
108
  - 'spec/facter/resolvers/macosx/mountpoints_resolver_spec.rb'
139
109
  - 'spec/facter/resolvers/utils/windows/network_utils_spec.rb'
140
110
 
141
- # Offense count: 290
111
+ # Offense count: 121
142
112
  # Configuration parameters: EnforcedStyle.
143
113
  # SupportedStyles: have_received, receive
144
114
  RSpec/MessageSpies:
145
115
  Exclude:
146
116
  - 'spec/custom_facts/core/aggregate_spec.rb'
147
117
  - 'spec/custom_facts/core/execution/fact_manager_spec.rb'
148
- - 'spec/custom_facts/core/execution/posix_spec.rb'
149
118
  - 'spec/custom_facts/core/execution/windows_spec.rb'
150
119
  - 'spec/custom_facts/core/execution_spec.rb'
151
120
  - 'spec/custom_facts/core/logging_spec.rb'
@@ -159,59 +128,20 @@ RSpec/MessageSpies:
159
128
  - 'spec/custom_facts/util/parser_spec.rb'
160
129
  - 'spec/custom_facts/util/resolution_spec.rb'
161
130
  - 'spec/facter/facter_spec.rb'
162
- - 'spec/facter/facts/aix/networking/domain_spec.rb'
163
- - 'spec/facter/facts/aix/networking/fqdn_spec.rb'
164
- - 'spec/facter/facts/aix/networking/hostname_spec.rb'
165
- - 'spec/facter/facts/aix/networking/ip_spec.rb'
166
- - 'spec/facter/facts/aix/networking/primary_spec.rb'
167
131
  - 'spec/facter/facts/aix/os/name_spec.rb'
168
132
  - 'spec/facter/facts/aix/os/release_spec.rb'
169
- - 'spec/facter/facts/aix/ruby/version_spec.rb'
170
- - 'spec/facter/facts/debian/networking/domain_spec.rb'
171
- - 'spec/facter/facts/debian/networking/fqdn_spec.rb'
172
- - 'spec/facter/facts/debian/networking/hostname_spec.rb'
173
- - 'spec/facter/facts/debian/networking/interfaces_spec.rb'
174
- - 'spec/facter/facts/debian/networking/ip_spec.rb'
175
- - 'spec/facter/facts/debian/networking/primary_spec.rb'
176
- - 'spec/facter/facts/debian/os/family_spec.rb'
177
- - 'spec/facter/facts/debian/ruby/version_spec.rb'
178
- - 'spec/facter/facts/el/networking/domain_spec.rb'
179
- - 'spec/facter/facts/el/networking/fqdn_spec.rb'
180
- - 'spec/facter/facts/el/networking/hostname_spec.rb'
181
- - 'spec/facter/facts/el/networking/interfaces_spec.rb'
182
- - 'spec/facter/facts/el/networking/ip_spec.rb'
183
- - 'spec/facter/facts/el/networking/primary_spec.rb'
184
133
  - 'spec/facter/facts/macosx/is_virtual_spec.rb'
185
- - 'spec/facter/facts/macosx/memory/swap/used_spec.rb'
186
- - 'spec/facter/facts/macosx/memory/system/used_spec.rb'
187
134
  - 'spec/facter/facts/macosx/mountpoints_spec.rb'
188
- - 'spec/facter/facts/macosx/networking/domain_spec.rb'
189
- - 'spec/facter/facts/macosx/networking/fqdn_spec.rb'
190
- - 'spec/facter/facts/macosx/networking/hostname_spec.rb'
191
135
  - 'spec/facter/facts/macosx/os/architecture_spec.rb'
192
136
  - 'spec/facter/facts/macosx/os/family_spec.rb'
193
137
  - 'spec/facter/facts/macosx/os/name_spec.rb'
194
- - 'spec/facter/facts/macosx/ruby/version_spec.rb'
195
- - 'spec/facter/facts/sles/facterversion_spec.rb'
196
- - 'spec/facter/facts/sles/networking/domain_spec.rb'
197
- - 'spec/facter/facts/sles/networking/fqdn_spec.rb'
198
- - 'spec/facter/facts/sles/networking/hostname_spec.rb'
199
- - 'spec/facter/facts/sles/networking/interfaces_spec.rb'
200
- - 'spec/facter/facts/sles/networking/ip_spec.rb'
201
- - 'spec/facter/facts/sles/networking/primary_spec.rb'
202
138
  - 'spec/facter/facts/sles/os/architecture_spec.rb'
203
139
  - 'spec/facter/facts/sles/os/name_spec.rb'
204
140
  - 'spec/facter/facts/sles/os/release_spec.rb'
205
- - 'spec/facter/facts/solaris/facterversion_spec.rb'
206
- - 'spec/facter/facts/solaris/networking/domain_spec.rb'
207
- - 'spec/facter/facts/solaris/networking/fqdn_spec.rb'
208
- - 'spec/facter/facts/solaris/networking/hostname_spec.rb'
209
141
  - 'spec/facter/facts/solaris/os/architecture_spec.rb'
210
142
  - 'spec/facter/facts/solaris/os/name_spec.rb'
211
- - 'spec/facter/facts/solaris/os/release_spec.rb'
212
143
  - 'spec/facter/facts/solaris/ruby/platform_spec.rb'
213
144
  - 'spec/facter/facts/solaris/ruby/sitedir_spec.rb'
214
- - 'spec/facter/facts/solaris/ruby/version_spec.rb'
215
145
  - 'spec/facter/facts/windows/dmi/manufacturer_spec.rb'
216
146
  - 'spec/facter/facts/windows/dmi/product/name_spec.rb'
217
147
  - 'spec/facter/facts/windows/dmi/product/serial_number_spec.rb'
@@ -230,21 +160,10 @@ RSpec/MessageSpies:
230
160
  - 'spec/facter/facts/windows/netmask_interfaces_spec.rb'
231
161
  - 'spec/facter/facts/windows/network6_interfaces_spec.rb'
232
162
  - 'spec/facter/facts/windows/network_interfaces_spec.rb'
233
- - 'spec/facter/facts/windows/networking/domain_spec.rb'
234
- - 'spec/facter/facts/windows/networking/fqdn_spec.rb'
235
- - 'spec/facter/facts/windows/networking/hostname_spec.rb'
236
- - 'spec/facter/facts/windows/networking/ip6_spec.rb'
237
- - 'spec/facter/facts/windows/networking/mac_spec.rb'
238
- - 'spec/facter/facts/windows/networking/netmask6_spec.rb'
239
- - 'spec/facter/facts/windows/networking/netmask_spec.rb'
240
- - 'spec/facter/facts/windows/networking/network6_spec.rb'
241
- - 'spec/facter/facts/windows/networking/network_spec.rb'
242
- - 'spec/facter/facts/windows/networking/scope6_spec.rb'
243
163
  - 'spec/facter/facts/windows/os/architecture_spec.rb'
244
164
  - 'spec/facter/facts/windows/os/family_spec.rb'
245
165
  - 'spec/facter/facts/windows/os/hardware_spec.rb'
246
166
  - 'spec/facter/facts/windows/os/name_spec.rb'
247
- - 'spec/facter/facts/windows/os/release_spec.rb'
248
167
  - 'spec/facter/facts/windows/os/windows/edition_id_spec.rb'
249
168
  - 'spec/facter/facts/windows/os/windows/installation_type_spec.rb'
250
169
  - 'spec/facter/facts/windows/os/windows/product_name_spec.rb'
@@ -255,19 +174,10 @@ RSpec/MessageSpies:
255
174
  - 'spec/facter/facts/windows/processors/physicalcount_spec.rb'
256
175
  - 'spec/facter/facts/windows/ruby/platform_spec.rb'
257
176
  - 'spec/facter/facts/windows/ruby/sitedir_spec.rb'
258
- - 'spec/facter/facts/windows/ruby/version_spec.rb'
259
177
  - 'spec/facter/facts/windows/scope6_interfaces_spec.rb'
260
- - 'spec/facter/resolvers/aix/ffi_helper_spec.rb'
261
178
  - 'spec/facter/resolvers/utils/aix/odm_query_spec.rb'
262
- - 'spec/framework/config/block_list_spec.rb'
263
179
  - 'spec/framework/config/config_reader_spec.rb'
264
180
  - 'spec/framework/core/fact_loaders/external_fact_loader_spec.rb'
265
- - 'spec/framework/detector/os_detector_spec.rb'
266
-
267
- # Offense count: 118
268
- # Configuration parameters: AggregateFailuresByDefault.
269
- RSpec/MultipleExpectations:
270
- Max: 9
271
181
 
272
182
  # Offense count: 26
273
183
  RSpec/SubjectStub:
@@ -280,7 +190,7 @@ RSpec/SubjectStub:
280
190
  - 'spec/custom_facts/util/fact_spec.rb'
281
191
  - 'spec/custom_facts/util/resolution_spec.rb'
282
192
 
283
- # Offense count: 239
193
+ # Offense count: 193
284
194
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
285
195
  RSpec/VerifiedDoubles:
286
196
  Exclude:
@@ -291,49 +201,12 @@ RSpec/VerifiedDoubles:
291
201
  - 'spec/custom_facts/util/fact_spec.rb'
292
202
  - 'spec/custom_facts/util/resolution_spec.rb'
293
203
  - 'spec/facter/facter_spec.rb'
294
- - 'spec/facter/facts/aix/facterversion_spec.rb'
295
- - 'spec/facter/facts/aix/kernel_spec.rb'
296
- - 'spec/facter/facts/aix/kernelmajversion_spec.rb'
297
- - 'spec/facter/facts/aix/kernelrelease_spec.rb'
298
- - 'spec/facter/facts/aix/kernelversion_spec.rb'
299
- - 'spec/facter/facts/aix/path_spec.rb'
300
204
  - 'spec/facter/facts/aix/ssh_spec.rb'
301
- - 'spec/facter/facts/debian/facterversion_spec.rb'
302
- - 'spec/facter/facts/debian/kernel_spec.rb'
303
- - 'spec/facter/facts/debian/kernelmajversion_spec.rb'
304
- - 'spec/facter/facts/debian/kernelrelease_spec.rb'
305
- - 'spec/facter/facts/debian/kernelversion_spec.rb'
306
- - 'spec/facter/facts/debian/path_spec.rb'
307
- - 'spec/facter/facts/el/facterversion_spec.rb'
308
- - 'spec/facter/facts/el/kernel_spec.rb'
309
- - 'spec/facter/facts/el/kernelmajversion_spec.rb'
310
- - 'spec/facter/facts/el/kernelrelease_spec.rb'
311
- - 'spec/facter/facts/el/kernelversion_spec.rb'
312
- - 'spec/facter/facts/el/path_spec.rb'
313
- - 'spec/facter/facts/macosx/facterversion_spec.rb'
314
- - 'spec/facter/facts/macosx/kernel_spec.rb'
315
- - 'spec/facter/facts/macosx/kernelmajversion_spec.rb'
316
- - 'spec/facter/facts/macosx/kernelrelease_spec.rb'
317
- - 'spec/facter/facts/macosx/kernelversion_spec.rb'
318
205
  - 'spec/facter/facts/macosx/memory/swap/capacity_spec.rb'
319
206
  - 'spec/facter/facts/macosx/memory/swap/used_bytes_spec.rb'
320
- - 'spec/facter/facts/macosx/memory/swap/used_spec.rb'
321
207
  - 'spec/facter/facts/macosx/memory/system/capacity_spec.rb'
322
208
  - 'spec/facter/facts/macosx/memory/system/used_bytes_spec.rb'
323
- - 'spec/facter/facts/macosx/memory/system/used_spec.rb'
324
- - 'spec/facter/facts/macosx/path_spec.rb'
325
- - 'spec/facter/facts/sles/kernel_spec.rb'
326
- - 'spec/facter/facts/sles/kernelmajversion_spec.rb'
327
- - 'spec/facter/facts/sles/kernelrelease_spec.rb'
328
- - 'spec/facter/facts/sles/kernelversion_spec.rb'
329
- - 'spec/facter/facts/sles/path_spec.rb'
330
- - 'spec/facter/facts/solaris/kernel_spec.rb'
331
- - 'spec/facter/facts/solaris/kernelmajversion_spec.rb'
332
- - 'spec/facter/facts/solaris/kernelrelease_spec.rb'
333
- - 'spec/facter/facts/solaris/kernelversion_spec.rb'
334
- - 'spec/facter/facts/solaris/path_spec.rb'
335
209
  - 'spec/facter/facts/windows/dmi/product/serial_number_spec.rb'
336
- - 'spec/facter/facts/windows/facterversion_spec.rb'
337
210
  - 'spec/facter/facts/windows/hypervisors/hyperv_spec.rb'
338
211
  - 'spec/facter/facts/windows/hypervisors/kvm_spec.rb'
339
212
  - 'spec/facter/facts/windows/hypervisors/virtualbox_spec.rb'
@@ -342,12 +215,10 @@ RSpec/VerifiedDoubles:
342
215
  - 'spec/facter/facts/windows/identity/privileged_spec.rb'
343
216
  - 'spec/facter/facts/windows/memory/system/capacity_spec.rb'
344
217
  - 'spec/facter/facts/windows/memory/system/used_bytes_spec.rb'
345
- - 'spec/facter/facts/windows/memory/system/used_spec.rb'
346
218
  - 'spec/facter/facts/windows/networking/dhcp_spec.rb'
347
219
  - 'spec/facter/facts/windows/networking/interfaces_spec.rb'
348
220
  - 'spec/facter/facts/windows/networking/mtu_spec.rb'
349
221
  - 'spec/facter/facts/windows/networking/primary_spec.rb'
350
- - 'spec/facter/facts/windows/path_spec.rb'
351
222
  - 'spec/facter/facts/windows/processors/models_spec.rb'
352
223
  - 'spec/facter/facts/windows/virtualization/is_virtual_spec.rb'
353
224
  - 'spec/facter/facts/windows/virtualization/virtual_spec.rb'
@@ -378,8 +249,6 @@ RSpec/VerifiedDoubles:
378
249
  - 'spec/facter/resolvers/windows/virtualization_resolver_spec.rb'
379
250
  - 'spec/facter/resolvers/windows/win_os_description_resolver_spec.rb'
380
251
  - 'spec/framework/config/block_list_spec.rb'
381
- - 'spec/framework/core/fact/external/external_fact_manager_spec.rb'
382
- - 'spec/framework/core/fact/internal/internal_fact_manager_spec.rb'
383
252
  - 'spec/framework/core/fact_loaders/external_fact_loader_spec.rb'
384
253
  - 'spec/framework/core/fact_loaders/fact_loader_spec.rb'
385
254
  - 'spec/framework/core/fact_manager_spec.rb'
@@ -0,0 +1,24 @@
1
+
2
+
3
+ ## [4.0.14](https://github.com/puppetlabs/facter-ng/tree/4.0.14) (2020-04-01)
4
+
5
+ [Full Changelog](https://github.com/puppetlabs/facter-ng/compare/4.0.13...4.0.14)
6
+
7
+ ### Added
8
+
9
+ - \(FACT-2512\) Handle Raspbian as Debian [\#421](https://github.com/puppetlabs/facter-ng/pull/421) ([mlove-au](https://github.com/mlove-au))
10
+ - \(FACT-2231\) Add AIX mountpoints fact [\#398](https://github.com/puppetlabs/facter-ng/pull/398) ([oanatmaria](https://github.com/oanatmaria))
11
+ - \(FACT-2471\) Add Linux partitions fact [\#393](https://github.com/puppetlabs/facter-ng/pull/393) ([oanatmaria](https://github.com/oanatmaria))
12
+ - Debugger tool [\#391](https://github.com/puppetlabs/facter-ng/pull/391) ([sebastian-miclea](https://github.com/sebastian-miclea))
13
+ - \(FACT-2435\) Expose :expand as an option to execute command [\#342](https://github.com/puppetlabs/facter-ng/pull/342) ([florindragos](https://github.com/florindragos))
14
+
15
+ ### Fixed
16
+
17
+ - \(FACT-2511\) Remove file logger [\#425](https://github.com/puppetlabs/facter-ng/pull/425) ([IrimieBogdan](https://github.com/IrimieBogdan))
18
+ - \(FACT-2498\) Internal fact loader should only load facts once [\#420](https://github.com/puppetlabs/facter-ng/pull/420) ([IrimieBogdan](https://github.com/IrimieBogdan))
19
+ - Avoid exceptions for zone facts on FreeBSD [\#412](https://github.com/puppetlabs/facter-ng/pull/412) ([smortex](https://github.com/smortex))
20
+ - \(FACT-2475\) Fix os.release on Debian [\#410](https://github.com/puppetlabs/facter-ng/pull/410) ([oanatmaria](https://github.com/oanatmaria))
21
+
22
+
23
+
24
+ \* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
@@ -0,0 +1,93 @@
1
+
2
+ # How to contribute
3
+
4
+ Third-party patches are essential for keeping facter great. We simply can't
5
+ access the huge number of platforms and myriad configurations for running
6
+ Facter. We want to keep it as easy as possible to contribute changes that
7
+ get things working in your environment. There are a few guidelines that we
8
+ need contributors to follow so that we can have a chance of keeping on
9
+ top of things.
10
+
11
+ ## Getting Started
12
+
13
+ * Make sure you have a [Jira account](https://tickets.puppetlabs.com).
14
+ * Make sure you have a [GitHub account](https://github.com/signup/free).
15
+ * Submit a Jira ticket for your issue if one does not already exist.
16
+ * Clearly describe the issue including steps to reproduce when it is a bug.
17
+ * Make sure you fill in the earliest version that you know has the issue.
18
+ * A ticket is not necessary for [trivial changes](https://puppet.com/community/trivial-patch-exemption-policy)
19
+ * Fork the repository on GitHub.
20
+
21
+ ## Making Changes
22
+
23
+ * Create a topic branch from where you want to base your work.
24
+ * This is usually the master branch.
25
+ * Once merged, your work will be automatically promoted to the other release
26
+ streams when our internal CI passes.
27
+ * To quickly create a topic branch based on master, run `git checkout -b
28
+ fix/master/my_contribution master`. Please avoid working directly on the
29
+ `master` branch.
30
+ * Make commits of logical units.
31
+ * Check for unnecessary whitespace with `git diff --check` before committing.
32
+ * Make sure your commit messages are in the proper format. We use the [50/72 rule](https://git-scm.com/book/en/v2/Distributed-Git-Contributing-to-a-Project) in commit messages.
33
+ * If the commit addresses an issue filed in the [Facter Jira project](https://tickets.puppetlabs.com/browse/FACT), start the first line of the commit with the issue number in parentheses.
34
+
35
+ ````
36
+ (FACT-1234) Make the example in CONTRIBUTING imperative and concrete
37
+
38
+ Without this patch applied the example commit message in the CONTRIBUTING
39
+ document is not a concrete example. This is a problem because the
40
+ contributor is left to imagine what the commit message should look like
41
+ based on a description rather than an example. This patch fixes the
42
+ problem by making the example concrete and imperative.
43
+
44
+ The first line is a real life imperative statement with a ticket number
45
+ from our issue tracker. The body describes the behavior without the patch,
46
+ why this is a problem, and how the patch fixes the problem when applied.
47
+ ````
48
+
49
+ * Make sure you have added the necessary tests for your changes.
50
+ * Run _all_ the tests to assure nothing else was accidentally broken.
51
+ * We recommend running `./check.sh` to have the same checks run as on github
52
+
53
+ ## Making Trivial Changes
54
+
55
+ For [changes of a trivial nature](https://puppet.com/community/trivial-patch-exemption-policy), it is not always necessary to create a new
56
+ ticket in Jira. In this case, it is appropriate to start the first line of a
57
+ commit with one of `(docs)` or `(maint)` instead of a ticket number.
58
+
59
+ If a Jira ticket exists for the documentation commit, you can include it
60
+ after the `(docs)` token.
61
+
62
+ ```
63
+ (docs)(DOCUMENT-000) Add docs commit example to CONTRIBUTING
64
+
65
+ There is no example for contributing a documentation commit
66
+ to the Facter repository. This is a problem because the contributor
67
+ is left to assume how a commit of this nature may appear.
68
+
69
+ The first line is a real-life imperative statement with '(docs)' in
70
+ place of what would have been the FACT project ticket number in a
71
+ non-documentation related commit. The body describes the nature of
72
+ the new documentation or comments added.
73
+ ```
74
+
75
+ For commits that address trivial repository maintenance tasks start the first line of the commit with `(maint)`
76
+
77
+ ## Submitting Changes
78
+
79
+ * Sign the [Contributor License Agreement](http://links.puppet.com/cla).
80
+ * Push your changes to a topic branch in your fork of the repository.
81
+ * Submit a pull request to the repository in the puppetlabs organization.
82
+ * Update your ticket to mark that you have submitted code and are ready for it to be reviewed.
83
+ * Include a link to the pull request in the ticket
84
+
85
+ # Additional Resources
86
+
87
+ * [Puppet community guidelines](https://puppet.com/community/community-guidelines/)
88
+ * [Bug tracker (Jira)](https://tickets.puppetlabs.com/browse/FACT)
89
+ * [Contributor License Agreement](http://links.puppet.com/cla)
90
+ * [General GitHub documentation](http://help.github.com/)
91
+ * [GitHub pull request documentation](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
92
+ * [puppet-dev mailing list](https://groups.google.com/forum/#!forum/puppet-dev)
93
+ * [Puppet-dev Slack channel](https://puppetcommunity.slack.com/archives/C0W1X7ZAL)
data/Gemfile CHANGED
@@ -4,5 +4,9 @@ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
4
4
 
5
5
  gemspec name: 'facter'
6
6
 
7
+ group(:release, optional: true) do
8
+ gem 'github_changelog_generator' if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')
9
+ end
10
+
7
11
  local_gemfile = File.expand_path('Gemfile.local', __dir__)
8
12
  eval_gemfile(local_gemfile) if File.exist?(local_gemfile)
data/Rakefile CHANGED
@@ -7,3 +7,63 @@ RSpec::Core::RakeTask.new(:spec)
7
7
  Dir.glob(File.join('tasks/**/*.rake')).each { |file| load file }
8
8
 
9
9
  task default: :spec
10
+
11
+ def retrieve_from_keyboard
12
+ puts "Please provide the next release tag:\n"
13
+ next_version = $stdin.gets.chomp
14
+ raise(ArgumentError, ' The string that you entered is invalid!') unless /[0-9]+\.[0-9]+\.[0-9]+/.match?(next_version)
15
+
16
+ next_version
17
+ end
18
+
19
+ if Bundler.rubygems.find_name('github_changelog_generator').any?
20
+ require 'github_changelog_generator/task'
21
+
22
+ GitHubChangelogGenerator::RakeTask.new :changelog do |config|
23
+ if Rake.application.top_level_tasks.include?('changelog') &&
24
+ ENV['CHANGELOG_GITHUB_TOKEN'].nil?
25
+ raise 'Set CHANGELOG_GITHUB_TOKEN environment variable' /
26
+ " eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'"
27
+ end
28
+
29
+ config.user = 'puppetlabs'
30
+ config.project = 'facter-ng'
31
+ config.since_tag = File.read('VERSION').strip
32
+ config.future_release = retrieve_from_keyboard
33
+ config.exclude_labels = ['maintenance']
34
+ config.add_pr_wo_labels = true
35
+ config.issues = false
36
+ config.max_issues = 100
37
+ config.header = ''
38
+ config.base = 'CHANGELOG.md'
39
+ config.merge_prefix = '### UNCATEGORIZED PRS; GO LABEL THEM'
40
+ config.configure_sections = {
41
+ "Changed": {
42
+ "prefix": '### Changed',
43
+ "labels": ['backwards-incompatible']
44
+ },
45
+ "Added": {
46
+ "prefix": '### Added',
47
+ "labels": ['feature']
48
+ },
49
+ "Fixed": {
50
+ "prefix": '### Fixed',
51
+ "labels": ['bugfix']
52
+ }
53
+ }
54
+ end
55
+ else
56
+ desc 'Generate a Changelog from GitHub'
57
+ task :changelog do
58
+ raise <<~ERRORMESSAGE
59
+ The changelog tasks depends on github_changelog_generator gem.
60
+ Please install github_changelog_generator:
61
+ ---
62
+ Gemfile:
63
+ optional:
64
+ ':release':
65
+ - gem: 'github_changelog_generator'
66
+ condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
67
+ ERRORMESSAGE
68
+ end
69
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 4.0.14
1
+ 4.0.15
@@ -32,7 +32,7 @@ module LegacyFacter
32
32
 
33
33
  fact
34
34
  rescue StandardError => e
35
- LegacyFacter.log_exception(e, "Unable to add fact #{name}: #{e}")
35
+ Facter.log_exception(e, "Unable to add fact #{name}: #{e}")
36
36
  end
37
37
 
38
38
  # Add a resolution mechanism for a named fact. This does not distinguish
@@ -112,7 +112,7 @@ module LegacyFacter
112
112
  # Don't store the path if the file can't be loaded
113
113
  # in case it's loadable later on.
114
114
  @loaded.delete(file)
115
- LegacyFacter.log_exception(e, "Error loading fact #{file}: #{e.message}")
115
+ Facter.log_exception(e, "Error loading fact #{file}: #{e.message}")
116
116
  end
117
117
  end
118
118
 
@@ -58,7 +58,7 @@ module LegacyFacter
58
58
  def results
59
59
  parse_results
60
60
  rescue Exception => e
61
- LegacyFacter.log_exception(e, "Failed to handle #{filename} as #{self.class} facts: #{e.message}")
61
+ Facter.log_exception(e, "Failed to handle #{filename} as #{self.class} facts: #{e.message}")
62
62
  nil
63
63
  end
64
64
 
@@ -213,7 +213,6 @@ module Facter
213
213
  #
214
214
  # @api public
215
215
  def trace(bool)
216
- LegacyFacter.trace(bool)
217
216
  @trace = bool
218
217
  end
219
218
 
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Debian
5
+ class Lsbdistcodename
6
+ FACT_NAME = 'lsbdistcodename'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::LsbRelease.resolve(:codename)
11
+
12
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Debian
5
+ class Lsbdistdescription
6
+ FACT_NAME = 'lsbdistdescription'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::LsbRelease.resolve(:description)
11
+
12
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Debian
5
+ class Lsbdistid
6
+ FACT_NAME = 'lsbdistid'
7
+ TYPE = :legacy
8
+
9
+ def call_the_resolver
10
+ fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id)
11
+
12
+ Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Facts
4
+ module Debian
5
+ class Lsbdistrelease
6
+ FACT_NAME = 'lsbdistrelease'
7
+ ALIASES = %w[lsbmajdistrelease lsbminordistrelease].freeze
8
+ TYPE = :legacy
9
+
10
+ def call_the_resolver
11
+ fact_value = Facter::Resolvers::LsbRelease.resolve(:release)
12
+
13
+ return Facter::ResolvedFact.new(FACT_NAME, nil, :legacy) unless fact_value
14
+
15
+ version = fact_value.split('.')
16
+
17
+ [Facter::ResolvedFact.new(FACT_NAME, fact_value, :legacy),
18
+ Facter::ResolvedFact.new(ALIASES[0], version[0], :legacy),
19
+ Facter::ResolvedFact.new(ALIASES[1], version[1], :legacy)]
20
+ end
21
+ end
22
+ end
23
+ end
@@ -6,13 +6,22 @@ module Facts
6
6
  module Distro
7
7
  class Codename
8
8
  FACT_NAME = 'os.distro.codename'
9
- ALIASES = 'lsbdistcodename'
10
9
 
11
10
  def call_the_resolver
12
- fact_value = Facter::Resolvers::LsbRelease.resolve(:codename)
11
+ fact_value = Facter::Resolvers::OsRelease.resolve(:version_codename)
12
+ fact_value ||= retreieve_from_version
13
13
 
14
- [Facter::ResolvedFact.new(FACT_NAME, fact_value),
15
- Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
14
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
15
+ end
16
+
17
+ def retreieve_from_version
18
+ version = Facter::Resolvers::OsRelease.resolve(:version)
19
+ return unless version
20
+
21
+ codename = /\(.*\)$/.match(version).to_s.gsub(/\(|\)/, '')
22
+ return codename unless codename.empty?
23
+
24
+ /[A-Za-z]+\s[A-Za-z]+/.match(version).to_s.split(' ').first.downcase
16
25
  end
17
26
  end
18
27
  end
@@ -6,13 +6,11 @@ module Facts
6
6
  module Distro
7
7
  class Description
8
8
  FACT_NAME = 'os.distro.description'
9
- ALIASES = 'lsbdistdescription'
10
9
 
11
10
  def call_the_resolver
12
- fact_value = Facter::Resolvers::LsbRelease.resolve(:description)
11
+ fact_value = Facter::Resolvers::OsRelease.resolve(:pretty_name)
13
12
 
14
- [Facter::ResolvedFact.new(FACT_NAME, fact_value),
15
- Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
16
14
  end
17
15
  end
18
16
  end
@@ -6,13 +6,11 @@ module Facts
6
6
  module Distro
7
7
  class Id
8
8
  FACT_NAME = 'os.distro.id'
9
- ALIASES = 'lsbdistid'
10
9
 
11
10
  def call_the_resolver
12
- fact_value = Facter::Resolvers::LsbRelease.resolve(:distributor_id)
11
+ fact_value = Facter::Resolvers::OsRelease.resolve(:id).capitalize
13
12
 
14
- [Facter::ResolvedFact.new(FACT_NAME, fact_value),
15
- Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
13
+ Facter::ResolvedFact.new(FACT_NAME, fact_value)
16
14
  end
17
15
  end
18
16
  end
@@ -6,7 +6,6 @@ module Facts
6
6
  module Distro
7
7
  class Release
8
8
  FACT_NAME = 'os.distro.release'
9
- ALIASES = %w[lsbdistrelease lsbmajdistrelease lsbminordistrelease].freeze
10
9
 
11
10
  def call_the_resolver
12
11
  fact_value = determine_release_for_os
@@ -16,10 +15,7 @@ module Facts
16
15
  versions = fact_value.split('.')
17
16
  release = { 'full' => fact_value, 'major' => versions[0], 'minor' => versions[1].gsub(/^0([1-9])/, '\1') }
18
17
 
19
- [Facter::ResolvedFact.new(FACT_NAME, release),
20
- Facter::ResolvedFact.new(ALIASES[0], fact_value, :legacy),
21
- Facter::ResolvedFact.new(ALIASES[1], release['major'], :legacy),
22
- Facter::ResolvedFact.new(ALIASES[2], release['minor'], :legacy)]
18
+ Facter::ResolvedFact.new(FACT_NAME, release)
23
19
  end
24
20
 
25
21
  private
@@ -4,6 +4,7 @@ module Facts
4
4
  module El
5
5
  class Processor
6
6
  FACT_NAME = 'processor.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module El
5
5
  class Sshalgorithmkey
6
6
  FACT_NAME = 'ssh.*key'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module El
5
5
  class SshfpAlgorithm
6
6
  FACT_NAME = 'sshfp_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Macosx
5
5
  class Sshalgorithmkey
6
6
  FACT_NAME = 'ssh.*key'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Macosx
5
5
  class SshfpAlgorithm
6
6
  FACT_NAME = 'sshfp_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Sles
5
5
  class Processor
6
6
  FACT_NAME = 'processor.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Sles
5
5
  class Sshalgorithmkey
6
6
  FACT_NAME = 'ssh.*key'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Sles
5
5
  class SshfpAlgorithm
6
6
  FACT_NAME = 'sshfp_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  facts = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class Ipaddress6Interfaces
6
6
  FACT_NAME = 'ipaddress6_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class IpaddressInterfaces
6
6
  FACT_NAME = 'ipaddress_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class MacaddressInterfaces
6
6
  FACT_NAME = 'macaddress_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class MtuInterfaces
6
6
  FACT_NAME = 'mtu_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class Netmask6Interfaces
6
6
  FACT_NAME = 'netmask6_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class NetmaskInterfaces
6
6
  FACT_NAME = 'netmask_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class Network6Interfaces
6
6
  FACT_NAME = 'network6_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class NetworkInterfaces
6
6
  FACT_NAME = 'network_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class Processor
6
6
  FACT_NAME = 'processor.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -4,6 +4,7 @@ module Facts
4
4
  module Windows
5
5
  class Scope6Interfaces
6
6
  FACT_NAME = 'scope6_.*'
7
+ TYPE = :legacy
7
8
 
8
9
  def call_the_resolver
9
10
  arr = []
@@ -10,7 +10,7 @@ module Facter
10
10
  desc: 'Enable color output.'
11
11
 
12
12
  class_option :config,
13
- aliases: :c,
13
+ aliases: '-c',
14
14
  type: :string,
15
15
  desc: 'The location of the config file.'
16
16
 
@@ -20,7 +20,7 @@ module Facter
20
20
  desc: 'A directory to use for custom facts.'
21
21
 
22
22
  class_option :debug,
23
- aliases: :d,
23
+ aliases: '-d',
24
24
  type: :boolean,
25
25
  desc: 'Enable debug output.'
26
26
 
@@ -31,7 +31,7 @@ module Facter
31
31
 
32
32
  class_option :help,
33
33
  hide: true,
34
- aliases: :h,
34
+ aliases: '-h',
35
35
  type: :boolean,
36
36
  desc: 'Print this help message.'
37
37
 
@@ -40,7 +40,7 @@ module Facter
40
40
  desc: 'Output in Hocon format.'
41
41
 
42
42
  class_option :json,
43
- aliases: :j,
43
+ aliases: '-j',
44
44
  type: :boolean,
45
45
  desc: 'Output in JSON format.'
46
46
 
@@ -53,7 +53,7 @@ module Facter
53
53
  desc: 'List the names of all cacheable fact groups.'
54
54
 
55
55
  class_option :log_level,
56
- aliases: :l,
56
+ aliases: '-l',
57
57
  type: :string,
58
58
  desc: 'Set logging level. Supported levels are: none, trace, debug, info, warn, error, and fatal.'
59
59
 
@@ -90,7 +90,7 @@ module Facter
90
90
  desc: 'Show legacy facts when querying all facts.'
91
91
 
92
92
  class_option :yaml,
93
- aliases: :y,
93
+ aliases: '-y',
94
94
  type: :boolean,
95
95
  desc: 'Output in YAML format.'
96
96
 
@@ -100,7 +100,7 @@ module Facter
100
100
 
101
101
  class_option :puppet,
102
102
  type: :boolean,
103
- aliases: :p,
103
+ aliases: '-p',
104
104
  desc: 'Load the Puppet libraries, thus allowing Facter to load Puppet-specific facts.'
105
105
 
106
106
  desc 'query', 'Default method', hide: true
@@ -19,7 +19,10 @@ module Facter
19
19
  def start_threads(searched_facts)
20
20
  threads = []
21
21
 
22
- searched_facts.reject { |elem| elem.fact_class.nil? }.each do |searched_fact|
22
+ # only resolve a fact once, even if multiple search facts depend on that fact
23
+ searched_facts
24
+ .uniq { |searched_fact| searched_fact.fact_class.name }
25
+ .each do |searched_fact|
23
26
  threads << Thread.new do
24
27
  fact = CoreFact.new(searched_fact)
25
28
  fact.create
@@ -37,7 +37,7 @@ module Facter
37
37
  # if fact is already loaded, skip it
38
38
  next if @facts.any? { |fact| fact.name == fact_name }
39
39
 
40
- type = fact_name.end_with?('.*') ? :legacy : :core
40
+ type = class_name.const_defined?('TYPE') ? class_name::TYPE : :core
41
41
  load_fact(fact_name, class_name, type)
42
42
  next unless class_name.const_defined?('ALIASES')
43
43
 
@@ -22,5 +22,9 @@ module Facter
22
22
  def core?
23
23
  type == :core
24
24
  end
25
+
26
+ def to_s
27
+ @value.to_s
28
+ end
25
29
  end
26
30
  end
@@ -40,7 +40,7 @@ module Facter
40
40
  if error == NetworkingFFI::ERROR_BUFFER_OVERFLOW
41
41
  adapter_addresses = FFI::MemoryPointer.new(IpAdapterAddressesLh.size, NetworkingFFI::BUFFER_LENGTH)
42
42
  else
43
- @log.info 'Unable to retrieve networking facts!'
43
+ @log.debug 'Unable to retrieve networking facts!'
44
44
  return nil
45
45
  end
46
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.14
4
+ version: 4.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-01 00:00:00.000000000 Z
11
+ date: 2020-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -200,7 +200,9 @@ files:
200
200
  - ".rubocop_todo.yml"
201
201
  - ".rubycritic.yml"
202
202
  - ".travis.yml"
203
+ - CHANGELOG.md
203
204
  - CODEOWNERS
205
+ - CONTRIBUTING.md
204
206
  - Gemfile
205
207
  - LICENSE
206
208
  - README.md
@@ -311,6 +313,10 @@ files:
311
313
  - lib/facts/debian/kernelrelease.rb
312
314
  - lib/facts/debian/kernelversion.rb
313
315
  - lib/facts/debian/load_averages.rb
316
+ - lib/facts/debian/lsbdistcodename.rb
317
+ - lib/facts/debian/lsbdistdescription.rb
318
+ - lib/facts/debian/lsbdistid.rb
319
+ - lib/facts/debian/lsbdistrelease.rb
314
320
  - lib/facts/debian/memory/swap/available.rb
315
321
  - lib/facts/debian/memory/swap/available_bytes.rb
316
322
  - lib/facts/debian/memory/swap/capacity.rb