[augeas-devel] augeas: master - Logrotate: allow = as a separator for value_to_eol

David Lutterkort lutter at fedoraproject.org
Wed Apr 8 00:22:21 UTC 2009


Gitweb:        http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=591918ea1bc542ea552271e0939af0ea121af1d1
Commit:        591918ea1bc542ea552271e0939af0ea121af1d1
Parent:        ce876a53d2394cec611fcbdf2f0576b52b23f526
Author:        Raphael Pinson <raphink at gmail.com>
AuthorDate:    Tue Apr 7 17:08:43 2009 -0700
Committer:     David Lutterkort <lutter at redhat.com>
CommitterDate: Tue Apr 7 17:08:43 2009 -0700

Logrotate: allow = as a separator for value_to_eol

Fix ticket #61 by allowing "=" as a valid separator in value_to_eol.
"word" may not contain "=" anymore in this case.  Note that this is not
documented in "man logrotate" but is shipped by default in CentOS (cf
ticket #61).
---
 lenses/logrotate.aug             |    5 +++--
 lenses/tests/test_logrotate.aug  |    6 ++++++
 tests/root/etc/logrotate.d/acpid |    8 ++++++++
 3 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/lenses/logrotate.aug b/lenses/logrotate.aug
index 8199edb..c3409a0 100644
--- a/lenses/logrotate.aug
+++ b/lenses/logrotate.aug
@@ -15,9 +15,10 @@ module Logrotate =
    autoload xfm
 
    let sep_spc = Util.del_ws_spc
+   let sep_val = del /[ \t]*=[ \t]*|[ \t]+/ " "
    let eol = Util.del_str "\n"
    let num = /[0-9]+/
-   let word = /[^,# \n\t{}]+/
+   let word = /[^,#= \n\t{}]+/
    let size = num . /[kMG]?/
 
    (* define comments and empty lines *)
@@ -29,7 +30,7 @@ module Logrotate =
 
    let list_item = [ sep_spc . key /[^\/+,# \n\t{}]+/ ]
    let select_to_eol (kw:string) (select:regexp) (indent:string) = [ del /[ \t]*/ indent . label kw . store select . eol ]
-   let value_to_eol (kw:string) (value:regexp) (indent:string )  = [ del /[ \t]*/ indent . key kw . sep_spc . store value . eol ]
+   let value_to_eol (kw:string) (value:regexp) (indent:string )  = [ del /[ \t]*/ indent . key kw . sep_val . store value . eol ]
    let flag_to_eol (kw:string) (indent:string)                   = [ del /[ \t]*/ indent . key kw . eol ]
    let list_to_eol (kw:string) (indent:string)                   = [ del /[ \t]*/ indent . key kw . list_item+ . eol ]
 
diff --git a/lenses/tests/test_logrotate.aug b/lenses/tests/test_logrotate.aug
index cc1eadf..bb3f79b 100644
--- a/lenses/tests/test_logrotate.aug
+++ b/lenses/tests/test_logrotate.aug
@@ -138,3 +138,9 @@ include /etc/logrotate.d
   { "rule"
       { "file" = "/avr/log/wtmp" }
       { "minsize" = "1M" } }
+
+  (* '=' is a legal seaprator *)
+   test Logrotate.lns get "/file {\n size=5M\n}\n" =
+     { "rule"
+         { "file" = "/file" }
+         { "size" = "5M" } }
diff --git a/tests/root/etc/logrotate.d/acpid b/tests/root/etc/logrotate.d/acpid
new file mode 100644
index 0000000..cc44813
--- /dev/null
+++ b/tests/root/etc/logrotate.d/acpid
@@ -0,0 +1,8 @@
+/var/log/acpid {
+     missingok
+     notifempty
+     size=64k
+     postrotate
+         /etc/init.d/acpid condrestart >/dev/null || :
+     endscript
+ }




More information about the augeas-devel mailing list