Sha256: 845cbb3343aa53019dedc0eddf0681737377fa013ed90c49912e06c2a4ceb0b7

Contents?: true

Size: 875 Bytes

Versions: 21

Compression:

Stored size: 875 Bytes

Contents

# 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
    # If the platform doesn't have getent, root_ent will be nil and we should
    # return it straight away.
    root_ent && root_ent.split(":")[5]
  end
  end
end

Facter.add(:root_home) do
  setcode { Facter::Util::RootHome.get_root_home }
end

Facter.add(:root_home) do
  confine :kernel => :darwin
  setcode do
    str = Facter::Util::Resolution.exec("dscacheutil -q user -a name root")
    hash = {}
    str.split("\n").each do |pair|
      key,value = pair.split(/:/)
      hash[key] = value
    end
    hash['dir'].strip
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
puppet-retrospec-1.8.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.7.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.6.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.6.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.5.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.4.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.4.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.3.2 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.3.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.3.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.2.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.2.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.1.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-1.0.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.12.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.12.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.11.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.10.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.9.1 spec/fixtures/modules/stdlib/lib/facter/root_home.rb
puppet-retrospec-0.9.0 spec/fixtures/modules/stdlib/lib/facter/root_home.rb