summaryrefslogtreecommitdiff
path: root/manifests
diff options
context:
space:
mode:
authorJonathan Boyett <jonathan@failingservers.com>2010-12-03 12:35:23 -0800
committerJonathan Boyett <jonathan@failingservers.com>2010-12-03 12:35:23 -0800
commitfa80fc2b311b689c41b4ee2913f6bfb9f7c159c6 (patch)
tree9d383a8fe4dfb9ab140794ffb3d1c60b2dc165e6 /manifests
parent40245d9fccf1c2baa18fcc745e0f1f11d4b0db81 (diff)
downloadpuppet-concat-fa80fc2b311b689c41b4ee2913f6bfb9f7c159c6.tar.gz
puppet-concat-fa80fc2b311b689c41b4ee2913f6bfb9f7c159c6.tar.bz2
add a -g flag to concatfragments.sh to disable GNU extensions to find, sort and xargs; makes concat work on Solaris.
Add a $gnu parameter to make use of the aforementioned -g flag, and a $order parameter to make use of the -n flag in concatfragments.sh
Diffstat (limited to 'manifests')
-rw-r--r--manifests/init.pp18
1 files changed, 15 insertions, 3 deletions
diff --git a/manifests/init.pp b/manifests/init.pp
index b94411c..909d7b6 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -87,7 +87,7 @@
# ALIASES:
# - The exec can notified using Exec["concat_/path/to/file"] or Exec["concat_/path/to/directory"]
# - The final file can be referened as File["/path/to/file"] or File["concat_/path/to/file"]
-define concat($mode = 0644, $owner = "root", $group = "root", $warn = "false", $force = "false", $backup = "puppet") {
+define concat($mode = 0644, $owner = "root", $group = "root", $warn = "false", $force = "false", $backup = "puppet", $gnu = "true", $order="alpha") {
$safe_name = regsubst($name, '/', '_', 'G')
$concatdir = $concat::setup::concatdir
$version = $concat::setup::majorversion
@@ -113,6 +113,18 @@ define concat($mode = 0644, $owner = "root", $group = "root", $warn = "false", $
default: { fail("Improper 'force' value given to concat: $force") }
}
+ case $gnu {
+ 'true',true,yes,on: { $gnuflag = "" }
+ 'false',false,no,off: { $gnuflag = "-g" }
+ default: { fail("Improper 'gnu' value given to concat: $gnu") }
+ }
+
+ case $order {
+ numeric: { $orderflag = "-n" }
+ alpha: { $orderflag = "" }
+ default: { fail("Improper 'order' value given to concat: $order") }
+ }
+
File{
owner => root,
group => root,
@@ -158,7 +170,7 @@ define concat($mode = 0644, $owner = "root", $group = "root", $warn = "false", $
subscribe => File[$fragdir],
alias => "concat_${fragdir}",
require => [ File["/usr/local/bin/concatfragments.sh"], File[$fragdir], File["${fragdir}/fragments"], File["${fragdir}/fragments.concat"] ],
- unless => "/usr/local/bin/concatfragments.sh -o ${fragdir}/${concat_name} -d ${fragdir} -t ${warnflag} ${forceflag}",
- command => "/usr/local/bin/concatfragments.sh -o ${fragdir}/${concat_name} -d ${fragdir} ${warnflag} ${forceflag}",
+ unless => "/usr/local/bin/concatfragments.sh -o ${fragdir}/${concat_name} -d ${fragdir} -t ${warnflag} ${forceflag} ${orderflag} ${gnuflag}",
+ command => "/usr/local/bin/concatfragments.sh -o ${fragdir}/${concat_name} -d ${fragdir} ${warnflag} ${forceflag} ${orderflag} ${gnuflag}",
}
}