summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--[-rwxr-xr-x]files/concatfragments.sh10
-rw-r--r--[-rwxr-xr-x]manifests/fragment.pp0
-rw-r--r--[-rwxr-xr-x]manifests/init.pp13
-rw-r--r--[-rwxr-xr-x]manifests/setup.pp0
4 files changed, 15 insertions, 8 deletions
diff --git a/files/concatfragments.sh b/files/concatfragments.sh
index 570853e..b486047 100755..100644
--- a/files/concatfragments.sh
+++ b/files/concatfragments.sh
@@ -47,12 +47,12 @@ SORTARG="-z"
PATH=/sbin:/usr/sbin:/bin:/usr/bin
-while getopts "o:s:d:tnwf" options; do
+while getopts "o:s:d:tnw:f" options; do
case $options in
o ) OUTFILE=$OPTARG;;
d ) WORKDIR=$OPTARG;;
n ) SORTARG="-zn";;
- w ) WARN="true";;
+ w ) WARNMSG="$OPTARG";;
f ) FORCE="true";;
t ) TEST="true";;
* ) echo "Specify output file with -o and fragments directory with -d"
@@ -101,10 +101,10 @@ fi
cd ${WORKDIR}
-if [ x${WARN} = "x" ]; then
- cat /dev/null > "fragments.concat"
+if [ x${WARNMSG} = "x" ]; then
+ : > "fragments.concat"
else
- echo '# This file is managed by Puppet. DO NOT EDIT.' > "fragments.concat"
+ echo -e "$WARNMSG" > "fragments.concat"
fi
# find all the files in the fragments directory, sort them numerically and concat to fragments.concat in the working dir
diff --git a/manifests/fragment.pp b/manifests/fragment.pp
index 890d43a..890d43a 100755..100644
--- a/manifests/fragment.pp
+++ b/manifests/fragment.pp
diff --git a/manifests/init.pp b/manifests/init.pp
index 41a65ba..b94411c 100755..100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -93,11 +93,18 @@ define concat($mode = 0644, $owner = "root", $group = "root", $warn = "false", $
$version = $concat::setup::majorversion
$fragdir = "${concatdir}/${safe_name}"
$concat_name = "fragments.concat.out"
+ $default_warn_message = '# This file is managed by Puppet. DO NOT EDIT.'
case $warn {
- 'true',true,yes,on: { $warnflag = "-w" }
- 'false',false,no,off: { $warnflag = "" }
- default: { fail("Improper 'warn' value given to concat: $warn") }
+ 'true',true,yes,on: { $warnmsg = "$default_warn_message" }
+ 'false',false,no,off: { $warnmsg = "" }
+ default: { $warnmsg = "$warn" }
+ }
+
+ $warnmsg_escaped = regsubst($warnmsg, "'", "'\\\\''", 'G')
+ $warnflag = $warnmsg_escaped ? {
+ '' => '',
+ default => "-w '$warnmsg_escaped'"
}
case $force {
diff --git a/manifests/setup.pp b/manifests/setup.pp
index 9676fb6..9676fb6 100755..100644
--- a/manifests/setup.pp
+++ b/manifests/setup.pp