]> gitweb.fluxo.info Git - puppet-common.git/commitdiff
support a header file
authordavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 6 Aug 2007 10:14:15 +0000 (10:14 +0000)
committerdavid <david@f03ff2f1-f02d-0410-970d-b9634babeaa1>
Mon, 6 Aug 2007 10:14:15 +0000 (10:14 +0000)
git-svn-id: http://club.black.co.at:82/svn/manifests/trunk@173 f03ff2f1-f02d-0410-970d-b9634babeaa1

manifests/defines/concatenated_file.pp

index 625cff7d4d97300448b8342af7e746de16da4df4..7162970d8a506a443872c834c82c55b6c72fd02b 100644 (file)
 # }
 # Use Exec["concat_$name"] as Semaphor
 define concatenated_file (
-       $dir, $mode = 0644, $owner = root, $group = root 
+       # where the snippets are located
+       $dir,
+       # a file with content to prepend
+       $header = '',
+       $mode = 0644, $owner = root, $group = root
        )
 {
        file {
@@ -29,8 +33,11 @@ define concatenated_file (
                        mode => $mode, owner => $owner, group => $group;
        }
 
+       # if there is a header file, prepend it
+       $header_cmd = $header? { '' => '', default => "| cat ${header} - " }
+
        # use >| to force clobbering the target file
-       exec { "/usr/bin/find ${dir} -maxdepth 1 -type f ! -name '*puppettmp' -print0 | sort -z | xargs -0 cat >| ${name}":
+       exec { "/usr/bin/find ${dir} -maxdepth 1 -type f ! -name '*puppettmp' -print0 | sort -z | xargs -0 cat ${header_cmd} >| ${name}.puppettmp":
                refreshonly => true,
                subscribe => File[$dir],
                before => File[$name],