Sharp.Augeas/Sharp.Augeas.Test/lens/modules_conf.aug

43 lines
1.0 KiB
Plaintext

(*
Module: Modules_conf
Parses /etc/modules.conf and /etc/conf.modules
Based on the similar Modprobe lens
Not all directives currently listed in modules.conf(5) are currently
supported.
*)
module Modules_conf =
autoload xfm
let comment = Util.comment
let empty = Util.empty
let eol = Util.eol | Util.comment
(* Basic file structure is the same as modprobe.conf *)
let sto_to_eol = Modprobe.sto_to_eol
let sep_space = Modprobe.sep_space
let path = [ key "path" . Util.del_str "=" . sto_to_eol . eol ]
let keep = [ key "keep" . eol ]
let probeall = Build.key_value_line_comment "probeall" sep_space
sto_to_eol
comment
let entry =
Modprobe.alias
| Modprobe.options
| Modprobe.kv_line_command /install|pre-install|post-install/
| Modprobe.kv_line_command /remove|pre-remove|post-remove/
| keep
| path
| probeall
let lns = (comment|empty|entry)*
let filter = (incl "/etc/modules.conf") .
(incl "/etc/conf.modules")
let xfm = transform lns filter