diff options
author | Micah Anderson <micah@riseup.net> | 2010-09-02 19:04:29 -0400 |
---|---|---|
committer | Micah Anderson <micah@riseup.net> | 2010-09-02 19:04:29 -0400 |
commit | 63a16ad8c07e880e68cb7c0a895f7e26ca1434f8 (patch) | |
tree | 1ca7da340aef82e8fe87f44c680cedc93795ecbf /manifests/defines/line.pp | |
parent | 76b0a31a76b8ab7509da3389379daa24b0610f73 (diff) | |
parent | 51e06fd0d2fa1c8999f328051e5e717bc18e77e7 (diff) | |
download | puppet-common-63a16ad8c07e880e68cb7c0a895f7e26ca1434f8.tar.gz puppet-common-63a16ad8c07e880e68cb7c0a895f7e26ca1434f8.tar.bz2 |
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.pp | 33 |
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}'" + } + } + } } |