]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
moved puppet functions to common::puppetmaster
authordavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Thu, 2 Aug 2007 09:28:47 +0000 (09:28 +0000)
committerdavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Thu, 2 Aug 2007 09:28:47 +0000 (09:28 +0000)
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@154 f03ff2f1-f02d-0410-970d-b9634babeaa1

files/functions/basename.rb [new file with mode: 0755]
files/functions/dirname.rb [new file with mode: 0755]
files/functions/gsub.rb [new file with mode: 0644]
files/functions/re_escape.rb [new file with mode: 0644]
files/functions/sha1.rb [new file with mode: 0644]
files/functions/slash_escape.rb [new file with mode: 0644]
manifests/init.pp

diff --git a/files/functions/basename.rb b/files/functions/basename.rb
new file mode 100755 (executable)
index 0000000..14f0ca0
--- /dev/null
@@ -0,0 +1,7 @@
+# get the basename of the given filename
+module Puppet::Parser::Functions
+       newfunction(:basename, :type => :rvalue) do |args|
+               File.basename(args[0])
+       end
+end
+
diff --git a/files/functions/dirname.rb b/files/functions/dirname.rb
new file mode 100755 (executable)
index 0000000..3f784ac
--- /dev/null
@@ -0,0 +1,7 @@
+# get the directory corresponding to this filename
+module Puppet::Parser::Functions
+       newfunction(:dirname, :type => :rvalue) do |args|
+               File.dirname(args[0])
+       end
+end
+
diff --git a/files/functions/gsub.rb b/files/functions/gsub.rb
new file mode 100644 (file)
index 0000000..743a700
--- /dev/null
@@ -0,0 +1,7 @@
+# generic gsub call
+module Puppet::Parser::Functions
+       newfunction(:gsub, :type => :rvalue) do |args|
+               args[0].gsub(/#{args[1]}/, args[2])
+       end
+end
+
diff --git a/files/functions/re_escape.rb b/files/functions/re_escape.rb
new file mode 100644 (file)
index 0000000..6e5904b
--- /dev/null
@@ -0,0 +1,7 @@
+# apply regexp escaping to a string
+module Puppet::Parser::Functions
+       newfunction(:re_escape, :type => :rvalue) do |args|
+               Regexp.escape(args[0])
+       end
+end
+
diff --git a/files/functions/sha1.rb b/files/functions/sha1.rb
new file mode 100644 (file)
index 0000000..b5aa813
--- /dev/null
@@ -0,0 +1,9 @@
+# return the sha1 hash
+require 'digest/sha1'
+
+module Puppet::Parser::Functions
+       newfunction(:sha1, :type => :rvalue) do |args|
+               Digest::SHA1.hexdigest(args[0])
+       end
+end
+
diff --git a/files/functions/slash_escape.rb b/files/functions/slash_escape.rb
new file mode 100644 (file)
index 0000000..04d3b95
--- /dev/null
@@ -0,0 +1,7 @@
+# escape slashes in a String
+module Puppet::Parser::Functions
+       newfunction(:slash_escape, :type => :rvalue) do |args|
+               args[0].gsub(/\//, '\\/')
+       end
+end
+
index 141d8b27ff009a4a53266ed6bbbc6b0f810054a2..86fe2bb6ce3cc22362f6ee028046b8fe8861971d 100644 (file)
@@ -16,5 +16,18 @@ file {
                mode => 0755, owner => root, group => root;
 }
 
+class common::puppetmaster {
+
+       file { 
+               "$rubysitedir/puppet/parser":
+                       ensure => directory, 
+                       mode => 0755, owner => root, group => root;
+               "$rubysitedir/puppet/parser/functions":
+                       source => "puppet://$servername/common/functions/",
+                       recurse => true, purge => true,
+                       mode => 0755, owner => root, group => root;
+       }
+}
+
 import "defines/*.pp"
 import "classes/*.pp"