Update default cows

Previously, the default cows were set to build for both arches.  Because facter
is a noarch debian package, building against i386 cows is sufficient and
reduces overall build time. This also adds cows for debian stable and unstable.
Merge pull request #328 from haus/maint/1.6.x/update_default_cows_and_mocks

Update default cows
Remove asc file a source for RPM builds

We used to require the asc file for RPM builds of facter.  This was not
consistant with our packaging of any other platform and raised the
barrier to entry if you were trying to build your own facter package.

This commit removes the requirements of signing the tarball for building
an RPM package.  Tarball will still be signed prior to official release
from Rel-Eng team at Puppet Labs.
Spec file cleanup

This commit removes the Config, RbConfig switch which was needed for ruby 1.8.1
compatibility, as 1.8.5 is the minimum supported ruby. It also updates the
license to a valid correctly named license. It removes comments from some
%global macros as well. It also adds the epoch to the changelog entry.
Remove INSTALL from Facter

The INSTALL file dates back before there were packages besides gems for Facter.
As there are now packages for most major platforms, the INSTALL file isn't
needed. This removes it from the tree and from packaging.
Remove CHANGELOG from Facter

This commit removes the CHANGELOG file in the top level
of facter, which only contains commit hashes/ messages
from the previous releases, and is of debatable utility.
This information can be gleaned easily from a git log,
and is not of much use without git. Removing it removes
yet another manual process from the releasing of facter.

It also removes references of the CHANGELOG from the packaging.
Merge pull request #329 from haus/maint/1.6.x/facter_spec_cleanup

Maint/1.6.x/facter spec cleanup
Updating FACTERVERSION for facter 1.6.13-rc1
return vendor field and retab

This commit returns the vendor field to the facter
spec, which was lost in the transition to an erb
template. It also tabs in this section for clarity.

Signed-off-by: Moses Mendoza <moses@puppetlabs.com>
Update lib/facter/version.rb for 1.6.13
Only load rubygems in bin/facter

We should not load rubygems when used as a library. Instead we require
rubygems when invoked from the command line.
(#16829) Change how bundler is detected

The constant `::Bundler::Setup` isn't defined in the latest version,
instead using just `::Bundler` to detect whether it's been loaded.

See also #16757
Merge branch 'ticket/1.6.x/16829-rubygems' into 1.6.x

* ticket/1.6.x/16829-rubygems:
  (#16829) Change how bundler is detected
  Only load rubygems in bin/facter
(#14764) Stop calling enum_cpuinfo and enum_lsdev on unsuitable platforms

Without this patch, the platform specific utility methods on
Facter::Util::Processor named enum_cpuinfo and enum_lsdev are always
called when Facter loads processor.rb.

This is a problem because exceptions will be raised during spec tests on
different platforms as described at
https://projects.puppetlabs.com/issues/14764

Reviewed-by: Jeff McCune <jeff@puppetlabs.com>
Merge branch 'fix/1.6.x/14674_rewrite_processor_fact' into 1.6.x

* fix/1.6.x/14674_rewrite_processor_fact:
  (#14764) Stop calling enum_cpuinfo and enum_lsdev on unsuitable platforms
(#13535) Fix uptime; use `uptime` instead of `who -b`

Without this patch applied the uptime fact value is often wrong on some
flavors of Unix.  In particular, the value may be negative or simply
incorrect.

This is a problem because the Facter value does not contained the truth
of our reality.  This makes it difficult to model reality inside of
Puppet.

This patch fixes the problem by replacing the unreliable who -b method
and the Solaris kstat method with a simple call to the
"uptime" command.

This patch also adds RSpec tests for new method and remove RSpec tests
for removed methods.  Delete now-unused fixture file who_b_boottime.

Reviewed-by: Jeff McCune <jeff@puppetlabs.com>
Merge branch 'ticket/1.6.x/13535_facter_uptime_can_be_wrong_on_AIX' into 1.6.x

* ticket/1.6.x/13535_facter_uptime_can_be_wrong_on_AIX:
  (#13535) Fix uptime; use `uptime` instead of `who -b`
(#16506) Fix illegal option error from uname on hpux

Without this patch applied Facter produces a misleading error message
when run on HP-UX:

    $ facter hardwareisa
    /usr/bin/uname: illegal option -- p
    usage: uname [-amnrsvil] [-S nodename]

This patch fixes the problem by changing the command to `uname -m` when running
on the HP-UX kernel.

Original author: Alex Harvey

Reviewed-by: Jeff McCune <jeff@puppetlabs.com>
Merge branch 'fix/1.6.x/16506_hpux_uname_p' into 1.6.x

* fix/1.6.x/16506_hpux_uname_p:
  (#16506) Fix illegal option error from uname on hpux
(#16526) Fix physicalprocessorcount fact on Solaris

Without this patch applied Facter produces the following error output
when run on versions of Solaris prior to version 8.

    $ facter -d physicalprocessorcount
    /usr/sbin/psrinfo: illegal option -- p
    usage:
            psrinfo [-v] [processor_id ...]
            psrinfo -s processor_id

This is a problem because the value is not actually returned to the end user.

This patch fixes the problem by avoiding the use of the `-p` flag in versions
of Solaris prior to kernel release 5.8 (Solaris 8).  In these scenarios, we
simply count the number of lines in the output of the `psrinfo` command.