Skip to content

Commit 12e3a72

Browse files
committed
Fix 'virtual' fact on FreeBSD
We should not call Linux-specific code from a non-Linux system. This cross-platform utility class needs to skip Linux code when running on a non-linux platform.
1 parent f4bbdd3 commit 12e3a72

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

lib/facter/util/facts/posix/virtual_detector.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,14 @@ def platform
1616
private
1717

1818
def check_docker_lxc
19+
return nil unless const_defined?('Facter::Resolvers::Linux')
20+
1921
Facter::Resolvers::Linux::Containers.resolve(:vm)
2022
end
2123

2224
def check_gce
25+
return nil unless const_defined?('Facter::Resolvers::Linux')
26+
2327
bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor)
2428
'gce' if bios_vendor&.include?('Google')
2529
end
@@ -61,6 +65,8 @@ def check_openbsd
6165
end
6266

6367
def check_other_facts
68+
return nil unless const_defined?('Facter::Resolvers::Linux')
69+
6470
bios_vendor = Facter::Resolvers::Linux::DmiBios.resolve(:bios_vendor)
6571
return 'kvm' if bios_vendor&.include?('Amazon EC2')
6672

0 commit comments

Comments
 (0)