(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'
(maint) Handle Fedora as a proper Redhat variant

The refactor of the operatingsystem fact in ec2bac8 split up fact
resolution but removed the strict ordering of the resolution method.
Fedora has /etc/redhat-release present which caused the redhat fact to
take precedence, but the release string was not matched. The behavior of
the redhat fact defaults to `redhat` if no exact version was matched.
Since the fact was resolved, a lower resolution fact could not be used

This commit adds fedora as a recognized release string so the redhat
resolution behaves as expected.
Consolidate several queries for hw.physmem on BSD.
Merge pull request #502 from adrienthebo/maint-fedora_operatingsystem_fact

(maint) Handle Fedora as a proper Redhat variant
Merge pull request #503 from jasperla/physmem

Consolidate several queries for hw.physmem on BSD.
Add fact for encrypted swap on OpenBSD
Merge pull request #501 from jasperla/encrypted_swap

Add SwapEncrypted fact for OpenBSD
(#21954) Add support for Mageia OS to osfamily.rb

The addition of Mageia OS in
https://github.com/puppetlabs/facter/commit/e2f040a5bc4ed7539ecc54a5c3d26f93a9ed6a18
(Ticket #9929) was incomplete.
Mageia is derived from Mandrake and Mandriva, and so is in the same family.
This patch adds support to return osfamily='Mandrake' on a Mageia OS system,
rather than the generic 'Linux' kernel value, as well as adjusting the tests
expecting the kernel fact for the Mageia operating system.
Merge pull request #504 from StephenBrown2/mageia_osfamily

Add support for Mageia to osfamily.rb