/usr/share/augeas/lenses/dist/tmpfiles.aug is in augeas-lenses 1.10.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 | (*
Module: Tmpfiles
Parses systemd tmpfiles.d files
Author: Julien Pivotto <roidelapluie@inuits.eu>
About: Reference
This lens tries to keep as close as possible to `man 5 tmpfiles.d` where possible.
About: License
This file is licenced under the LGPL v2+, like the rest of Augeas.
About: Lens Usage
To be documented
About: Configuration files
This lens applies to /etc/tmpfiles.d/*.conf /usr/lib/tmpfiles.d/*.conf and
/run/tmpfiles.d/*.conf. See <filter>.
About: Examples
The <Test_Tmpfiles> file contains various examples and tests.
*)
module Tmpfiles =
autoload xfm
(************************************************************************
* Group: USEFUL PRIMITIVES
*************************************************************************)
(* Group: Comments and empty lines *)
(* View: sep_spc
Space *)
let sep_spc = Sep.space
(* View: sep_opt_spc
Optional space (for the beginning of the lines) *)
let sep_opt_spc = Sep.opt_space
(* View: comment
Comments *)
let comment = Util.comment
(* View: empty
Empty lines *)
let empty = Util.empty
(* Group: Lense-specific primitives *)
(* View: type
One letter. Some of them can have a "+" and all can have a "!".
Not all letters are valid.
*)
let type = /([fFwdDvqQpLcbCxXrRzZtThHaAm]|[AabcLp]\+)!?/
(* View: mode
"-", or 3-4 bytes. Optionally starts with a "~". *)
let mode = /(-|~?[0-7]{3,4})/
(* View: age
"-", or one of the formats seen in the manpage: 10d, 5seconds, 1y5days.
optionally starts with a "~'. *)
let age = /(-|(~?[0-9]+(s|m|min|h|d|w|ms|us|((second|minute|hour|day|week|millisecond|microsecond)s?))?)+)/
(* View: argument
The last field. It can contain spaces. *)
let argument = /([^# \t\n][^#\n]*[^# \t\n]|[^# \t\n])/
(* View: field
Applies to the other fields: path, gid and uid fields *)
let field = /[^# \t\n]+/
(* View: record
A valid record, one line in the file.
Only the two first fields are mandatory. *)
let record = [ seq "record" . sep_opt_spc .
[ label "type" . store type ] . sep_spc .
[ label "path" . store field ] . ( sep_spc .
[ label "mode" . store mode ] . ( sep_spc .
[ label "uid" . store field ] . ( sep_spc .
[ label "gid" . store field ] . ( sep_spc .
[ label "age" . store age ] . ( sep_spc .
[ label "argument" . store argument ] )? )? )? )? )? .
Util.comment_or_eol ]
(************************************************************************
* Group: THE TMPFILES LENSE
*************************************************************************)
(* View: lns
The tmpfiles lens.
Each line can be a comment, a record or empty. *)
let lns = ( empty | comment | record ) *
(* View: filter *)
let filter = incl "/etc/tmpfiles.d/*.conf"
. incl "/usr/lib/tmpfiles.d/*.conf"
. incl "/run/tmpfiles.d/*.conf"
let xfm = transform lns filter
(* Local Variables: *)
(* mode: caml *)
(* End: *)
|