(#21260) Add Cumulus Linux OS detection support
collapsed in a parsable symbol
Per pull request #453, don't match an array when a single OS string is matched
liberal regex
Spec for Cumulus Linux
Per Adrien feedback, an explicit check and return value
Merge pull request #1 from sergeyhush/master

Cumulus Linux RSpec additions
preserve agressive regex to match other setcodes, also explicit variable
(maint) Refactor hpux_spec.rb to reduce test redundancy

Prior to this commit tests for IP facts had significant duplication making it difficult to maintain in the event fixtures change or version support is added or dropped.

This commit consolidates the common features of the tests, making it easier to identify where maintenance should occur as fixtures change.
fix use C as default locale.

Currently facter sets only LANG environment variable, this does not
work on systems that have LC_ALL configured, because LC_ALL
have higher priority than LANG variable.

So the correct procedure is to configure LC_ALL=C instead of LANG=C.
change resolution_spec to test LC_ALL locale environment  var.
should configure LANG and LC_ALL.

refer to the pull request:
https://github.com/puppetlabs/facter/pull/497
(#21738) Revert "(#2157) Remove support for executable external facts on Windows"

This reverts commit 008cc6cdf79df1589c060e2a088caffc9cf6da77.

Conflicts:
	lib/facter/util/directory_loader.rb
	lib/facter/util/parser.rb
(#21738) Add .cmd / Update PowerShell parser

This updates the PowerShell parser to add a switch for the Bypass execution
policy which means that the execution policy will not need to be set
prior to running facter. This also adds some switches (NoProfile,
NoLogo, NonInteractive) that speed up the execution of external powershell
facts.

This also adds the extension .cmd as a valid file extension as part of the
ScriptParser. This functions in the same way as .bat.
Add Facter::Util::POSIX for a consistent way of dealing with sysctl(7).
(#22060) Revert "Faster MAC address load on Linux via sysfs"

This reverts commit 4b926d0df3bb02a0492908fd13479e0a148ae19e.
Author: Daniel Pittman daniel@puppetlabs.com
Date: Thu Jul 19 19:11:46 2012

While running `puppet agent --no-daemonize --debug`, and IFF somewhere in the
code I have $DEBUG = true, then if I Ctrl-C to kill the agent I see the
following exception:

  Exception `NilClass' at .../facter/lib/facter/macaddress.rb:19 -
  undefined local variable or method `path' for :Facter::Util::Resolution

This is followed by an "infinite" recursion / stackoverflow which impeeds
debugging other issues.

The enhancement introduced in 4b926d0 never actually took effect because this
exception was normally ignored causing the new (faster) MAC detection code to
always return nil. Spec tests were never written for this enhancement nor for
its interaction with ifconfig based MAC detection. Thus the safest path forward
is to just revert the offending commit.
Merge pull request #505 from jasperla/sysctl

Add Facter::Util::BSD for a consistent way of dealing with sysctl(8).
(#21260) Add Cumulus Linux OS detection support

If '/etc/os-release' is presend and it claims to be Cumulus Linux, set operating system to CumulusLInux.
maint: Refactor Key Value Output Parsers

This extracts parsing the output of a command to a common method shared between
powershellparser, textparser and scriptparser and cleans up the methods to take
advantage of the same parsing technique.
Merge pull request #508 from ferventcoder/fix/21738/win_external_facts

(#21738) Support for executable external facts on Windows