Gitweb:        
http://git.fedorahosted.org/git/augeas.git?p=augeas.git;a=commitdiff;h=060496603fedb966ab7ac51e3effe02e6a578332
Commit:        060496603fedb966ab7ac51e3effe02e6a578332
Parent:        2f47864aa15f389d3a1079284a5280171ef1890b
Author:        David Lutterkort <[email protected]>
AuthorDate:    Wed Jul 8 12:14:53 2009 -0700
Committer:     David Lutterkort <[email protected]>
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"

_______________________________________________
augeas-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/augeas-devel

Reply via email to