puppetlabs-stdlib/lib/facter/root_home.rb
Jeff McCune 11c1837745 (#9859) Add root_home fact and tests
Without this patch applied, the stdlib module does not provide a
root_home fact.  This fact is necessary to easily determine the root
account home directory on platforms Puppet is supported on.

The major variations this fact address are:
---
solaris: /
linux: /root
macosx: /var/root

Spec tests using rspec have been provided as well to cover these three
general cases.  Windows tests are marked as pending.
2011-10-03 11:51:05 -07:00

17 lines
462 B
Ruby

# A facter fact to determine the root home directory.
# This varies on PE supported platforms and may be
# reconfigured by the end user.
module Facter::Util::RootHome
class << self
def get_root_home
root_ent = Facter::Util::Resolution.exec("getent passwd root")
# The home directory is the sixth element in the passwd entry
root_ent.split(":")[5]
end
end
end
Facter.add(:root_home) do
setcode { Facter::Util::RootHome.get_root_home }
end