Blame lenses/kdump.aug

Packit Service a2ae7a
(*
Packit Service a2ae7a
Module: Kdump
Packit Service a2ae7a
  Parses /etc/kdump.conf
Packit Service a2ae7a
Packit Service a2ae7a
Author: Roman Rakus <rrakus@redhat.com>
Packit Service a2ae7a
Packit Service a2ae7a
About: References
Packit Service a2ae7a
  manual page kdump.conf(5)
Packit Service a2ae7a
Packit Service a2ae7a
About: License
Packit Service a2ae7a
   This file is licenced under the LGPL v2+, like the rest of Augeas.
Packit Service a2ae7a
Packit Service a2ae7a
About: Configuration files
Packit Service a2ae7a
   This lens applies to /etc/kdump.conf. See <filter>.
Packit Service a2ae7a
*)
Packit Service a2ae7a
Packit Service a2ae7a
module Kdump =
Packit Service a2ae7a
  autoload xfm
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 * Group:                 USEFUL PRIMITIVES
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
let empty = Util.empty
Packit Service a2ae7a
let comment = Util.comment
Packit Service a2ae7a
let value_to_eol = store /[^ \t\n#][^\n#]*[^ \t\n#]|[^ \t\n#]/
Packit Service a2ae7a
let int_to_eol = store Rx.integer
Packit Service a2ae7a
let delimiter = Util.del_ws_spc
Packit Service a2ae7a
let eol = Util.eol
Packit Service a2ae7a
let value_to_spc = store Rx.neg1
Packit Service a2ae7a
let key_to_space = key /[A-Za-z0-9_.\$-]+/
Packit Service a2ae7a
let eq = Sep.equal
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 * Group:                 ENTRY TYPES
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
let list (kw:string) = counter kw
Packit Service a2ae7a
                     . Build.key_value_line_comment kw delimiter
Packit Service a2ae7a
                         (Build.opt_list [ seq kw . value_to_spc ] delimiter)
Packit Service a2ae7a
                         comment
Packit Service a2ae7a
Packit Service a2ae7a
let mdl_key_value = [ delimiter . key_to_space . ( eq . value_to_spc)? ]
Packit Service a2ae7a
let mdl_options = [ key_to_space . mdl_key_value+ ]
Packit Service a2ae7a
let mod_options = [ key "options" . delimiter . mdl_options . (comment|eol) ]
Packit Service a2ae7a
Packit Service a2ae7a
(************************************************************************
Packit Service a2ae7a
 * Group:                 ENTRIES
Packit Service a2ae7a
 *************************************************************************)
Packit Service a2ae7a
Packit Service a2ae7a
(* Got from mount(8) *)
Packit Service a2ae7a
let fs_types = "adfs" | "affs" | "autofs" | "cifs" | "coda" | "coherent"
Packit Service a2ae7a
             | "cramfs" | "debugfs" | "devpts" | "efs" | "ext" | "ext2"
Packit Service a2ae7a
             | "ext3" | "ext4" | "hfs" | "hfsplus" | "hpfs" | "iso9660"
Packit Service a2ae7a
             | "jfs" | "minix" | "msdos" | "ncpfs" | "nfs" | "nfs4" | "ntfs"
Packit Service a2ae7a
             | "proc" | "qnx4" | "ramfs" | "reiserfs" | "romfs" | "squashfs"
Packit Service a2ae7a
             | "smbfs" | "sysv" | "tmpfs" | "ubifs" | "udf" | "ufs" | "umsdos"
Packit Service a2ae7a
             | "usbfs" | "vfat" | "xenix" | "xfs" | "xiafs"
Packit Service a2ae7a
Packit Service a2ae7a
let simple_kws = "raw" | "net" | "path" | "core_collector" | "kdump_post"
Packit Service a2ae7a
               | "kdump_pre" | "default" | "ssh" | "sshkey" | "dracut_args"
Packit Service a2ae7a
               | "fence_kdump_args"
Packit Service a2ae7a
Packit Service a2ae7a
let int_kws = "force_rebuild" | "override_resettable" | "debug_mem_level"
Packit Service a2ae7a
            | "link_delay" | "disk_timeout"
Packit Service a2ae7a
Packit Service a2ae7a
let option = Build.key_value_line_comment ( simple_kws | fs_types )
Packit Service a2ae7a
                                          delimiter value_to_eol comment
Packit Service a2ae7a
           | Build.key_value_line_comment int_kws delimiter int_to_eol comment
Packit Service a2ae7a
           | list "extra_bins"
Packit Service a2ae7a
           | list "extra_modules"
Packit Service a2ae7a
           | list "blacklist"
Packit Service a2ae7a
           | list "fence_kdump_nodes"
Packit Service a2ae7a
           | mod_options
Packit Service a2ae7a
Packit Service a2ae7a
(* View: lns
Packit Service a2ae7a
   The options lens
Packit Service a2ae7a
*)
Packit Service a2ae7a
let lns = ( empty | comment | option )*
Packit Service a2ae7a
Packit Service a2ae7a
let filter = incl "/etc/kdump.conf"
Packit Service a2ae7a
Packit Service a2ae7a
let xfm = transform lns filter