facter 4.0.36 → 4.0.37

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/lib/facter/custom_facts/util/directory_loader.rb +9 -1
  3. data/lib/facter/custom_facts/util/fact.rb +4 -1
  4. data/lib/facter/facts/linux/partitions.rb +1 -1
  5. data/lib/facter/facts/ubuntu/lsbdistrelease.rb +23 -0
  6. data/lib/facter/framework/benchmarking/timer.rb +23 -0
  7. data/lib/facter/framework/cli/cli.rb +5 -0
  8. data/lib/facter/framework/core/fact/internal/internal_fact_manager.rb +2 -1
  9. data/lib/facter/framework/core/fact_loaders/internal_fact_loader.rb +7 -7
  10. data/lib/facter/framework/core/file_loader.rb +2 -0
  11. data/lib/facter/framework/core/options/option_store.rb +3 -1
  12. data/lib/facter/framework/core/session_cache.rb +1 -4
  13. data/lib/facter/resolvers/aio_agent_version.rb +0 -1
  14. data/lib/facter/resolvers/aix/architecture_resolver.rb +0 -1
  15. data/lib/facter/resolvers/aix/disks.rb +2 -3
  16. data/lib/facter/resolvers/aix/filesystem_resolver.rb +0 -1
  17. data/lib/facter/resolvers/aix/hardware_resolver.rb +0 -1
  18. data/lib/facter/resolvers/aix/load_averages_resolver.rb +0 -1
  19. data/lib/facter/resolvers/aix/memory.rb +2 -3
  20. data/lib/facter/resolvers/aix/mountpoints.rb +0 -1
  21. data/lib/facter/resolvers/aix/networking_resolver.rb +0 -1
  22. data/lib/facter/resolvers/aix/nim.rb +0 -1
  23. data/lib/facter/resolvers/aix/os_level_resolver.rb +0 -1
  24. data/lib/facter/resolvers/aix/partitions.rb +2 -3
  25. data/lib/facter/resolvers/aix/processors.rb +0 -1
  26. data/lib/facter/resolvers/aix/serialnumber.rb +0 -1
  27. data/lib/facter/resolvers/augeas_resolver.rb +0 -1
  28. data/lib/facter/resolvers/base_resolver.rb +9 -4
  29. data/lib/facter/resolvers/bsd/processors.rb +0 -1
  30. data/lib/facter/resolvers/containers.rb +0 -1
  31. data/lib/facter/resolvers/debian_version.rb +0 -1
  32. data/lib/facter/resolvers/disk_resolver.rb +0 -1
  33. data/lib/facter/resolvers/dmi_decode.rb +0 -1
  34. data/lib/facter/resolvers/dmi_resolver.rb +0 -1
  35. data/lib/facter/resolvers/ec2.rb +0 -1
  36. data/lib/facter/resolvers/eos_release_resolver.rb +0 -1
  37. data/lib/facter/resolvers/facterversion_resolver.rb +0 -1
  38. data/lib/facter/resolvers/filesystems_resolver.rb +0 -1
  39. data/lib/facter/resolvers/fips_enabled_resolver.rb +0 -1
  40. data/lib/facter/resolvers/freebsd/dmi_resolver.rb +0 -1
  41. data/lib/facter/resolvers/freebsd/freebsd_version_resolver.rb +0 -1
  42. data/lib/facter/resolvers/freebsd/geom_resolver.rb +0 -1
  43. data/lib/facter/resolvers/freebsd/processors.rb +0 -1
  44. data/lib/facter/resolvers/freebsd/swap_memory_resolver.rb +0 -1
  45. data/lib/facter/resolvers/freebsd/system_memory_resolver.rb +0 -1
  46. data/lib/facter/resolvers/gce.rb +0 -1
  47. data/lib/facter/resolvers/hostname_resolver.rb +0 -1
  48. data/lib/facter/resolvers/identity_resolver.rb +0 -1
  49. data/lib/facter/resolvers/linux/docker_uptime.rb +0 -1
  50. data/lib/facter/resolvers/linux/load_averages.rb +0 -1
  51. data/lib/facter/resolvers/load_averages.rb +0 -1
  52. data/lib/facter/resolvers/lpar_resolver.rb +0 -1
  53. data/lib/facter/resolvers/lsb_release_resolver.rb +0 -1
  54. data/lib/facter/resolvers/lspci.rb +0 -1
  55. data/lib/facter/resolvers/macosx/dmi_resolver.rb +0 -1
  56. data/lib/facter/resolvers/macosx/filesystems_resolver.rb +1 -6
  57. data/lib/facter/resolvers/macosx/load_averages_resolver.rb +0 -1
  58. data/lib/facter/resolvers/macosx/mountpoints_resolver.rb +3 -3
  59. data/lib/facter/resolvers/macosx/processor_resolver.rb +0 -1
  60. data/lib/facter/resolvers/macosx/swap_memory_resolver.rb +0 -1
  61. data/lib/facter/resolvers/macosx/system_memory_resolver.rb +0 -1
  62. data/lib/facter/resolvers/macosx/system_profiler_resolver.rb +0 -1
  63. data/lib/facter/resolvers/memory_resolver.rb +6 -2
  64. data/lib/facter/resolvers/mountpoints_resolver.rb +0 -1
  65. data/lib/facter/resolvers/networking_linux_resolver.rb +0 -1
  66. data/lib/facter/resolvers/networking_resolver.rb +0 -1
  67. data/lib/facter/resolvers/open_vz.rb +0 -1
  68. data/lib/facter/resolvers/os_level_resolver.rb +0 -1
  69. data/lib/facter/resolvers/os_release_resolver.rb +0 -1
  70. data/lib/facter/resolvers/partitions.rb +37 -2
  71. data/lib/facter/resolvers/path_resolver.rb +0 -1
  72. data/lib/facter/resolvers/processors_resolver.rb +0 -1
  73. data/lib/facter/resolvers/puppet_version_resolver.rb +0 -1
  74. data/lib/facter/resolvers/redhat_release_resolver.rb +0 -1
  75. data/lib/facter/resolvers/ruby_resolver.rb +0 -1
  76. data/lib/facter/resolvers/selinux_resolver.rb +0 -1
  77. data/lib/facter/resolvers/solaris/disks.rb +0 -1
  78. data/lib/facter/resolvers/solaris/dmi.rb +0 -1
  79. data/lib/facter/resolvers/solaris/dmi_sparc.rb +0 -1
  80. data/lib/facter/resolvers/solaris/filesystems.rb +0 -1
  81. data/lib/facter/resolvers/solaris/ipaddress.rb +0 -1
  82. data/lib/facter/resolvers/solaris/ldom.rb +0 -1
  83. data/lib/facter/resolvers/solaris/memory.rb +0 -1
  84. data/lib/facter/resolvers/solaris/networking.rb +0 -1
  85. data/lib/facter/resolvers/solaris/os_release.rb +0 -1
  86. data/lib/facter/resolvers/solaris/processors.rb +0 -1
  87. data/lib/facter/resolvers/solaris/zone.rb +0 -1
  88. data/lib/facter/resolvers/solaris/zone_name.rb +0 -1
  89. data/lib/facter/resolvers/ssh_resolver.rb +0 -1
  90. data/lib/facter/resolvers/suse_release_resolver.rb +0 -1
  91. data/lib/facter/resolvers/sw_vers_resolver.rb +0 -1
  92. data/lib/facter/resolvers/timezone_resolver.rb +0 -1
  93. data/lib/facter/resolvers/uname_resolver.rb +0 -1
  94. data/lib/facter/resolvers/uptime_resolver.rb +0 -1
  95. data/lib/facter/resolvers/virt_what.rb +0 -1
  96. data/lib/facter/resolvers/vmware.rb +0 -1
  97. data/lib/facter/resolvers/windows/aio_agent_version.rb +0 -1
  98. data/lib/facter/resolvers/windows/dmi_bios_resolver.rb +0 -1
  99. data/lib/facter/resolvers/windows/dmi_computersystem_resolver.rb +0 -1
  100. data/lib/facter/resolvers/windows/fips_resolver.rb +0 -1
  101. data/lib/facter/resolvers/windows/hardware_architecture_resolver.rb +0 -1
  102. data/lib/facter/resolvers/windows/identity_resolver.rb +0 -1
  103. data/lib/facter/resolvers/windows/kernel_resolver.rb +0 -1
  104. data/lib/facter/resolvers/windows/memory_resolver.rb +0 -1
  105. data/lib/facter/resolvers/windows/netkvm_resolver.rb +0 -1
  106. data/lib/facter/resolvers/windows/networking_resolver.rb +0 -1
  107. data/lib/facter/resolvers/windows/processors_resolver.rb +0 -1
  108. data/lib/facter/resolvers/windows/product_release_resolver.rb +0 -1
  109. data/lib/facter/resolvers/windows/ssh.rb +0 -1
  110. data/lib/facter/resolvers/windows/system32_resolver.rb +0 -1
  111. data/lib/facter/resolvers/windows/uptime_resolver.rb +0 -1
  112. data/lib/facter/resolvers/windows/virtualization_resolver.rb +0 -1
  113. data/lib/facter/resolvers/windows/win_os_description_resolver.rb +0 -1
  114. data/lib/facter/resolvers/wpar_resolver.rb +0 -1
  115. data/lib/facter/resolvers/xen.rb +0 -1
  116. data/lib/facter/resolvers/zfs.rb +0 -1
  117. data/lib/facter/resolvers/zpool.rb +0 -1
  118. data/lib/facter/version.rb +1 -1
  119. metadata +4 -2
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class DmiDecode < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  ADDRESS_TO_VERSION = {
@@ -5,7 +5,6 @@ module Facter
5
5
  module Linux
6
6
  class DmiBios < BaseResolver
7
7
  @log = Facter::Log.new(self)
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
 
11
10
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Ec2 < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  EC2_METADATA_ROOT_URL = 'http://169.254.169.254/latest/meta-data/'
9
8
  EC2_USERDATA_ROOT_URL = 'http://169.254.169.254/latest/user-data/'
@@ -7,7 +7,6 @@ module Facter
7
7
  # :version
8
8
  # :codename
9
9
 
10
- @semaphore = Mutex.new
11
10
  @fact_list ||= {}
12
11
 
13
12
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Facterversion < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  module Linux
6
6
  class Filesystems < BaseResolver
7
7
  # :systems
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  @log = Facter::Log.new(self)
11
10
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  module Linux
6
6
  class FipsEnabled < BaseResolver
7
7
  #:fips_enabled
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  @log = Facter::Log.new(self)
11
10
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Freebsd
6
6
  class DmiBios < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Freebsd
6
6
  class FreebsdVersion < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Freebsd
6
6
  class Geom < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -7,7 +7,6 @@ module Facter
7
7
  module Freebsd
8
8
  class Processors < BaseResolver
9
9
  @log = Facter::Log.new(self)
10
- @semaphore = Mutex.new
11
10
  @fact_list ||= {}
12
11
  class << self
13
12
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Freebsd
6
6
  class SwapMemory < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Freebsd
6
6
  class SystemMemory < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Gce < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  METADATA_URL = 'http://metadata.google.internal/computeMetadata/v1/?recursive=true&alt=json'
9
8
  HEADERS = { "Metadata-Flavor": 'Google', "Accept": 'application/json' }.freeze
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Hostname < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  class << self
9
8
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class PosxIdentity < BaseResolver
6
6
  @log = Facter::Log.new(self)
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Linux
6
6
  class DockerUptime < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Linux
6
6
  class LoadAverages < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class LoadAverages < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  class << self
9
8
  private
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Lpar < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  class << self
@@ -9,7 +9,6 @@ module Facter
9
9
  # :release
10
10
  # :codename
11
11
 
12
- @semaphore = Mutex.new
13
12
  @fact_list ||= {}
14
13
 
15
14
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Lspci < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  REGEX_VALUES = { 'VirtualBox' => 'virtualbox', 'XenSource' => 'xenhvm',
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Macosx
6
6
  class DmiBios < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
 
10
9
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  module Macosx
6
6
  class Filesystems < BaseResolver
7
7
  # :macosx_filesystems
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
 
11
10
  class << self
@@ -17,11 +16,7 @@ module Facter
17
16
 
18
17
  def read_filesystems(fact_name)
19
18
  output = Facter::Core::Execution.execute('mount', logger: log)
20
- filesystems = []
21
- output.each_line do |line|
22
- filesystem = line.match(/\(([a-z]+)\,*/).to_s
23
- filesystems << filesystem[1..-2]
24
- end
19
+ filesystems = output.scan(/\(([a-z]+)\,*/).flatten
25
20
  @fact_list[:macosx_filesystems] = filesystems.uniq.sort.join(',')
26
21
  @fact_list[fact_name]
27
22
  end
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Macosx
6
6
  class LoadAverages < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -5,7 +5,6 @@ module Facter
5
5
  module Macosx
6
6
  class Mountpoints < BaseResolver
7
7
  include Facter::FilesystemHelper
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  class << self
11
10
  private
@@ -16,6 +15,7 @@ module Facter
16
15
 
17
16
  def read_mounts
18
17
  mounts = {}
18
+
19
19
  FilesystemHelper.read_mountpoints.each do |fs|
20
20
  device = fs.name
21
21
  filesystem = fs.mount_type
@@ -36,8 +36,8 @@ module Facter
36
36
  begin
37
37
  stats = FilesystemHelper.read_mountpoint_stats(path)
38
38
  size_bytes = stats.bytes_total
39
- used_bytes = stats.bytes_used
40
- available_bytes = size_bytes - used_bytes
39
+ available_bytes = stats.bytes_available
40
+ used_bytes = size_bytes - available_bytes
41
41
  rescue Sys::Filesystem::Error
42
42
  size_bytes = used_bytes = available_bytes = 0
43
43
  end
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Macosx
6
6
  class Processors < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list = {}
9
8
  ITEMS = { logical_count: 'hw.logicalcpu_max',
10
9
  physical_count: 'hw.physicalcpu_max',
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Macosx
6
6
  class SwapMemory < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Macosx
6
6
  class SystemMemory < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  class << self
10
9
  private
@@ -15,7 +15,6 @@ module Facter
15
15
  SP_ETHERNET_DATA_TYPE = %i[type bus vendor_id device_id subsystem_vendor_id
16
16
  subsystem_id revision_id bsd_name kext_name location version].freeze
17
17
 
18
- @semaphore = Mutex.new
19
18
  @fact_list = {}
20
19
 
21
20
  class << self
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  module Linux
6
6
  class Memory < BaseResolver
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  @log = Facter::Log.new(self)
10
9
  class << self
@@ -48,7 +47,12 @@ module Facter
48
47
  def reclaimable_memory(output)
49
48
  buffers = kilobytes_to_bytes(output.match(/Buffers:\s+(\d+)\s/)[1])
50
49
  cached = kilobytes_to_bytes(output.match(/Cached:\s+(\d+)\s/)[1])
51
- s_reclaimable = kilobytes_to_bytes(output.match(/SReclaimable:\s+(\d+)\s/)[1])
50
+ s_reclaimable = output.match(/SReclaimable:\s+(\d+)\s/)
51
+ s_reclaimable = if s_reclaimable
52
+ kilobytes_to_bytes(s_reclaimable[1])
53
+ else
54
+ 0
55
+ end
52
56
  @fact_list[:memfree] + buffers + cached + s_reclaimable
53
57
  end
54
58
 
@@ -4,7 +4,6 @@ module Facter
4
4
  module Resolvers
5
5
  class Mountpoints < BaseResolver
6
6
  include Facter::FilesystemHelper
7
- @semaphore = Mutex.new
8
7
  @fact_list ||= {}
9
8
  @log = Facter::Log.new(self)
10
9
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class NetworkingLinux < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list = {}
8
7
  DIRS = ['/var/lib/dhclient/', '/var/lib/dhcp/', '/var/lib/dhcp3/', '/var/lib/NetworkManager/', '/var/db/'].freeze
9
8
 
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Networking < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  class OpenVz < BaseResolver
6
6
  # build
7
7
 
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
 
11
10
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  class OsLevel < BaseResolver
6
6
  # build
7
7
 
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
 
11
10
  class << self
@@ -14,7 +14,6 @@ module Facter
14
14
  # :support_url
15
15
  # :bug_report_url
16
16
 
17
- @semaphore = Mutex.new
18
17
  @fact_list ||= {}
19
18
 
20
19
  class << self
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Partitions < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
  BLOCK_PATH = '/sys/block'
9
8
  BLOCK_SIZE = 512
@@ -66,10 +65,18 @@ module Facter
66
65
  info_hash = { size_bytes: size_bytes,
67
66
  size: Facter::FactsUtils::UnitConverter.bytes_to_human_readable(size_bytes),
68
67
  backing_file: backing_file }
69
- info_hash.merge!(populate_from_blkid(partition_name))
68
+ info_hash.merge!(populate_from_syscalls(partition_name))
70
69
  @fact_list[:partitions][partition_name] = info_hash.reject { |_key, value| value.nil? }
71
70
  end
72
71
 
72
+ def populate_from_syscalls(partition_name)
73
+ part_info = populate_from_blkid(partition_name)
74
+
75
+ return pupulate_from_lsblk(partition_name) if part_info.empty?
76
+
77
+ part_info
78
+ end
79
+
73
80
  def populate_from_blkid(partition_name)
74
81
  return {} unless blkid_command?
75
82
 
@@ -92,6 +99,34 @@ module Facter
92
99
  @blkid_exists = !output.empty?
93
100
  end
94
101
 
102
+ def pupulate_from_lsblk(partition_name)
103
+ return {} unless lsblk_command?
104
+
105
+ @lsblk_content ||= Facter::Core::Execution.execute('lsblk -fp', logger: log)
106
+
107
+ part_info = @lsblk_content.match(/#{partition_name}.*/).to_s.split(' ')
108
+ return {} if part_info.empty?
109
+
110
+ result = { filesystem: part_info[1] }
111
+
112
+ if part_info.count.eql?(5)
113
+ result[:label] = part_info[2]
114
+ result[:uuid] = part_info[3]
115
+ else
116
+ result[:uuid] = part_info[2]
117
+ end
118
+
119
+ result
120
+ end
121
+
122
+ def lsblk_command?
123
+ return @lsblk_exists unless @lsblk_exists.nil?
124
+
125
+ output = Facter::Core::Execution.execute('which lsblk', logger: log)
126
+
127
+ @lsblk_exists = !output.empty?
128
+ end
129
+
95
130
  def execute_and_extract_blkid_info
96
131
  stdout = Facter::Core::Execution.execute('blkid', logger: log)
97
132
  output_hash = Hash[*stdout.split(/^([^:]+):/)[1..-1]]
@@ -3,7 +3,6 @@
3
3
  module Facter
4
4
  module Resolvers
5
5
  class Path < BaseResolver
6
- @semaphore = Mutex.new
7
6
  @fact_list ||= {}
8
7
 
9
8
  class << self
@@ -5,7 +5,6 @@ module Facter
5
5
  module Linux
6
6
  class Processors < BaseResolver
7
7
  @log = Facter::Log.new(self)
8
- @semaphore = Mutex.new
9
8
  @fact_list ||= {}
10
9
  MHZ_TO_HZ = 1_000_000
11
10
  class << self