From: martin f. krafft Date: Mon, 4 Oct 2010 21:02:32 +0000 (+0200) Subject: Parametrize warning message X-Git-Url: https://gitweb.fluxo.info/?a=commitdiff_plain;h=af63a0b3eb0a528e39992e1f10c07d8a78a84e77;p=puppet-concat.git Parametrize warning message The concat warn parameter can now be any string (and needs to include the appropriate commenting character) and will then override the default (which still gets printed when warn=>true). Signed-off-by: martin f. krafft --- diff --git a/files/concatfragments.sh b/files/concatfragments.sh old mode 100755 new mode 100644 index 570853e..b486047 --- 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 old mode 100755 new mode 100644 diff --git a/manifests/init.pp b/manifests/init.pp old mode 100755 new mode 100644 index 41a65ba..b94411c --- 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 old mode 100755 new mode 100644