facter 2.5.7-x86-mingw32 → 3.9.6.cfacter.20180606-x86-mingw32

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.
Files changed (506) hide show
  1. checksums.yaml +5 -5
  2. data/bin/facter.bat +8 -0
  3. data/bin/facter.exe +0 -0
  4. data/bin/facter_interactive.bat +6 -0
  5. data/bin/libfacter.so +0 -0
  6. data/bin/run_facter_interactive.bat +9 -0
  7. data/lib/facter.rb +45 -261
  8. data/lib/libfacter.so.a +0 -0
  9. metadata +23 -854
  10. data/COMMITTERS.md +0 -185
  11. data/CONTRIBUTING.md +0 -91
  12. data/Gemfile +0 -69
  13. data/LICENSE +0 -15
  14. data/README.md +0 -65
  15. data/Rakefile +0 -46
  16. data/bin/facter +0 -20
  17. data/etc/facter.conf +0 -5
  18. data/ext/build_defaults.yaml +0 -9
  19. data/ext/debian/changelog.erb +0 -59
  20. data/ext/debian/compat +0 -1
  21. data/ext/debian/control +0 -15
  22. data/ext/debian/copyright +0 -19
  23. data/ext/debian/docs +0 -1
  24. data/ext/debian/lintian-overrides +0 -0
  25. data/ext/debian/rules +0 -10
  26. data/ext/debian/source/format +0 -1
  27. data/ext/facter-diff +0 -74
  28. data/ext/ips/facter.p5m.erb +0 -10
  29. data/ext/ips/rules +0 -7
  30. data/ext/ips/transforms +0 -18
  31. data/ext/osx/file_mapping.yaml +0 -32
  32. data/ext/osx/preflight.erb +0 -33
  33. data/ext/osx/prototype.plist.erb +0 -38
  34. data/ext/project_data.yaml +0 -31
  35. data/ext/redhat/facter.spec.erb +0 -223
  36. data/ext/solaris/pkginfo +0 -7
  37. data/install.rb +0 -380
  38. data/lib/facter/Cfkey.rb +0 -42
  39. data/lib/facter/application.rb +0 -206
  40. data/lib/facter/architecture.rb +0 -50
  41. data/lib/facter/augeasversion.rb +0 -28
  42. data/lib/facter/blockdevices.rb +0 -105
  43. data/lib/facter/core/aggregate.rb +0 -220
  44. data/lib/facter/core/directed_graph.rb +0 -46
  45. data/lib/facter/core/execution.rb +0 -123
  46. data/lib/facter/core/execution/base.rb +0 -81
  47. data/lib/facter/core/execution/posix.rb +0 -50
  48. data/lib/facter/core/execution/windows.rb +0 -57
  49. data/lib/facter/core/logging.rb +0 -197
  50. data/lib/facter/core/resolvable.rb +0 -94
  51. data/lib/facter/core/suitable.rb +0 -113
  52. data/lib/facter/dhcp_servers.rb +0 -45
  53. data/lib/facter/domain.rb +0 -99
  54. data/lib/facter/ec2.rb +0 -68
  55. data/lib/facter/ec2/rest.rb +0 -137
  56. data/lib/facter/facterversion.rb +0 -15
  57. data/lib/facter/filesystems.rb +0 -45
  58. data/lib/facter/fqdn.rb +0 -24
  59. data/lib/facter/gce.rb +0 -16
  60. data/lib/facter/gce/metadata.rb +0 -87
  61. data/lib/facter/gid.rb +0 -25
  62. data/lib/facter/hardwareisa.rb +0 -20
  63. data/lib/facter/hardwaremodel.rb +0 -67
  64. data/lib/facter/hostname.rb +0 -31
  65. data/lib/facter/id.rb +0 -21
  66. data/lib/facter/interfaces.rb +0 -58
  67. data/lib/facter/ipaddress.rb +0 -169
  68. data/lib/facter/ipaddress6.rb +0 -82
  69. data/lib/facter/iphostnumber.rb +0 -29
  70. data/lib/facter/kernel.rb +0 -22
  71. data/lib/facter/kernelmajversion.rb +0 -23
  72. data/lib/facter/kernelrelease.rb +0 -45
  73. data/lib/facter/kernelversion.rb +0 -22
  74. data/lib/facter/ldom.rb +0 -51
  75. data/lib/facter/lsbdistcodename.rb +0 -20
  76. data/lib/facter/lsbdistdescription.rb +0 -21
  77. data/lib/facter/lsbdistid.rb +0 -20
  78. data/lib/facter/lsbdistrelease.rb +0 -20
  79. data/lib/facter/lsbmajdistrelease.rb +0 -22
  80. data/lib/facter/lsbminordistrelease.rb +0 -22
  81. data/lib/facter/lsbrelease.rb +0 -20
  82. data/lib/facter/macaddress.rb +0 -99
  83. data/lib/facter/macosx.rb +0 -56
  84. data/lib/facter/manufacturer.rb +0 -68
  85. data/lib/facter/memory.rb +0 -168
  86. data/lib/facter/netmask.rb +0 -43
  87. data/lib/facter/network.rb +0 -20
  88. data/lib/facter/operatingsystem.rb +0 -24
  89. data/lib/facter/operatingsystem/base.rb +0 -61
  90. data/lib/facter/operatingsystem/cumuluslinux.rb +0 -27
  91. data/lib/facter/operatingsystem/implementation.rb +0 -33
  92. data/lib/facter/operatingsystem/linux.rb +0 -511
  93. data/lib/facter/operatingsystem/osreleaselinux.rb +0 -28
  94. data/lib/facter/operatingsystem/sunos.rb +0 -54
  95. data/lib/facter/operatingsystem/vmkernel.rb +0 -11
  96. data/lib/facter/operatingsystem/windows.rb +0 -43
  97. data/lib/facter/operatingsystemmajrelease.rb +0 -31
  98. data/lib/facter/operatingsystemrelease.rb +0 -29
  99. data/lib/facter/os.rb +0 -98
  100. data/lib/facter/osfamily.rb +0 -18
  101. data/lib/facter/partitions.rb +0 -39
  102. data/lib/facter/path.rb +0 -14
  103. data/lib/facter/physicalprocessorcount.rb +0 -27
  104. data/lib/facter/processor.rb +0 -52
  105. data/lib/facter/processors.rb +0 -66
  106. data/lib/facter/processors/os.rb +0 -244
  107. data/lib/facter/ps.rb +0 -31
  108. data/lib/facter/puppetversion.rb +0 -20
  109. data/lib/facter/rackspace.rb +0 -37
  110. data/lib/facter/rubyplatform.rb +0 -12
  111. data/lib/facter/rubysitedir.rb +0 -15
  112. data/lib/facter/rubyversion.rb +0 -12
  113. data/lib/facter/selinux.rb +0 -154
  114. data/lib/facter/ssh.rb +0 -73
  115. data/lib/facter/system32.rb +0 -21
  116. data/lib/facter/system_uptime.rb +0 -44
  117. data/lib/facter/timezone.rb +0 -14
  118. data/lib/facter/uniqueid.rb +0 -4
  119. data/lib/facter/uptime.rb +0 -16
  120. data/lib/facter/uptime_days.rb +0 -13
  121. data/lib/facter/uptime_hours.rb +0 -13
  122. data/lib/facter/uptime_seconds.rb +0 -20
  123. data/lib/facter/util/architecture.rb +0 -19
  124. data/lib/facter/util/collection.rb +0 -161
  125. data/lib/facter/util/composite_loader.rb +0 -12
  126. data/lib/facter/util/config.rb +0 -88
  127. data/lib/facter/util/confine.rb +0 -66
  128. data/lib/facter/util/dhcp_servers.rb +0 -58
  129. data/lib/facter/util/directory_loader.rb +0 -88
  130. data/lib/facter/util/ec2.rb +0 -106
  131. data/lib/facter/util/fact.rb +0 -204
  132. data/lib/facter/util/file_read.rb +0 -37
  133. data/lib/facter/util/formatter.rb +0 -39
  134. data/lib/facter/util/ip.rb +0 -340
  135. data/lib/facter/util/ip/windows.rb +0 -215
  136. data/lib/facter/util/loader.rb +0 -155
  137. data/lib/facter/util/macaddress.rb +0 -43
  138. data/lib/facter/util/macosx.rb +0 -73
  139. data/lib/facter/util/manufacturer.rb +0 -99
  140. data/lib/facter/util/memory.rb +0 -228
  141. data/lib/facter/util/netmask.rb +0 -40
  142. data/lib/facter/util/normalization.rb +0 -94
  143. data/lib/facter/util/nothing_loader.rb +0 -12
  144. data/lib/facter/util/operatingsystem.rb +0 -21
  145. data/lib/facter/util/parser.rb +0 -168
  146. data/lib/facter/util/partitions.rb +0 -47
  147. data/lib/facter/util/partitions/linux.rb +0 -71
  148. data/lib/facter/util/partitions/openbsd.rb +0 -40
  149. data/lib/facter/util/plist.rb +0 -24
  150. data/lib/facter/util/plist/generator.rb +0 -228
  151. data/lib/facter/util/plist/parser.rb +0 -226
  152. data/lib/facter/util/posix.rb +0 -16
  153. data/lib/facter/util/processor.rb +0 -289
  154. data/lib/facter/util/registry.rb +0 -11
  155. data/lib/facter/util/resolution.rb +0 -160
  156. data/lib/facter/util/solaris_zones.rb +0 -158
  157. data/lib/facter/util/unix_root.rb +0 -5
  158. data/lib/facter/util/uptime.rb +0 -83
  159. data/lib/facter/util/values.rb +0 -109
  160. data/lib/facter/util/virtual.rb +0 -220
  161. data/lib/facter/util/vlans.rb +0 -21
  162. data/lib/facter/util/windows.rb +0 -10
  163. data/lib/facter/util/windows/api_types.rb +0 -135
  164. data/lib/facter/util/windows/dir.rb +0 -43
  165. data/lib/facter/util/windows/error.rb +0 -87
  166. data/lib/facter/util/windows/process.rb +0 -294
  167. data/lib/facter/util/windows/user.rb +0 -186
  168. data/lib/facter/util/windows_root.rb +0 -7
  169. data/lib/facter/util/wmi.rb +0 -49
  170. data/lib/facter/util/xendomains.rb +0 -28
  171. data/lib/facter/version.rb +0 -86
  172. data/lib/facter/virtual.rb +0 -339
  173. data/lib/facter/vlans.rb +0 -17
  174. data/lib/facter/xendomains.rb +0 -20
  175. data/lib/facter/zfs_version.rb +0 -14
  176. data/lib/facter/zonename.rb +0 -6
  177. data/lib/facter/zones.rb +0 -18
  178. data/lib/facter/zpool_version.rb +0 -10
  179. data/spec/fixtures/cpuinfo/amd64dual +0 -57
  180. data/spec/fixtures/cpuinfo/amd64dual-grep +0 -2
  181. data/spec/fixtures/cpuinfo/amd64quad +0 -79
  182. data/spec/fixtures/cpuinfo/amd64solo +0 -23
  183. data/spec/fixtures/cpuinfo/amd64tri +0 -86
  184. data/spec/fixtures/cpuinfo/amd64twentyfour +0 -600
  185. data/spec/fixtures/cpuinfo/amd64twentyfour-grep +0 -24
  186. data/spec/fixtures/cpuinfo/bbg3-armel +0 -12
  187. data/spec/fixtures/cpuinfo/beaglexm-armel +0 -12
  188. data/spec/fixtures/cpuinfo/panda-armel +0 -17
  189. data/spec/fixtures/cpuinfo/ppc64 +0 -19
  190. data/spec/fixtures/cpuinfo/ppc64le +0 -15
  191. data/spec/fixtures/cpuinfo/sparc +0 -10
  192. data/spec/fixtures/cpuinfo/two_multicore-grep +0 -4
  193. data/spec/fixtures/cpuinfo/two_singlecore-grep +0 -2
  194. data/spec/fixtures/hpux/machinfo/hppa-rp4440 +0 -26
  195. data/spec/fixtures/hpux/machinfo/ia64-rx2620 +0 -49
  196. data/spec/fixtures/hpux/machinfo/ia64-rx6600 +0 -26
  197. data/spec/fixtures/hpux/machinfo/ia64-rx8640 +0 -53
  198. data/spec/fixtures/hpux/machinfo/superdome-server-SD32B +0 -53
  199. data/spec/fixtures/hpux/machinfo/superdome2-16s +0 -31
  200. data/spec/fixtures/hpux/sched.models +0 -174
  201. data/spec/fixtures/hpux/unistd.h +0 -1534
  202. data/spec/fixtures/ifconfig/bsd_ifconfig_all_with_multiple_interfaces +0 -18
  203. data/spec/fixtures/ifconfig/centos_5_5 +0 -17
  204. data/spec/fixtures/ifconfig/centos_5_5_eth0 +0 -8
  205. data/spec/fixtures/ifconfig/darwin_10_3_0 +0 -26
  206. data/spec/fixtures/ifconfig/darwin_10_3_0_en0 +0 -6
  207. data/spec/fixtures/ifconfig/darwin_10_6_4 +0 -28
  208. data/spec/fixtures/ifconfig/darwin_10_6_4_en1 +0 -6
  209. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack +0 -8
  210. data/spec/fixtures/ifconfig/darwin_10_6_6_dualstack_en1 +0 -7
  211. data/spec/fixtures/ifconfig/darwin_9_8_0 +0 -26
  212. data/spec/fixtures/ifconfig/darwin_9_8_0_en0 +0 -6
  213. data/spec/fixtures/ifconfig/darwin_ifconfig_all_with_multiple_interfaces +0 -23
  214. data/spec/fixtures/ifconfig/fedora_10 +0 -36
  215. data/spec/fixtures/ifconfig/fedora_10_eth0 +0 -9
  216. data/spec/fixtures/ifconfig/fedora_13 +0 -18
  217. data/spec/fixtures/ifconfig/fedora_13_eth0 +0 -9
  218. data/spec/fixtures/ifconfig/fedora_8 +0 -38
  219. data/spec/fixtures/ifconfig/fedora_8_eth0 +0 -9
  220. data/spec/fixtures/ifconfig/freebsd_6_0 +0 -12
  221. data/spec/fixtures/ifconfig/ifconfig_net_tools_1.60.txt +0 -19
  222. data/spec/fixtures/ifconfig/ifconfig_ubuntu_1204.txt +0 -16
  223. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces +0 -19
  224. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_fe80 +0 -19
  225. data/spec/fixtures/ifconfig/linux_ifconfig_all_with_multiple_interfaces_and_no_public_ipv6 +0 -18
  226. data/spec/fixtures/ifconfig/linux_ifconfig_no_addr +0 -19
  227. data/spec/fixtures/ifconfig/linux_ifconfig_no_mac +0 -8
  228. data/spec/fixtures/ifconfig/linux_ifconfig_venet +0 -24
  229. data/spec/fixtures/ifconfig/open_solaris_10 +0 -12
  230. data/spec/fixtures/ifconfig/open_solaris_b132 +0 -20
  231. data/spec/fixtures/ifconfig/openbsd_bridge_rules +0 -11
  232. data/spec/fixtures/ifconfig/sunos_ifconfig_all_with_multiple_interfaces +0 -10
  233. data/spec/fixtures/ifconfig/ubuntu_7_04 +0 -38
  234. data/spec/fixtures/ifconfig/ubuntu_7_04_eth0 +0 -9
  235. data/spec/fixtures/ldom/ldom_v1 +0 -6
  236. data/spec/fixtures/netstat/centos_5_5 +0 -5
  237. data/spec/fixtures/netstat/darwin_10_3_0 +0 -35
  238. data/spec/fixtures/netstat/darwin_10_6_4 +0 -29
  239. data/spec/fixtures/netstat/darwin_10_6_6_dualstack +0 -34
  240. data/spec/fixtures/netstat/darwin_9_8_0 +0 -28
  241. data/spec/fixtures/netstat/fedora_10 +0 -7
  242. data/spec/fixtures/netstat/open_solaris_10 +0 -16
  243. data/spec/fixtures/netstat/open_solaris_b132 +0 -17
  244. data/spec/fixtures/netstat/ubuntu_7_04 +0 -7
  245. data/spec/fixtures/processorcount/solaris-psrinfo +0 -24
  246. data/spec/fixtures/processorcount/solaris-sparc-kstat-cpu-info +0 -1216
  247. data/spec/fixtures/processorcount/solaris-x86_64-kstat-cpu-info +0 -225
  248. data/spec/fixtures/unit/dhcp_servers/nmcli_devices +0 -4
  249. data/spec/fixtures/unit/dhcp_servers/nmcli_devices_disconnected +0 -4
  250. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_dhcp +0 -36
  251. data/spec/fixtures/unit/dhcp_servers/nmcli_eth0_static +0 -24
  252. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_dhcp +0 -49
  253. data/spec/fixtures/unit/dhcp_servers/nmcli_wlan0_static +0 -37
  254. data/spec/fixtures/unit/dhcp_servers/route +0 -3
  255. data/spec/fixtures/unit/dhcp_servers/route_nogw +0 -1
  256. data/spec/fixtures/unit/ec2/rest/meta-data/root +0 -20
  257. data/spec/fixtures/unit/filesystems/linux +0 -28
  258. data/spec/fixtures/unit/gce/metadata/metadata.json +0 -69
  259. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt +0 -19
  260. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.em1 +0 -10
  261. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60.txt.lo +0 -8
  262. data/spec/fixtures/unit/interfaces/ifconfig_net_tools_1.60_v6.txt +0 -9
  263. data/spec/fixtures/unit/ipaddress/ifconfig_multiple_127_addresses.txt +0 -20
  264. data/spec/fixtures/unit/ipaddress/ifconfig_net_tools_1.60.txt +0 -19
  265. data/spec/fixtures/unit/ipaddress/ifconfig_non_english_locale.txt +0 -18
  266. data/spec/fixtures/unit/ipaddress/ifconfig_ubuntu_1204.txt +0 -16
  267. data/spec/fixtures/unit/kernelrelease/openbsd-5.3 +0 -2
  268. data/spec/fixtures/unit/kernelrelease/openbsd-5.3-current +0 -3
  269. data/spec/fixtures/unit/memory/aix-svmon +0 -9
  270. data/spec/fixtures/unit/memory/aix-swap_l +0 -2
  271. data/spec/fixtures/unit/memory/darwin-swapinfo-multiple +0 -3
  272. data/spec/fixtures/unit/memory/darwin-swapinfo-single +0 -2
  273. data/spec/fixtures/unit/memory/darwin-vm_stat +0 -13
  274. data/spec/fixtures/unit/memory/dragonfly-vmstat +0 -3
  275. data/spec/fixtures/unit/memory/freebsd-vmstat +0 -3
  276. data/spec/fixtures/unit/memory/linux-proc_meminfo +0 -10
  277. data/spec/fixtures/unit/memory/openbsd-vmstat +0 -3
  278. data/spec/fixtures/unit/memory/smartos_zone_swap_l-single +0 -2
  279. data/spec/fixtures/unit/memory/solaris-prtconf +0 -4
  280. data/spec/fixtures/unit/memory/solaris-swap_l-multiple +0 -3
  281. data/spec/fixtures/unit/memory/solaris-swap_l-single +0 -2
  282. data/spec/fixtures/unit/memory/solaris-vmstat +0 -3
  283. data/spec/fixtures/unit/netmask/darwin_10_8_5.txt +0 -30
  284. data/spec/fixtures/unit/netmask/ifconfig_aix_7.txt +0 -3
  285. data/spec/fixtures/unit/netmask/ifconfig_net_tools_1.60.txt +0 -19
  286. data/spec/fixtures/unit/netmask/ifconfig_ubuntu_1204.txt +0 -16
  287. data/spec/fixtures/unit/processors/os/darwin-system-profiler +0 -287
  288. data/spec/fixtures/unit/selinux/selinux_sestatus +0 -6
  289. data/spec/fixtures/unit/selinux/selinux_sestatus2 +0 -9
  290. data/spec/fixtures/unit/util/dhcp_servers/route +0 -3
  291. data/spec/fixtures/unit/util/dhcp_servers/route_nogw +0 -1
  292. data/spec/fixtures/unit/util/ec2/centos-arp-ec2.out +0 -1
  293. data/spec/fixtures/unit/util/ec2/linux-arp-ec2.out +0 -1
  294. data/spec/fixtures/unit/util/ec2/linux-arp-not-ec2.out +0 -5
  295. data/spec/fixtures/unit/util/ec2/solaris8_arp_a_not_ec2.out +0 -7
  296. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a-not-ec2.out +0 -6
  297. data/spec/fixtures/unit/util/ec2/windows-2008-arp-a.out +0 -10
  298. data/spec/fixtures/unit/util/ip/6.0-STABLE_FreeBSD_ifconfig +0 -12
  299. data/spec/fixtures/unit/util/ip/Mac_OS_X_10.5.5_ifconfig +0 -26
  300. data/spec/fixtures/unit/util/ip/darwin_ifconfig_all_with_multiple_interfaces +0 -10
  301. data/spec/fixtures/unit/util/ip/darwin_ifconfig_single_interface +0 -6
  302. data/spec/fixtures/unit/util/ip/debian_kfreebsd_ifconfig +0 -40
  303. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan0 +0 -2
  304. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lan1 +0 -2
  305. data/spec/fixtures/unit/util/ip/hpux_1111_ifconfig_lo0 +0 -2
  306. data/spec/fixtures/unit/util/ip/hpux_1111_lanscan +0 -5
  307. data/spec/fixtures/unit/util/ip/hpux_1111_netstat_in +0 -4
  308. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan0 +0 -2
  309. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lan1 +0 -2
  310. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_ifconfig_lo0 +0 -2
  311. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_lanscan +0 -5
  312. data/spec/fixtures/unit/util/ip/hpux_1131_asterisk_netstat_in +0 -4
  313. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan0 +0 -2
  314. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lan1 +0 -2
  315. data/spec/fixtures/unit/util/ip/hpux_1131_ifconfig_lo0 +0 -2
  316. data/spec/fixtures/unit/util/ip/hpux_1131_lanscan +0 -4
  317. data/spec/fixtures/unit/util/ip/hpux_1131_netstat_in +0 -4
  318. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan1 +0 -2
  319. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4 +0 -2
  320. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lan4_1 +0 -2
  321. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_ifconfig_lo0 +0 -2
  322. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_lanscan +0 -9
  323. data/spec/fixtures/unit/util/ip/hpux_1131_nic_bonding_netstat_in +0 -6
  324. data/spec/fixtures/unit/util/ip/linux_2_6_35_proc_net_bonding_bond0 +0 -19
  325. data/spec/fixtures/unit/util/ip/linux_get_single_interface_eth0 +0 -10
  326. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0 +0 -8
  327. data/spec/fixtures/unit/util/ip/linux_get_single_interface_ib0_centos7 +0 -8
  328. data/spec/fixtures/unit/util/ip/linux_get_single_interface_lo +0 -9
  329. data/spec/fixtures/unit/util/ip/linux_ifconfig_all_with_single_interface +0 -18
  330. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0 +0 -8
  331. data/spec/fixtures/unit/util/ip/linux_ifconfig_ib0_centos7 +0 -8
  332. data/spec/fixtures/unit/util/ip/solaris_ifconfig_all_with_multiple_interfaces +0 -8
  333. data/spec/fixtures/unit/util/ip/solaris_ifconfig_single_interface +0 -3
  334. data/spec/fixtures/unit/util/ip/windows_netsh_all_interfaces +0 -12
  335. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface +0 -7
  336. data/spec/fixtures/unit/util/ip/windows_netsh_single_interface6 +0 -18
  337. data/spec/fixtures/unit/util/manufacturer/freebsd_dmidecode +0 -42
  338. data/spec/fixtures/unit/util/manufacturer/intel_linux_dmidecode +0 -549
  339. data/spec/fixtures/unit/util/manufacturer/linux_dmidecode_with_spaces +0 -60
  340. data/spec/fixtures/unit/util/manufacturer/opensolaris_smbios +0 -33
  341. data/spec/fixtures/unit/util/manufacturer/smartos_smbios +0 -533
  342. data/spec/fixtures/unit/util/manufacturer/solaris_sunfire_v120_prtdiag +0 -33
  343. data/spec/fixtures/unit/util/manufacturer/solaris_t5220_prtdiag +0 -136
  344. data/spec/fixtures/unit/util/operatingsystem/coreos.txt +0 -9
  345. data/spec/fixtures/unit/util/operatingsystem/cumuluslinux.txt +0 -8
  346. data/spec/fixtures/unit/util/operatingsystem/redhat-7.txt +0 -12
  347. data/spec/fixtures/unit/util/operatingsystem/sabayon.txt +0 -7
  348. data/spec/fixtures/unit/util/operatingsystem/wheezy.txt +0 -9
  349. data/spec/fixtures/unit/util/partitions/partitions/mount +0 -9
  350. data/spec/fixtures/unit/util/processor/solaris-i86pc +0 -28
  351. data/spec/fixtures/unit/util/processor/solaris-sun4u +0 -151
  352. data/spec/fixtures/unit/util/processor/x86-pentium2 +0 -41
  353. data/spec/fixtures/unit/util/uptime/kstat_boot_time +0 -1
  354. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_darwin +0 -1
  355. data/spec/fixtures/unit/util/uptime/sysctl_kern_boottime_openbsd +0 -1
  356. data/spec/fixtures/unit/util/uptime/ubuntu_proc_uptime +0 -1
  357. data/spec/fixtures/unit/util/virtual/invalid_unicode_dmi_entries +0 -0
  358. data/spec/fixtures/unit/util/virtual/solaris10_proc_self_status1 +0 -0
  359. data/spec/fixtures/unit/util/vlans/centos-5-no-vlans +0 -2
  360. data/spec/fixtures/unit/util/vlans/linux_vlan_config +0 -6
  361. data/spec/fixtures/unit/util/xendomains/xendomains +0 -4
  362. data/spec/fixtures/unit/virtual/sysfs_dmi_entries_raw.txt +0 -0
  363. data/spec/fixtures/unit/zfs_version/freebsd_8.2 +0 -14
  364. data/spec/fixtures/unit/zfs_version/freebsd_9.0 +0 -13
  365. data/spec/fixtures/unit/zfs_version/linux-fuse_0.6.9 +0 -14
  366. data/spec/fixtures/unit/zfs_version/solaris_10 +0 -10
  367. data/spec/fixtures/unit/zfs_version/solaris_11 +0 -12
  368. data/spec/fixtures/unit/zfs_version/zfs_new +0 -61
  369. data/spec/fixtures/unit/zfs_version/zfs_old +0 -43
  370. data/spec/fixtures/unit/zfs_version/zfsonlinux_0.6.1 +0 -13
  371. data/spec/fixtures/unit/zpool_version/freebsd_8.2 +0 -26
  372. data/spec/fixtures/unit/zpool_version/freebsd_9.0 +0 -38
  373. data/spec/fixtures/unit/zpool_version/linux-fuse_0.6.9 +0 -35
  374. data/spec/fixtures/unit/zpool_version/solaris_10 +0 -31
  375. data/spec/fixtures/unit/zpool_version/solaris_11 +0 -43
  376. data/spec/fixtures/unit/zpool_version/zfsonlinux_0.6.1 +0 -48
  377. data/spec/fixtures/virtual/proc_1_cgroup/in_a_container +0 -9
  378. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container +0 -8
  379. data/spec/fixtures/virtual/proc_1_cgroup/in_a_docker_container_with_systemd_slices +0 -10
  380. data/spec/fixtures/virtual/proc_1_cgroup/not_in_a_container +0 -9
  381. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/guest +0 -37
  382. data/spec/fixtures/virtual/proc_self_status/vserver_2_1/host +0 -36
  383. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/guest +0 -39
  384. data/spec/fixtures/virtual/proc_self_status/vserver_2_3/host +0 -39
  385. data/spec/integration/facter_spec.rb +0 -39
  386. data/spec/integration/util/windows/user_spec.rb +0 -59
  387. data/spec/lib/facter_spec/cpuinfo.rb +0 -15
  388. data/spec/lib/facter_spec/windows_network.rb +0 -64
  389. data/spec/puppetlabs_spec/files.rb +0 -57
  390. data/spec/puppetlabs_spec/fixtures.rb +0 -49
  391. data/spec/puppetlabs_spec/matchers.rb +0 -87
  392. data/spec/puppetlabs_spec/verbose.rb +0 -9
  393. data/spec/puppetlabs_spec_helper.rb +0 -26
  394. data/spec/schema/validate_facter_schema.rb +0 -18
  395. data/spec/shared_contexts/platform.rb +0 -55
  396. data/spec/shared_formats/parses.rb +0 -3
  397. data/spec/spec_helper.rb +0 -68
  398. data/spec/unit/application_spec.rb +0 -110
  399. data/spec/unit/architecture_spec.rb +0 -63
  400. data/spec/unit/blockdevices_spec.rb +0 -109
  401. data/spec/unit/core/aggregate_spec.rb +0 -125
  402. data/spec/unit/core/directed_graph_spec.rb +0 -79
  403. data/spec/unit/core/execution/base_spec.rb +0 -130
  404. data/spec/unit/core/execution/posix_spec.rb +0 -96
  405. data/spec/unit/core/execution/windows_spec.rb +0 -106
  406. data/spec/unit/core/execution_spec.rb +0 -42
  407. data/spec/unit/core/logging_spec.rb +0 -223
  408. data/spec/unit/core/resolvable_spec.rb +0 -81
  409. data/spec/unit/core/suitable_spec.rb +0 -106
  410. data/spec/unit/dhcp_servers_spec.rb +0 -212
  411. data/spec/unit/domain_spec.rb +0 -310
  412. data/spec/unit/ec2/rest_spec.rb +0 -168
  413. data/spec/unit/ec2_spec.rb +0 -139
  414. data/spec/unit/facter_spec.rb +0 -108
  415. data/spec/unit/filesystems_spec.rb +0 -50
  416. data/spec/unit/fqdn_spec.rb +0 -16
  417. data/spec/unit/gce/metadata_spec.rb +0 -49
  418. data/spec/unit/gce_spec.rb +0 -34
  419. data/spec/unit/gid_spec.rb +0 -51
  420. data/spec/unit/hardwareisa_spec.rb +0 -41
  421. data/spec/unit/hardwaremodel_spec.rb +0 -58
  422. data/spec/unit/hostname_spec.rb +0 -40
  423. data/spec/unit/id_spec.rb +0 -29
  424. data/spec/unit/interfaces_spec.rb +0 -67
  425. data/spec/unit/ipaddress6_spec.rb +0 -180
  426. data/spec/unit/ipaddress_spec.rb +0 -114
  427. data/spec/unit/kernel_spec.rb +0 -24
  428. data/spec/unit/kernelmajversion_spec.rb +0 -22
  429. data/spec/unit/kernelrelease_spec.rb +0 -66
  430. data/spec/unit/kernelversion_spec.rb +0 -32
  431. data/spec/unit/ldom_spec.rb +0 -84
  432. data/spec/unit/lsbdistcodename_spec.rb +0 -30
  433. data/spec/unit/lsbdistdescription_spec.rb +0 -30
  434. data/spec/unit/lsbdistid_spec.rb +0 -30
  435. data/spec/unit/lsbdistrelease_spec.rb +0 -30
  436. data/spec/unit/lsbmajdistrelease_spec.rb +0 -30
  437. data/spec/unit/lsbminordistrelease_spec.rb +0 -31
  438. data/spec/unit/lsbrelease_spec.rb +0 -30
  439. data/spec/unit/macaddress_spec.rb +0 -76
  440. data/spec/unit/manufacturer_spec.rb +0 -115
  441. data/spec/unit/memory_spec.rb +0 -470
  442. data/spec/unit/netmask_spec.rb +0 -106
  443. data/spec/unit/operatingsystem/base_spec.rb +0 -76
  444. data/spec/unit/operatingsystem/cumuluslinux_spec.rb +0 -40
  445. data/spec/unit/operatingsystem/implementation_spec.rb +0 -50
  446. data/spec/unit/operatingsystem/linux_spec.rb +0 -559
  447. data/spec/unit/operatingsystem/sunos_spec.rb +0 -143
  448. data/spec/unit/operatingsystem/vmkernel_spec.rb +0 -13
  449. data/spec/unit/operatingsystem/windows_spec.rb +0 -77
  450. data/spec/unit/operatingsystem_spec.rb +0 -17
  451. data/spec/unit/operatingsystemmajrelease_spec.rb +0 -21
  452. data/spec/unit/operatingsystemrelease_spec.rb +0 -20
  453. data/spec/unit/os_spec.rb +0 -131
  454. data/spec/unit/osfamily_spec.rb +0 -17
  455. data/spec/unit/partitions_spec.rb +0 -88
  456. data/spec/unit/physicalprocessorcount_spec.rb +0 -13
  457. data/spec/unit/processor_spec.rb +0 -38
  458. data/spec/unit/processors/os_spec.rb +0 -469
  459. data/spec/unit/processors_spec.rb +0 -203
  460. data/spec/unit/ps_spec.rb +0 -42
  461. data/spec/unit/rackspace_spec.rb +0 -40
  462. data/spec/unit/rubyplatform_spec.rb +0 -7
  463. data/spec/unit/selinux_spec.rb +0 -119
  464. data/spec/unit/ssh_spec.rb +0 -77
  465. data/spec/unit/system32_spec.rb +0 -28
  466. data/spec/unit/system_uptime_spec.rb +0 -80
  467. data/spec/unit/uniqueid_spec.rb +0 -27
  468. data/spec/unit/uptime_spec.rb +0 -110
  469. data/spec/unit/util/collection_spec.rb +0 -258
  470. data/spec/unit/util/config_spec.rb +0 -120
  471. data/spec/unit/util/confine_spec.rb +0 -148
  472. data/spec/unit/util/dhcp_servers_spec.rb +0 -63
  473. data/spec/unit/util/directory_loader_spec.rb +0 -102
  474. data/spec/unit/util/ec2_spec.rb +0 -184
  475. data/spec/unit/util/fact_spec.rb +0 -142
  476. data/spec/unit/util/file_read_spec.rb +0 -29
  477. data/spec/unit/util/formatter_spec.rb +0 -55
  478. data/spec/unit/util/ip/windows_spec.rb +0 -80
  479. data/spec/unit/util/ip_spec.rb +0 -487
  480. data/spec/unit/util/loader_spec.rb +0 -286
  481. data/spec/unit/util/macaddress_spec.rb +0 -143
  482. data/spec/unit/util/macosx_spec.rb +0 -114
  483. data/spec/unit/util/manufacturer_spec.rb +0 -223
  484. data/spec/unit/util/normalization_spec.rb +0 -113
  485. data/spec/unit/util/operatingsystem_spec.rb +0 -107
  486. data/spec/unit/util/parser_spec.rb +0 -233
  487. data/spec/unit/util/partitions/partitions_spec.rb +0 -67
  488. data/spec/unit/util/partitions_spec.rb +0 -19
  489. data/spec/unit/util/posix_spec.rb +0 -11
  490. data/spec/unit/util/processor_spec.rb +0 -212
  491. data/spec/unit/util/registry_spec.rb +0 -76
  492. data/spec/unit/util/resolution_spec.rb +0 -129
  493. data/spec/unit/util/solaris_zones_spec.rb +0 -127
  494. data/spec/unit/util/uptime_spec.rb +0 -131
  495. data/spec/unit/util/values_spec.rb +0 -171
  496. data/spec/unit/util/virtual_spec.rb +0 -393
  497. data/spec/unit/util/vlans_spec.rb +0 -42
  498. data/spec/unit/util/wmi_spec.rb +0 -19
  499. data/spec/unit/util/xendomains_spec.rb +0 -114
  500. data/spec/unit/version_spec.rb +0 -42
  501. data/spec/unit/virtual_spec.rb +0 -585
  502. data/spec/unit/zfs_version_spec.rb +0 -87
  503. data/spec/unit/zonename_spec.rb +0 -14
  504. data/spec/unit/zones_spec.rb +0 -55
  505. data/spec/unit/zpool_version_spec.rb +0 -80
  506. data/spec/watchr.rb +0 -125
