[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