summaryrefslogtreecommitdiffstats
path: root/lib/puppet/provider/user
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-19 21:29:08 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2007-03-19 21:29:08 +0000
commit60ea7d2a9df65f3c2ed492ec4447420c5e5151fe (patch)
treede99ac27de31df3cadc4b721406b579404106d9c /lib/puppet/provider/user
parent3d17685f9954b584cf84a6fe224b2513007108f0 (diff)
Fixing #432 - you can now manage home dirs with users. You cannot yet purge home directories, because there is still controversy over how that should be done. Also, allowdupe is now handled like a feature, which is, um, better.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2328 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/provider/user')
-rw-r--r--lib/puppet/provider/user/useradd.rb11
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/puppet/provider/user/useradd.rb b/lib/puppet/provider/user/useradd.rb
index 55cc2d5dd..8ed0a9bd1 100644
--- a/lib/puppet/provider/user/useradd.rb
+++ b/lib/puppet/provider/user/useradd.rb
@@ -17,6 +17,8 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ
value !~ /\s/
end
+ has_features :manages_homedir, :allows_duplicates
+
def addcmd
cmd = [command(:add)]
@model.class.validproperties.each do |property|
@@ -33,10 +35,17 @@ Puppet::Type.type(:user).provide :useradd, :parent => Puppet::Provider::NameServ
cmd << "-M"
else
end
- if @model[:allowdupe] == :true
+
+ if @model.allowdupe?
cmd << "-o"
end
+ if @model.managehome?
+ cmd << "-m"
+ elsif %w{Fedora RedHat}.include?(Facter.value("operatingsystem"))
+ cmd << "-M"
+ end
+
cmd << @model[:name]
cmd