summaryrefslogtreecommitdiff
path: root/manifests/defines/line.pp
diff options
context:
space:
mode:
authorMicah Anderson <micah@riseup.net>2010-09-02 19:04:29 -0400
committerMicah Anderson <micah@riseup.net>2010-09-02 19:04:29 -0400
commit63a16ad8c07e880e68cb7c0a895f7e26ca1434f8 (patch)
tree1ca7da340aef82e8fe87f44c680cedc93795ecbf /manifests/defines/line.pp
parent76b0a31a76b8ab7509da3389379daa24b0610f73 (diff)
parent51e06fd0d2fa1c8999f328051e5e717bc18e77e7 (diff)
Merge remote branch 'immerda/master'
Conflicts: lib/puppet/parser/functions/gsub.rb lib/puppet/parser/functions/prefix_with.rb lib/puppet/parser/functions/sha1.rb lib/puppet/parser/functions/slash_escape.rb lib/puppet/parser/functions/substitute.rb manifests/classes/lsb_release.pp manifests/defines/concatenated_file.pp manifests/defines/config_file.pp manifests/defines/line.pp manifests/defines/module_dir.pp manifests/defines/module_file.pp manifests/defines/replace.pp manifests/init.pp
Diffstat (limited to 'manifests/defines/line.pp')
-rw-r--r--manifests/defines/line.pp33
1 files changed, 15 insertions, 18 deletions
diff --git a/manifests/defines/line.pp b/manifests/defines/line.pp
index bc2ece4..ccfa357 100644
--- a/manifests/defines/line.pp
+++ b/manifests/defines/line.pp
@@ -34,24 +34,21 @@
# notify => Service[munin-node],
# require => Package[munin-node];
# }
-define line(
- $file,
- $line,
- $ensure = 'present'
-) {
- case $ensure {
- default : { err ( "unknown ensure value '${ensure}'" ) }
- present: {
- exec { "echo '${line}' >> '${file}'":
- unless => "grep -qFx '${line}' '${file}'"
- }
- }
- absent: {
- exec { "perl -ni -e 'print if \$_ ne \"${line}\n\";' '${file}'":
- onlyif => "grep -qFx '${line}' '${file}'"
- }
- }
- }
+define line($file, $line, $ensure = 'present') {
+ case $ensure {
+ default : { err ( "unknown ensure value '${ensure}'" ) }
+ present: {
+ exec { "echo '${line}' >> '${file}'":
+ unless => "grep -qFx '${line}' '${file}'"
+ }
+ }
+ absent: {
+ $subst_line = regsubst($line,'(/|\.)','\\\1','G')
+ exec { "sed -i '/${subst_line}/d' '${file}'":
+ onlyif => "grep -qFx '${line}' '${file}'"
+ }
+ }
+ }
}