[augeas-devel] augeas: master - Logrotate: make newline at end of script optional

David Lutterkort lutter at fedoraproject.org
Fri Jun 5 20:13:22 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=5d8e7d90b4f24330264e8194272149c0c01b266d
Commit:        5d8e7d90b4f24330264e8194272149c0c01b266d
Parent:        3237d5c50a4c021306b41250cbb14077f5345975
Author:        David Lutterkort <lutter at redhat.com>
AuthorDate:    Fri Jun 5 12:54:43 2009 -0700
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Fri Jun 5 12:54:43 2009 -0700

Logrotate: make newline at end of script optional

---
 lenses/logrotate.aug            |    4 +++-
 lenses/tests/test_logrotate.aug |   22 ++++++++++++++++++++--
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/lenses/logrotate.aug b/lenses/logrotate.aug
index d773a9f..2a4b461 100644
--- a/lenses/logrotate.aug
+++ b/lenses/logrotate.aug
@@ -81,7 +81,9 @@ module Logrotate =
    (* Define hooks *)
 
 
-   let hook_lines = store ( ( /.*/ . "\n") - /[ \t]*endscript[ \t]*\n/ )*
+   let hook_lines =
+     let line_re = /.*/ - /[ \t]*endscript[ \t]*/ in
+       store ( line_re . ("\n" . line_re)* )? . del "\n" "\n"
 
    let hook_func (func_type:string) = [
        del /[ \t]*/ "\t" . key func_type . eol .
diff --git a/lenses/tests/test_logrotate.aug b/lenses/tests/test_logrotate.aug
index 915a198..c8cfefc 100644
--- a/lenses/tests/test_logrotate.aug
+++ b/lenses/tests/test_logrotate.aug
@@ -125,8 +125,7 @@ include /etc/logrotate.d
            { "sharedscripts" = "sharedscripts" }
            { "prerotate" = "                if [ -f /var/run/apache2.pid ]; then
                         /etc/init.d/apache2 restart > /dev/null
-                fi
-" } }
+                fi" } }
 
   test Logrotate.lns get "/var/log/file {\n dateext\n}\n" =
     { "rule"
@@ -144,3 +143,22 @@ include /etc/logrotate.d
      { "rule"
          { "file" = "/file" }
          { "size" = "5M" } }
+
+  (* The newline at the end of a script is optional *)
+  test Logrotate.lns put "/file {\n size=5M\n}\n" after
+    set "/rule/prerotate" "\tfoobar"
+  =
+"/file {
+ size=5M
+\tprerotate
+\tfoobar
+\tendscript\n}\n"
+
+  test Logrotate.lns put "/file {\n size=5M\n}\n" after
+    set "/rule/prerotate" "\tfoobar\n"
+  =
+"/file {
+ size=5M
+\tprerotate
+\tfoobar\n
+\tendscript\n}\n"




More information about the augeas-devel mailing list