summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorDavid Schmitt <david@dasz.at>2010-05-11 17:03:14 +0200
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commit1645d8e7ca87939bf87e7a5af143af223be71b2a (patch)
tree80ea6b278dbdacd5fe4fa43b2062a4c964d35d02 /lib/puppet
parentb3aa3ecdc5d164328d7193d9158d9dee53df4aec (diff)
downloadpuppet-1645d8e7ca87939bf87e7a5af143af223be71b2a.tar.gz
puppet-1645d8e7ca87939bf87e7a5af143af223be71b2a.tar.xz
puppet-1645d8e7ca87939bf87e7a5af143af223be71b2a.zip
Define posix and win32 features
Diffstat (limited to 'lib/puppet')
-rw-r--r--lib/puppet/feature/base.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/puppet/feature/base.rb b/lib/puppet/feature/base.rb
index 1971f14f2..44a9f3fc1 100644
--- a/lib/puppet/feature/base.rb
+++ b/lib/puppet/feature/base.rb
@@ -31,3 +31,14 @@ Puppet.features.add(:rrd, :libs => ["RRDtool"])
# We have OpenSSL
Puppet.features.add(:openssl, :libs => ["openssl"])
+
+# We can use POSIX user functions? The require returns false on Windows
+Puppet.features.add(:posix) do
+ require 'etc'
+ Etc.getpwuid(0) != nil
+end
+
+# We can use Win32 functions
+Puppet.features.add(:win32, :libs => ["sys/admin", "win32/process"])
+
+raise Puppet::Error "Cannot determine basic system flavour" unless Puppet.features.posix? or Puppet.features.win32?