@@ -1,27 +0,0 @@
1
- require 'facter/util/operatingsystem'
2
- require 'facter/operatingsystem/linux'
3
-
4
- module Facter
5
- module Operatingsystem
6
- class CumulusLinux < Linux
7
- def get_operatingsystem
8
- "CumulusLinux"
9
- end
10
-
11
- def get_osfamily
12
- "Debian"
13
- end
14
-
15
- def get_operatingsystemrelease
16
- @operatingsystemrelease ||= Facter::Util::Operatingsystem.os_release['VERSION_ID']
17
- @operatingsystemrelease
18
- end
19
-
20
- def get_operatingsystemmajrelease
21
- if operatingsystemrelease = get_operatingsystemrelease
22
- operatingsystemrelease.split(".").first
23
- end
24
- end
25
- end
26
- end
27
- end
@@ -1,33 +0,0 @@
1
- require 'facter/operatingsystem/base'
2
- require 'facter/operatingsystem/osreleaselinux'
3
- require 'facter/operatingsystem/cumuluslinux'
4
- require 'facter/operatingsystem/linux'
5
- require 'facter/operatingsystem/sunos'
6
- require 'facter/operatingsystem/vmkernel'
7
- require 'facter/operatingsystem/windows'
8
-
9
- module Facter
10
- module Operatingsystem
11
- def self.implementation(kernel = Facter.value(:kernel))
12
- case kernel
13
- when "Linux", "GNU/kFreeBSD"
14
- release_info = Facter::Util::Operatingsystem.os_release
15
- if release_info['NAME'] == "Cumulus Linux"
16
- Facter::Operatingsystem::CumulusLinux.new
17
- elsif release_info['NAME'] == "CoreOS"
18
- Facter::Operatingsystem::OsReleaseLinux.new
19
- else
20
- Facter::Operatingsystem::Linux.new
21
- end
22
- when "SunOS"
23
- Facter::Operatingsystem::SunOS.new
24
- when "VMkernel"
25
- Facter::Operatingsystem::VMkernel.new
26
- when "windows"
27
- Facter::Operatingsystem::Windows.new
28
- else
29
- Facter::Operatingsystem::Base.new
30
- end
31
- end
32
- end
33
- end
@@ -1,511 +0,0 @@
1
- require 'facter/util/file_read'
2
- require 'facter/util/operatingsystem'
3
- require 'facter/operatingsystem/base'
4
-
5
- module Facter
6
- module Operatingsystem
7
- class Linux < Base
8
- def get_operatingsystem
9
- if Facter.value(:kernel) == "GNU/kFreeBSD"
10
- "GNU/kFreeBSD"
11
- elsif lsbdistid = get_lsbdistid
12
- if lsbdistid == "Ubuntu"
13
- @operatingsystem ||= "Ubuntu"
14
- elsif lsbdistid == "LinuxMint"
15
- @operatingsystem ||= "LinuxMint"
16
- else
17
- @operatingsystem ||= get_operatingsystem_with_release_files
18
- end
19
- else
20
- @operatingsystem ||= get_operatingsystem_with_release_files
21
- end
22
- end
23
-
24
- def get_osfamily
25
- case get_operatingsystem
26
- when "RedHat", "Fedora", "CentOS", "Scientific", "SLC", "Ascendos",
27
- "CloudLinux", "PSBM", "OracleLinux", "OVS", "OEL", "Amazon",
28
- "XenServer", "VirtuozzoLinux"
29
- "RedHat"
30
- when "LinuxMint", "Ubuntu", "Debian"
31
- "Debian"
32
- when "SLES", "SLED", "OpenSuSE", "SuSE"
33
- "Suse"
34
- when "Gentoo"
35
- "Gentoo"
36
- when "Archlinux", "Manjarolinux"
37
- "Archlinux"
38
- when "Mageia", "Mandriva", "Mandrake"
39
- "Mandrake"
40
- when "ALT Linux", "ALT Starter Kit", "ALT Workstation", "ALT Server"
41
- "ALT"
42
- else
43
- Facter.value("kernel")
44
- end
45
- end
46
-
47
- def get_operatingsystemrelease
48
- case get_operatingsystem
49
- when "Alpine"
50
- get_alpine_release_with_release_file
51
- when "ALT", "ALT Starter Kit", "ALT Workstation", "ALT Server"
52
- get_alt_release_with_release_file
53
- when "Amazon"
54
- get_amazon_release_with_lsb
55
- when "AristaEOS"
56
- get_arista_release_with_release_file
57
- when "BlueWhite64"
58
- get_bluewhite_release_with_release_file
59
- when "CentOS", "RedHat", "Scientific", "SLC", "Ascendos", "CloudLinux", "PSBM",
60
- "XenServer", "Fedora", "MeeGo", "OracleLinux", "OEL", "oel", "OVS", "ovs",
61
- "VirtuozzoLinux"
62
- get_redhatish_release_with_release_file
63
- when "Debian"
64
- get_debian_release_with_release_file
65
- when "LinuxMint"
66
- get_linux_mint_release_with_release_file
67
- when "Mageia"
68
- get_mageia_release_with_release_file
69
- when "OpenWrt"
70
- get_openwrt_release_with_release_file
71
- when "Slackware"
72
- get_slackware_release_with_release_file
73
- when "Slamd64"
74
- get_slamd64_release_with_release_file
75
- when "SLES", "SLED", "OpenSuSE"
76
- get_suse_release_with_release_file
77
- when "Ubuntu"
78
- get_ubuntu_release_with_release_file
79
- when "VMwareESX"
80
- get_vmwareESX_release_with_release_file
81
- else
82
- Facter.value(:kernelrelease)
83
- end
84
- end
85
-
86
- def get_operatingsystemmajorrelease
87
- if operatingsystemrelease = get_operatingsystemrelease
88
- if get_operatingsystem == "Ubuntu"
89
- if (releasemajor = operatingsystemrelease.split("."))
90
- if releasemajor.length >= 2
91
- "#{releasemajor[0]}.#{releasemajor[1]}"
92
- else
93
- releasemajor[0]
94
- end
95
- end
96
- else
97
- if (releasemajor = operatingsystemrelease.split(".")[0])
98
- releasemajor
99
- end
100
- end
101
- end
102
- end
103
-
104
- def get_operatingsystemminorrelease
105
- if operatingsystemrelease = get_operatingsystemrelease
106
- if get_operatingsystem == "Ubuntu"
107
- if (releaseminor = operatingsystemrelease.split(".")[2])
108
- releaseminor
109
- end
110
- else
111
- if (releaseminor = operatingsystemrelease.split(".")[1])
112
- if releaseminor.include? "-"
113
- releaseminor.split("-")[0]
114
- else
115
- releaseminor
116
- end
117
- end
118
- end
119
- end
120
- end
121
-
122
- def has_lsb?
123
- true
124
- end
125
-
126
- def get_lsbdistcodename
127
- if (lsb_data = collect_lsb_information)
128
- lsb_data["Codename"]
129
- end
130
- end
131
-
132
- def get_lsbdistid
133
- if (lsb_data = collect_lsb_information)
134
- lsb_data["Distributor ID"]
135
- end
136
- end
137
-
138
- def get_lsbdistdescription
139
- if (lsb_data = collect_lsb_information)
140
- lsb_data["Description"].sub(/^"(.*)"$/,'\1')
141
- end
142
- end
143
-
144
- def get_lsbrelease
145
- if (lsb_data = collect_lsb_information)
146
- lsb_data["LSB Version"]
147
- end
148
- end
149
-
150
- def get_lsbdistrelease
151
- if (lsb_data = collect_lsb_information)
152
- lsb_data["Release"]
153
- end
154
- end
155
-
156
- def get_lsbmajdistrelease
157
- lsbdistrelease = get_lsbdistrelease
158
- if get_operatingsystem == "Ubuntu"
159
- if (lsbreleasemajor = lsbdistrelease.split("."))
160
- if lsbreleasemajor.length >= 2
161
- result = "#{lsbreleasemajor[0]}.#{lsbreleasemajor[1]}"
162
- else
163
- result = lsbreleasemajor
164
- end
165
- end
166
- else
167
- if /(\d*)\./i =~ lsbdistrelease
168
- result = $1
169
- else
170
- result = lsbdistrelease
171
- end
172
- end
173
- result
174
- end
175
-
176
- def get_lsbminordistrelease
177
- lsbdistrelease = get_lsbdistrelease
178
- if get_operatingsystem == "Ubuntu"
179
- mdata = /(\d+).(\d+).(\d+)/i.match(lsbdistrelease)
180
- if mdata == nil
181
- result = nil
182
- else
183
- result = mdata[3]
184
- end
185
- else
186
- mdata = /(\d+).(\d+)/i.match(lsbdistrelease)
187
- if mdata == nil
188
- result = nil
189
- else
190
- result = mdata[2]
191
- end
192
- end
193
- result
194
- end
195
-
196
- def get_lsb_facts_hash
197
- lsb_hash = {}
198
- if lsbdistcodename = get_lsbdistcodename
199
- lsb_hash["distcodename"] = lsbdistcodename
200
- end
201
-
202
- if lsbdistid = get_lsbdistid
203
- lsb_hash["distid"] = lsbdistid
204
- end
205
-
206
- if lsbdistdescription = get_lsbdistdescription
207
- lsb_hash["distdescription"] = lsbdistdescription
208
- end
209
-
210
- if lsbrelease = get_lsbrelease
211
- lsb_hash["release"] = lsbrelease
212
- end
213
-
214
- if lsbdistrelease = get_lsbdistrelease
215
- lsb_hash["distrelease"] = lsbdistrelease
216
- end
217
-
218
- if lsbmajdistrelease = get_lsbmajdistrelease
219
- lsb_hash["majdistrelease"] = lsbmajdistrelease
220
- end
221
-
222
- if lsbminordistrelease = get_lsbminordistrelease
223
- lsb_hash["minordistrelease"] = lsbminordistrelease
224
- end
225
- lsb_hash
226
- end
227
-
228
- def collect_lsb_information
229
- @lsb_data ||= Facter::Core::Execution.exec("lsb_release -cidvr 2>/dev/null")
230
- @data_hash = {}
231
-
232
- if @lsb_data && @data_hash.empty?
233
- @lsb_data.split("\n").each do |element|
234
- lsbvar, value = element.split("\t")
235
- lsbvar.gsub!(":", "")
236
- @data_hash["#{lsbvar}"] = value
237
- end
238
- end
239
-
240
- @data_hash unless @data_hash.empty?
241
- end
242
-
243
- private
244
-
245
- # Sequentially searches the filesystem for the existence of a release file
246
- #
247
- # @return [String, NilClass]
248
- def get_operatingsystem_with_release_files
249
- operatingsystem = nil
250
- release_files = {
251
- "AristaEOS" => "/etc/Eos-release",
252
- "Debian" => "/etc/debian_version",
253
- "Gentoo" => "/etc/gentoo-release",
254
- "Mageia" => "/etc/mageia-release",
255
- "Mandriva" => "/etc/mandriva-release",
256
- "Mandrake" => "/etc/mandrake-release",
257
- "MeeGo" => "/etc/meego-release",
258
- "Archlinux" => "/etc/arch-release",
259
- "Manjarolinux"=> "/etc/manjaro-release",
260
- "OracleLinux" => "/etc/oracle-release",
261
- "OpenWrt" => "/etc/openwrt_release",
262
- "Alpine" => "/etc/alpine-release",
263
- "VMWareESX" => "/etc/vmware-release",
264
- "Bluewhite64" => "/etc/bluewhite64-version",
265
- "Slamd64" => "/etc/slamd64-version",
266
- "Slackware" => "/etc/slackware-version"
267
- }
268
-
269
- release_files.each do |os, releasefile|
270
- if FileTest.exists?(releasefile)
271
- operatingsystem = os
272
- end
273
- end
274
-
275
- unless operatingsystem
276
- if FileTest.exists?("/etc/enterprise-release")
277
- if FileTest.exists?("/etc/ovs-release")
278
- operatingsystem = "OVS"
279
- else
280
- operatingsystem = "OEL"
281
- end
282
- elsif FileTest.exists?("/etc/altlinux-release")
283
- operatingsystem = get_alt_operatingsystem_name
284
- elsif FileTest.exists?("/etc/fedora-release")
285
- operatingsystem = "Fedora"
286
- elsif FileTest.exists?("/etc/redhat-release")
287
- operatingsystem = get_redhat_operatingsystem_name
288
- elsif FileTest.exists?("/etc/SuSE-release")
289
- operatingsystem = get_suse_operatingsystem_name
290
- elsif FileTest.exists?("/etc/system-release")
291
- operatingsystem = "Amazon"
292
- end
293
- end
294
-
295
- operatingsystem
296
- end
297
-
298
- # Uses a regex search on /etc/redhat-release to determine OS
299
- #
300
- # @return [String]
301
- def get_redhat_operatingsystem_name
302
- txt = File.read("/etc/redhat-release")
303
- matches = {
304
- "CentOS" => "centos",
305
- "Scientific" => "Scientific",
306
- "CloudLinux" => "^cloudlinux",
307
- "PSBM" => "^Parallels Server Bare Metal",
308
- "Ascendos" => "Ascendos",
309
- "XenServer" => "^XenServer",
310
- "XCP" => "XCP",
311
- "VirtuozzoLinux" => "^VirtuozzoLinux"
312
- }
313
-
314
- if txt =~ /CERN/
315
- "SLC"
316
- else
317
- match = regex_search_release_file_for_operatingsystem(matches, txt)
318
- match = "RedHat" if match == nil
319
-
320
- match
321
- end
322
- end
323
-
324
- # Uses a regex search on /etc/altlinux-release to determine OS
325
- #
326
- # @return [String]
327
- def get_alt_operatingsystem_name
328
- txt = File.read("/etc/os-release")
329
- matches = {
330
- "ALT Starter Kit" => "^NAME=\"ALT( Linux)? starter kit",
331
- "ALT Workstation" => "^NAME=\"ALT( Linux)? Workstation",
332
- "ALT Server" => "^NAME=\"ALT( Linux)? Server",
333
- }
334
- match = regex_search_release_file_for_operatingsystem(matches, txt)
335
- match = "ALT Linux" if match == nil
336
-
337
- match
338
- end
339
-
340
- # Uses a regex search on /etc/SuSE-release to determine OS
341
- #
342
- # @return [String]
343
- def get_suse_operatingsystem_name
344
- txt = File.read("/etc/SuSE-release")
345
- matches = {
346
- "SLES" => "^SUSE LINUX Enterprise Server",
347
- "SLED" => "^SUSE LINUX Enterprise Desktop",
348
- "OpenSuSE" => "^openSUSE"
349
- }
350
- match = regex_search_release_file_for_operatingsystem(matches, txt)
351
- match = "SuSE" if match == nil
352
-
353
- match
354
- end
355
-
356
- # Iterates over potential matches from a hash argument and returns
357
- # result of search
358
- #
359
- # @return [String, NilClass]
360
- def regex_search_release_file_for_operatingsystem(regex_os_hash, filecontent)
361
- match = nil
362
- regex_os_hash.each do |os, regex|
363
- match = os if filecontent =~ /#{regex}/i
364
- end
365
-
366
- match
367
- end
368
-
369
- # Read release files to determine operatingsystemrelease
370
- #
371
- # @return [String]
372
- def get_alpine_release_with_release_file
373
- if release = Facter::Util::FileRead.read('/etc/alpine-release')
374
- release.sub!(/\s*$/, '')
375
- release
376
- end
377
- end
378
-
379
- def get_arista_release_with_release_file
380
- if release = Facter::Util::FileRead.read('/etc/Eos-release')
381
- if match = /\d+\.\d+(:?\.\d+)?[A-M]?$/.match(release)
382
- match[0]
383
- end
384
- end
385
- end
386
-
387
- def get_amazon_release_with_lsb
388
- if lsbdistrelease = get_lsbdistrelease
389
- lsbdistrelease
390
- else
391
- if release = Facter::Util::FileRead.read('/etc/system-release')
392
- if match = /\d+\.?\d*/.match(release)
393
- match[0]
394
- end
395
- end
396
- end
397
- end
398
-
399
- def get_bluewhite_release_with_release_file
400
- if release = Facter::Util::FileRead.read('/etc/bluewhite64-version')
401
- if match = /^\s*\w+\s+(\d+)\.(\d+)/.match(release)
402
- match[1] + "." + match[2]
403
- else
404
- "unknown"
405
- end
406
- end
407
- end
408
-
409
- def get_redhatish_release_with_release_file
410
- case get_operatingsystem
411
- when "CentOS", "RedHat", "Scientific", "SLC", "Ascendos", "CloudLinux",
412
- "PSBM", "XenServer", "VirtuozzoLinux"
413
- releasefile = "/etc/redhat-release"
414
- when "Fedora"
415
- releasefile = "/etc/fedora-release"
416
- when "MeeGo"
417
- releasefile = "/etc/meego-release"
418
- when "OracleLinux"
419
- releasefile = "/etc/oracle-release"
420
- when "OEL", "oel"
421
- releasefile = "/etc/enterprise-release"
422
- when "OVS", "ovs"
423
- releasefile = "/etc/ovs-release"
424
- end
425
-
426
- if release = Facter::Util::FileRead.read(releasefile)
427
- line = release.split("\n").first.chomp
428
- if match = /\(Rawhide\)$/.match(line)
429
- "Rawhide"
430
- elsif match = /release (\d[\d.]*)/.match(line)
431
- match[1]
432
- end
433
- end
434
- end
435
-
436
- def get_alt_release_with_release_file
437
- regex_search_releasefile_for_release(/VERSION_ID=([0-9.]+)/m, "/etc/os-release")
438
- end
439
-
440
- def get_debian_release_with_release_file
441
- if release = Facter::Util::FileRead.read('/etc/debian_version')
442
- release.sub!(/\s*$/, '')
443
- release
444
- end
445
- end
446
-
447
- def get_linux_mint_release_with_release_file
448
- regex_search_releasefile_for_release(/RELEASE\=(\d+)/, "/etc/linuxmint/info")
449
- end
450
-
451
- def get_mageia_release_with_release_file
452
- regex_search_releasefile_for_release(/Mageia release ([0-9.]+)/, "/etc/mageia-release")
453
- end
454
-
455
- def get_openwrt_release_with_release_file
456
- regex_search_releasefile_for_release(/^(\d+\.\d+.*)/, "/etc/openwrt_version")
457
- end
458
-
459
- def get_slackware_release_with_release_file
460
- regex_search_releasefile_for_release(/Slackware ([0-9.]+)/, "/etc/slackware-version")
461
- end
462
-
463
- def get_slamd64_release_with_release_file
464
- regex_search_releasefile_for_release(/^\s*\w+\s+(\d+)\.(\d+)/, "/etc/slamd64-version")
465
- end
466
-
467
- def get_ubuntu_release_with_release_file
468
- if release = Facter::Util::FileRead.read('/etc/lsb-release')
469
- if match = release.match(/DISTRIB_RELEASE=((\d+.\d+)(\.(\d+))?)/)
470
- # Return only the major and minor version numbers. This behavior must
471
- # be preserved for compatibility reasons.
472
- match[2]
473
- end
474
- end
475
- end
476
-
477
- def get_vmwareESX_release_with_release_file
478
- release = Facter::Core::Execution.exec('vmware -v')
479
- if match = /VMware ESX .*?(\d.*)/.match(release)
480
- match[1]
481
- end
482
- end
483
-
484
- def get_suse_release_with_release_file
485
- if release = Facter::Util::FileRead.read('/etc/SuSE-release')
486
- if match = /^VERSION\s*=\s*(\d+)/.match(release)
487
- releasemajor = match[1]
488
- if match = /^PATCHLEVEL\s*=\s*(\d+)/.match(release)
489
- releaseminor = match[1]
490
- elsif match = /^VERSION\s=.*.(\d+)/.match(release)
491
- releaseminor = match[1]
492
- else
493
- releaseminor = "0"
494
- end
495
- releasemajor + "." + releaseminor
496
- else
497
- "unknown"
498
- end
499
- end
500
- end
501
-
502
- def regex_search_releasefile_for_release(regex, releasefile)
503
- if release = Facter::Util::FileRead.read(releasefile)
504
- if match = release.match(regex)
505
- match[1]
506
- end
507
- end
508
- end
509
- end
510
- end
511
- end