summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2005-09-15 04:48:32 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2005-09-15 04:48:32 +0000
commitae00500eff131b4088850283b0e848a014f67d8e (patch)
tree91b377d737a59b7a01180d64d80c8f7eb55e7bdb /lib
parent610f95caa41c3bc641676b401887f361978a7dbb (diff)
downloadpuppet-ae00500eff131b4088850283b0e848a014f67d8e.tar.gz
puppet-ae00500eff131b4088850283b0e848a014f67d8e.tar.xz
puppet-ae00500eff131b4088850283b0e848a014f67d8e.zip
preparations for supporting netinfo in users
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@662 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rwxr-xr-xlib/puppet/type/user.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/puppet/type/user.rb b/lib/puppet/type/user.rb
index c4b31ed3e..fb3a2966e 100755
--- a/lib/puppet/type/user.rb
+++ b/lib/puppet/type/user.rb
@@ -199,6 +199,33 @@ module Puppet
:name
]
+ case Facter["operatingsystem"].value
+ when "Darwin":
+ @@extender = "NInfo"
+ else
+ @@extender = "XAdd"
+ end
+
+ @name = :group
+ @namevar = :name
+
+ # all of the states are very similar, but syncing is different
+ # for each _type_ of state
+ @states.each { |state|
+ begin
+ klass = eval("Puppet::State::UserState" + @@extender)
+ if klass.test
+ state.send(:include, klass)
+ else
+ Puppet.err "Cannot sync %s on %s" %
+ [state.name, @name]
+ end
+ rescue NameError
+ Puppet.notice "No %s extender for %s" %
+ [@@extender, state.name]
+ end
+ }
+
@paramdoc[:name] = "User name. While limitations are determined for
each operating system, it is generally a good idea to keep to the
degenerate 8 characters, beginning with a letter."