facter 4.0.31 → 4.0.32

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 58032c19dc544418cdd5bdc8598a48d6d8cc2b9c67f3ef3ac081fe98cf03ac6a
4
- data.tar.gz: db8bd43f5f28c4c7ea30d67c2ecb02367d398b70c2096fa5ee5f0319c2473640
3
+ metadata.gz: 72f2204546c27a939b067c08cc85aaf8f38673a37db898cd9dda273e8047704c
4
+ data.tar.gz: 1815adc1638070582de416e8f7976a6ace992bd6e133077ab387e792b3f26415
5
5
  SHA512:
6
- metadata.gz: 52a387b13db0d8064f5cfc7e968b1b8c65843098071e04b662ee76a5c57bbdf5cbcbc669230a30544007fecc648645553496e4ccf000eba81cf7dbb0e6103d90
7
- data.tar.gz: 61e0b00e59b79820c2ec91118c8bba3b3d692bc620807a29341e0cc2530565d574fd80648167547e55d556db145176ca78d126f2e8ff7f4093155c95534fe5a5
6
+ metadata.gz: 6a7c95ea0a07b60e11aa33d1edf792c875139fa683ca2b30db252cad0b81e77a0ee2135f2237f0bb04e17b2df7f30705ace0c28a0e9f236459c717e6aa7f4010
7
+ data.tar.gz: fb8f00bc8f4a117d7d904125f6864296389257d2be4935d6492030570cd4100a333b190394a782f52ff0156fb9441b0a3228fda201048ede7c6e4f13ad28dd14
@@ -56,6 +56,8 @@ module LegacyFacter
56
56
  facts = []
57
57
  entries.each do |file|
58
58
  basename = File.basename(file)
59
+ next if file_blocked?(basename)
60
+
59
61
  if facts.find { |f| f.name == basename } && cm.group_cached?(basename)
60
62
  Facter.log_exception(Exception.new("Caching is enabled for group \"#{basename}\" while "\
61
63
  'there are at least two external facts files with the same filename'))
@@ -107,6 +109,14 @@ module LegacyFacter
107
109
  def should_parse?(file)
108
110
  File.basename(file) !~ /^\./
109
111
  end
112
+
113
+ def file_blocked?(file)
114
+ if Facter::Options[:blocked_facts].include? file
115
+ Facter.debug("External fact file #{file} blocked.")
116
+ return true
117
+ end
118
+ false
119
+ end
110
120
  end
111
121
  end
112
122
  end
@@ -14,10 +14,27 @@ module Facter
14
14
  end
15
15
 
16
16
  def read_augeas_version(fact_name)
17
- output = Facter::Core::Execution.execute('augparse --version 2>&1', logger: log)
18
- @fact_list[:augeas_version] = Regexp.last_match(1) if output =~ /^augparse (\d+\.\d+\.\d+)/
17
+ @fact_list[:augeas_version] = read_augeas_from_cli
18
+ @fact_list[:augeas_version] ||= read_augeas_from_gem
19
+
19
20
  @fact_list[fact_name]
20
21
  end
22
+
23
+ def read_augeas_from_cli
24
+ output = Facter::Core::Execution.execute('augparse --version 2>&1', logger: log)
25
+ Regexp.last_match(1) if output =~ /^augparse (\d+\.\d+\.\d+)/
26
+ end
27
+
28
+ def read_augeas_from_gem
29
+ require 'augeas'
30
+
31
+ if Gem.loaded_specs['augeas']
32
+ ::Augeas.create { |aug| aug.get('/augeas/version') }
33
+ else
34
+ # it is used for legacy augeas <= 0.5.0 (ruby-augeas gem)
35
+ ::Augeas.open { |aug| aug.get('/augeas/version') }
36
+ end
37
+ end
21
38
  end
22
39
  end
23
40
  end
@@ -85,7 +85,11 @@ module Facter
85
85
  return unless lease_file
86
86
 
87
87
  dhcp = Util::FileHelper.safe_read("/var/lib/NetworkManager/#{lease_file}", nil)
88
- dhcp ? dhcp.match(/SERVER_ADDRESS=(.*)/)[1] : nil
88
+
89
+ return unless dhcp
90
+
91
+ dhcp = dhcp.match(/SERVER_ADDRESS=(.*)/)
92
+ dhcp[1] if dhcp
89
93
  end
90
94
 
91
95
  def fill_ip_v4_info!(ip_tokens, network_info)
@@ -32,9 +32,10 @@ module Facter
32
32
  version_codename = output_strings[1].split(' ')
33
33
 
34
34
  @fact_list[:name] = name(output_strings[0])
35
- @fact_list[:version] = version_codename[0].strip
36
- codename = version_codename[1].strip
37
- @fact_list[:codename] = codename.gsub(/[()]/, '')
35
+ @fact_list[:version] = version_codename[0]&.strip
36
+
37
+ codename = version_codename[1]&.strip
38
+ @fact_list[:codename] = codename ? codename.gsub(/[()]/, '') : nil
38
39
 
39
40
  @fact_list[:identifier] = identifier(@fact_list[:name])
40
41
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Facter
4
- VERSION = '4.0.31' unless defined?(VERSION)
4
+ VERSION = '4.0.32' unless defined?(VERSION)
5
5
  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.31
4
+ version: 4.0.32
5
5
  platform: ruby
6
6
  authors:
7
7
  - Puppet
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-29 00:00:00.000000000 Z
11
+ date: 2020-07-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler