summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-09 16:33:13 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-10-09 16:33:13 +0000
commit1c6cb608660165d688adc4aafce7e773d732be22 (patch)
tree8da1b15ada945c1ac94b8415671f36379b52e171 /lib/puppet
parent34f8337c68ff6f4b8ff57e604bae77529eb0d16e (diff)
downloadpuppet-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.rb16
-rwxr-xr-xlib/puppet/type/user.rb9
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|