[augeas-devel] augeas: master - Logrotate: make owner/group in create statement optional
David Lutterkort
lutter at fedoraproject.org
Wed Jul 8 19:28:22 UTC 2009
Gitweb: http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=060496603fedb966ab7ac51e3effe02e6a578332
Commit: 060496603fedb966ab7ac51e3effe02e6a578332
Parent: 2f47864aa15f389d3a1079284a5280171ef1890b
Author: David Lutterkort <lutter at redhat.com>
AuthorDate: Wed Jul 8 12:14:53 2009 -0700
Committer: David Lutterkort <lutter at redhat.com>
CommitterDate: Wed Jul 8 12:14:53 2009 -0700
Logrotate: make owner/group in create statement optional
* lenses/logrotate.aug (create): make mode/owner/group optional
* lenses/test/test_logrotate.aug: add tests
Fixes part of bug #67 reported by Micah
---
lenses/logrotate.aug | 10 ++++++----
lenses/tests/test_logrotate.aug | 12 ++++++++++++
2 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/lenses/logrotate.aug b/lenses/logrotate.aug
index 6663cde..55d3016 100644
--- a/lenses/logrotate.aug
+++ b/lenses/logrotate.aug
@@ -37,10 +37,12 @@ module Logrotate =
(* Defaults *)
- let create (indent:string ) = [ del /[ \t]*/ indent . key "create" .
- ( sep_spc . [ label "mode" . store num ] . sep_spc .
- [ label "owner" . store word ] . sep_spc .
- [ label "group" . store word ])?
+ let create (indent:string ) =
+ let mode = sep_spc . [ label "mode" . store num ] in
+ let owner = sep_spc . [ label "owner" . store word ] in
+ let group = sep_spc . [ label "group" . store word ] in
+ [ del /[ \t]*/ indent . key "create" .
+ ( mode | mode . owner | mode . owner . group )?
. eol ]
let tabooext (indent:string) = [ del /[ \t]*/ indent . key "tabooext" . ( sep_spc . store /\+/ )? . list_item+ . eol ]
diff --git a/lenses/tests/test_logrotate.aug b/lenses/tests/test_logrotate.aug
index c8cfefc..4c72318 100644
--- a/lenses/tests/test_logrotate.aug
+++ b/lenses/tests/test_logrotate.aug
@@ -144,6 +144,18 @@ include /etc/logrotate.d
{ "file" = "/file" }
{ "size" = "5M" } }
+ (* Can leave owner/group off a create statement *)
+ test Logrotate.lns get "/file {
+ create 600\n}\n" =
+ { "rule"
+ { "file" = "/file" }
+ { "create"
+ { "mode" = "600" } } }
+
+ test Logrotate.lns put "/file {\n create 600\n}\n" after
+ set "/rule/create/owner" "user"
+ = "/file {\n create 600 user\n}\n"
+
(* 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"
More information about the augeas-devel
mailing list