facter 4.3.1 → 4.4.1
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/lib/docs/generate_cli.rb +1 -1
- data/lib/facter/custom_facts/core/execution/base.rb +5 -4
- data/lib/facter/custom_facts/core/execution/posix.rb +1 -1
- data/lib/facter/custom_facts/core/execution/windows.rb +2 -2
- data/lib/facter/custom_facts/core/execution.rb +1 -1
- data/lib/facter/custom_facts/core/file_loader.rb +23 -24
- data/lib/facter/custom_facts/core/legacy_facter.rb +1 -1
- data/lib/facter/custom_facts/util/normalization.rb +8 -23
- data/lib/facter/custom_facts/util/windows_root.rb +1 -1
- data/lib/facter/facts/debian/architecture.rb +1 -1
- data/lib/facter/facts/linux/hypervisors/kvm.rb +2 -2
- data/lib/facter/facts/linux/os/architecture.rb +1 -1
- data/lib/facter/facts/linux/partitions.rb +4 -0
- data/lib/facter/facts/linux/processors/isa.rb +1 -10
- data/lib/facter/facts/ol/lsbdistdescription.rb +16 -0
- data/lib/facter/facts/ol/lsbdistid.rb +16 -0
- data/lib/facter/facts/ol/os/distro/description.rb +19 -0
- data/lib/facter/facts/ol/os/distro/id.rb +19 -0
- data/lib/facter/facts/windows/hypervisors/kvm.rb +2 -2
- data/lib/facter/framework/cli/cli_launcher.rb +3 -3
- data/lib/facter/framework/config/config_reader.rb +4 -0
- data/lib/facter/framework/config/fact_groups.rb +2 -2
- data/lib/facter/framework/core/fact_loaders/fact_loader.rb +14 -2
- data/lib/facter/framework/core/file_loader.rb +896 -38
- data/lib/facter/framework/core/options/config_file_options.rb +4 -0
- data/lib/facter/framework/core/options/options_validator.rb +9 -2
- data/lib/facter/framework/detector/os_hierarchy.rb +1 -1
- data/lib/facter/framework/formatters/legacy_fact_formatter.rb +1 -1
- data/lib/facter/framework/formatters/yaml_fact_formatter.rb +2 -2
- data/lib/facter/framework/parsers/query_parser.rb +2 -1
- data/lib/facter/patches/sysfilesystem/sys/statvfs.rb +4 -4
- data/lib/facter/resolvers/aix/architecture.rb +1 -1
- data/lib/facter/resolvers/aix/filesystem.rb +1 -1
- data/lib/facter/resolvers/aix/hardware.rb +1 -1
- data/lib/facter/resolvers/aix/memory.rb +1 -1
- data/lib/facter/resolvers/aix/mountpoints.rb +2 -2
- data/lib/facter/resolvers/aix/networking.rb +5 -3
- data/lib/facter/resolvers/aix/partitions.rb +2 -2
- data/lib/facter/resolvers/bsd/processors.rb +1 -1
- data/lib/facter/resolvers/freebsd/processors.rb +2 -2
- data/lib/facter/resolvers/freebsd/swap_memory.rb +1 -1
- data/lib/facter/resolvers/gce.rb +9 -0
- data/lib/facter/resolvers/linux/hostname.rb +2 -2
- data/lib/facter/resolvers/load_averages.rb +1 -1
- data/lib/facter/resolvers/lspci.rb +1 -1
- data/lib/facter/resolvers/macosx/swap_memory.rb +1 -1
- data/lib/facter/resolvers/networking.rb +1 -1
- data/lib/facter/resolvers/open_vz.rb +1 -1
- data/lib/facter/resolvers/os_release.rb +3 -3
- data/lib/facter/resolvers/selinux.rb +3 -3
- data/lib/facter/resolvers/solaris/ffi/functions.rb +5 -3
- data/lib/facter/resolvers/solaris/filesystems.rb +1 -1
- data/lib/facter/resolvers/solaris/mountpoints.rb +1 -1
- data/lib/facter/resolvers/virt_what.rb +6 -6
- data/lib/facter/resolvers/windows/ffi/hardware_ffi.rb +2 -2
- data/lib/facter/resolvers/windows/ffi/identity_ffi.rb +1 -1
- data/lib/facter/resolvers/windows/ffi/kernel_ffi.rb +2 -2
- data/lib/facter/resolvers/windows/ffi/memory_ffi.rb +2 -2
- data/lib/facter/resolvers/windows/ffi/networking_ffi.rb +3 -3
- data/lib/facter/resolvers/windows/ffi/system32_ffi.rb +1 -1
- data/lib/facter/resolvers/windows/ffi/winnls_ffi.rb +1 -1
- data/lib/facter/resolvers/windows/hardware_architecture.rb +1 -1
- data/lib/facter/resolvers/windows/identity.rb +1 -1
- data/lib/facter/resolvers/windows/kernel.rb +1 -1
- data/lib/facter/resolvers/windows/memory.rb +1 -1
- data/lib/facter/resolvers/windows/networking.rb +1 -1
- data/lib/facter/resolvers/windows/system32.rb +1 -1
- data/lib/facter/resolvers/windows/timezone.rb +1 -1
- data/lib/facter/resolvers/windows/virtualization.rb +2 -2
- data/lib/facter/resolvers/xen.rb +1 -1
- data/lib/facter/util/api_debugger.rb +1 -1
- data/lib/facter/util/facts/windows_release_finder.rb +2 -2
- data/lib/facter/util/linux/dhcp.rb +1 -1
- data/lib/facter/util/resolvers/ffi/hostname.rb +1 -1
- data/lib/facter/util/utils.rb +1 -1
- data/lib/facter/version.rb +1 -1
- data/lib/facter.rb +15 -6
- metadata +11 -8
- data/lib/facter/facts/windows/augeas/version.rb +0 -19
|
@@ -13,7 +13,7 @@ module Facter
|
|
|
13
13
|
description = input[:description]
|
|
14
14
|
kernel_version = input[:kernel_version]
|
|
15
15
|
|
|
16
|
-
if
|
|
16
|
+
if /10.0/.match?(version)
|
|
17
17
|
check_version_10_11(consumerrel, kernel_version)
|
|
18
18
|
else
|
|
19
19
|
check_version_6(version, consumerrel) || check_version_5(version, consumerrel, description) || version
|
|
@@ -47,7 +47,7 @@ module Facter
|
|
|
47
47
|
end
|
|
48
48
|
|
|
49
49
|
def check_version_5(version, consumerrel, description)
|
|
50
|
-
return unless
|
|
50
|
+
return unless /5.2/.match?(version)
|
|
51
51
|
return 'XP' if consumerrel
|
|
52
52
|
|
|
53
53
|
description == 'R2' ? '2003 R2' : '2003'
|
|
@@ -45,7 +45,7 @@ module Facter
|
|
|
45
45
|
|
|
46
46
|
lease_files.select do |file|
|
|
47
47
|
content = Facter::Util::FileHelper.safe_read("#{dir}#{file}", nil)
|
|
48
|
-
next unless
|
|
48
|
+
next unless /interface.*#{interface_name}/.match?(content)
|
|
49
49
|
|
|
50
50
|
dhcp = content.match(/dhcp-server-identifier ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/)
|
|
51
51
|
return dhcp[1] if dhcp
|
data/lib/facter/util/utils.rb
CHANGED
|
@@ -14,7 +14,7 @@ module Facter
|
|
|
14
14
|
|
|
15
15
|
def self.split_user_query(user_query)
|
|
16
16
|
queries = user_query.split('.')
|
|
17
|
-
queries.map! { |query|
|
|
17
|
+
queries.map! { |query| /^[0-9]+$/.match?(query) ? query.to_i : query }
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
def self.deep_stringify_keys(object)
|
data/lib/facter/version.rb
CHANGED
data/lib/facter.rb
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
require 'pathname'
|
|
4
4
|
require_relative 'util/api_debugger' if ENV['API_DEBUG']
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
require_relative 'facter/version'
|
|
7
|
+
require_relative 'facter/framework/core/file_loader'
|
|
8
|
+
require_relative 'facter/framework/core/options/options_validator'
|
|
9
9
|
|
|
10
10
|
module Facter
|
|
11
11
|
class ResolveCustomFactError < StandardError; end
|
|
@@ -22,7 +22,7 @@ module Facter
|
|
|
22
22
|
#
|
|
23
23
|
# @api private
|
|
24
24
|
def resolve(args_as_string)
|
|
25
|
-
|
|
25
|
+
require_relative 'facter/framework/cli/cli_launcher'
|
|
26
26
|
|
|
27
27
|
args = args_as_string.split(' ')
|
|
28
28
|
Facter::OptionsValidator.validate(args)
|
|
@@ -380,7 +380,14 @@ module Facter
|
|
|
380
380
|
resolved_facts = Facter::FactManager.instance.resolve_facts
|
|
381
381
|
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? }
|
|
382
382
|
collection = Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
383
|
-
|
|
383
|
+
|
|
384
|
+
# Ensures order of keys in hash returned from Facter.to_hash() and
|
|
385
|
+
# Facter.resolve() is always stable
|
|
386
|
+
if collection.empty?
|
|
387
|
+
Hash[collection]
|
|
388
|
+
else
|
|
389
|
+
Hash[Facter::Utils.sort_hash_by_key(collection)]
|
|
390
|
+
end
|
|
384
391
|
end
|
|
385
392
|
|
|
386
393
|
# Check whether printing stack trace is enabled
|
|
@@ -510,8 +517,10 @@ module Facter
|
|
|
510
517
|
resolved_facts = Facter::FactManager.instance.resolve_facts(user_query)
|
|
511
518
|
resolved_facts.reject! { |fact| fact.type == :custom && fact.value.nil? }
|
|
512
519
|
|
|
520
|
+
# Ensures order of keys in hash returned from Facter.to_hash() and
|
|
521
|
+
# Facter.resolve() is always stable
|
|
513
522
|
if user_query.count.zero?
|
|
514
|
-
Facter::FactCollection.new.build_fact_collection!(resolved_facts)
|
|
523
|
+
Facter::Utils.sort_hash_by_key(Facter::FactCollection.new.build_fact_collection!(resolved_facts))
|
|
515
524
|
else
|
|
516
525
|
FormatterHelper.retrieve_facts_to_display_for_user_query(user_query, resolved_facts)
|
|
517
526
|
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.
|
|
4
|
+
version: 4.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Puppet
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-
|
|
11
|
+
date: 2023-06-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -16,20 +16,20 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '13.0'
|
|
20
20
|
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version:
|
|
22
|
+
version: 13.0.6
|
|
23
23
|
type: :development
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '
|
|
29
|
+
version: '13.0'
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 13.0.6
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: rspec
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -649,6 +649,10 @@ files:
|
|
|
649
649
|
- lib/facter/facts/mariner/os/release.rb
|
|
650
650
|
- lib/facter/facts/meego/os/release.rb
|
|
651
651
|
- lib/facter/facts/oel/os/release.rb
|
|
652
|
+
- lib/facter/facts/ol/lsbdistdescription.rb
|
|
653
|
+
- lib/facter/facts/ol/lsbdistid.rb
|
|
654
|
+
- lib/facter/facts/ol/os/distro/description.rb
|
|
655
|
+
- lib/facter/facts/ol/os/distro/id.rb
|
|
652
656
|
- lib/facter/facts/ol/os/release.rb
|
|
653
657
|
- lib/facter/facts/openwrt/os/release.rb
|
|
654
658
|
- lib/facter/facts/ovs/os/release.rb
|
|
@@ -776,7 +780,6 @@ files:
|
|
|
776
780
|
- lib/facter/facts/ubuntu/os/distro/release.rb
|
|
777
781
|
- lib/facter/facts/ubuntu/os/release.rb
|
|
778
782
|
- lib/facter/facts/windows/aio_agent_version.rb
|
|
779
|
-
- lib/facter/facts/windows/augeas/version.rb
|
|
780
783
|
- lib/facter/facts/windows/az_metadata.rb
|
|
781
784
|
- lib/facter/facts/windows/cloud/provider.rb
|
|
782
785
|
- lib/facter/facts/windows/dhcp_servers.rb
|
|
@@ -1085,7 +1088,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
1085
1088
|
- !ruby/object:Gem::Version
|
|
1086
1089
|
version: '0'
|
|
1087
1090
|
requirements: []
|
|
1088
|
-
rubygems_version: 3.
|
|
1091
|
+
rubygems_version: 3.4.12
|
|
1089
1092
|
signing_key:
|
|
1090
1093
|
specification_version: 4
|
|
1091
1094
|
summary: Facter, a system inventory tool
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Facts
|
|
4
|
-
module Windows
|
|
5
|
-
module Augeas
|
|
6
|
-
class Version
|
|
7
|
-
FACT_NAME = 'augeas.version'
|
|
8
|
-
ALIASES = 'augeasversion'
|
|
9
|
-
|
|
10
|
-
def call_the_resolver
|
|
11
|
-
fact_value = Facter::Resolvers::Augeas.resolve(:augeas_version)
|
|
12
|
-
|
|
13
|
-
[Facter::ResolvedFact.new(FACT_NAME, fact_value),
|
|
14
|
-
Facter::ResolvedFact.new(ALIASES, fact_value, :legacy)]
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|