1(*
2Module: UpdateDB
3  Parses /etc/updatedb.conf
4
5Author: Raphael Pinson <raphink@gmail.com>
6
7About: Reference
8  This lens tries to keep as close as possible to `man 5 updatedb.conf` where possible.
9
10About: License
11   This file is licenced under the LGPL v2+, like the rest of Augeas.
12
13About: Lens Usage
14   To be documented
15
16About: Configuration files
17   This lens applies to /etc/updatedb.conf. See <filter>.
18
19About: Examples
20   The <Test_UpdateDB> file contains various examples and tests.
21*)
22
23module UpdateDB =
24
25autoload xfm
26
27(* View: list
28     A list entry *)
29let list =
30     let entry = [ label "entry" . store Rx.no_spaces ]
31  in let entry_list = Build.opt_list entry Sep.space
32  in [ key /PRUNE(FS|NAMES|PATHS)/ . Sep.space_equal
33     . Quote.do_dquote entry_list . Util.doseol ]
34
35(* View: bool
36     A boolean entry *)
37let bool = [ key "PRUNE_BIND_MOUNTS" . Sep.space_equal
38           . Quote.do_dquote (store /[01]|no|yes/)
39           . Util.doseol ]
40
41(* View: lns
42     The <UpdateDB> lens *)
43let lns = (Util.empty|Util.comment|list|bool)*
44
45(* Variable: filter
46      The filter *)
47let filter = incl "/etc/updatedb.conf"
48
49let xfm = transform lns filter
50