(#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.
(refactor) Use braces for one line blocks
(refactor) Deduplicate operatingsystem fact resolution

The operatingsystem fact on Linux had all possible fact resolutions
expressed in a single location. This makes testing and reasoning about
the fact somewhat frail, as it implies ordering that might or might not
be there.

This commit extracts common behavior of detecting redhat and suse
variants based on file contents, and behavior around detecting the
operating system based on the presence of a file.
(maint) disambiguate SLC and Scientific linux regexes

The regexes to detect Scientific Linux and Scientific Linux CERN were
ambiguous and order dependent. Since the regexes were stored in a hash
and were thus unordered, these looser regexes could cause mismatches.

This commit uses stricter regexes for both SL and SLC to disambiguate
this.
Merge pull request #494 from adrienthebo/refactor-operatingsystem

Refactor operatingsystem fact structure
(packaging) Remove etc directory references from packaging

In commit d091bf882d731232ebcbf8d1dc324593cc837a98, facter.conf and the etc
directory were removed from facter. This commit removes the references to the
etc directory from the osx file mapping file and ext/project_data.yaml, which
is used to build the gem and tarball. Without this commit building the gem or
tarball will fail trying to copy a nonexistent directory.
Merge pull request #498 from haus/maint/master/remove_etc_from_packaging

(packaging) Remove etc directory references from packaging
ip address fact that return full ifconfig output

On system with non english locale, the ip address fact return full ifconfig
output.
(refactor) Simplify ipaddress fact specs
(maint) Stub extraneous facts when testing ifconfig

If the higher weight ifconfig fact fails to resolve, Facter will try to
determine the IP address by resolving the hostname. When testing to
ensure that the ifconfig based resolution returns nil, the resolution
fact will be called and return an unexpected value. This commit stubs
the hostname fact when testing the ifconfig ipaddress resolution to
ensure the tests behave consistently.
Merge branch 'pull-476' into stable

This closes GH-476
Merge branch 'stable'