diff options
author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-09 16:33:13 +0000 |
---|---|---|
committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-09 16:33:13 +0000 |
commit | 1c6cb608660165d688adc4aafce7e773d732be22 (patch) | |
tree | 8da1b15ada945c1ac94b8415671f36379b52e171 /lib/puppet | |
parent | 34f8337c68ff6f4b8ff57e604bae77529eb0d16e (diff) | |
download | puppet-1c6cb608660165d688adc4aafce7e773d732be22.tar.gz puppet-1c6cb608660165d688adc4aafce7e773d732be22.tar.xz puppet-1c6cb608660165d688adc4aafce7e773d732be22.zip |
Fixing #310 -- users no longer autorequire their homedirs, and files now autorequire their owner and group.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1747 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rw-r--r-- | lib/puppet/type/pfile.rb | 16 | ||||
-rwxr-xr-x | lib/puppet/type/user.rb | 9 |
2 files changed, 16 insertions, 9 deletions
diff --git a/lib/puppet/type/pfile.rb b/lib/puppet/type/pfile.rb index 5d7a3e881..d89fe17e3 100644 --- a/lib/puppet/type/pfile.rb +++ b/lib/puppet/type/pfile.rb @@ -172,6 +172,7 @@ module Puppet newvalues(:true, :false) end + # Autorequire any parent directories. autorequire(:file) do cur = [] pary = self[:path].split(File::SEPARATOR) @@ -187,6 +188,21 @@ module Puppet cur end + # Autorequire the owner and group of the file. + {:user => :owner, :group => :group}.each do |type, state| + autorequire(type) do + if @states.include?(state) + # The user/group states automatically converts to IDs + val = @states[state].shouldorig[0] + if val.is_a?(Integer) or val =~ /^\d+$/ + nil + else + val + end + end + end + end + validate do if self[:content] and self[:source] self.fail "You cannot specify both content and a source" diff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb index ac6ce461d..2fffc6f48 100755 --- a/lib/puppet/type/user.rb +++ b/lib/puppet/type/user.rb @@ -342,15 +342,6 @@ module Puppet autos end - autorequire(:file) do - dir = self.should(:home) or self.is(:home) - if dir =~ /^#{File::SEPARATOR}/ - dir - else - nil - end - end - def self.list_by_name users = [] defaultprovider.listbyname do |user| |