Parses (Open)BSD-stype /etc/boot.conf
Author: Jasper Lievisse Adriaanse jas@jasp er.la per
BootConf | Parses (Open)BSD-stype /etc/boot.conf |
Reference | This lens is used to parse the second-stage bootstrap configuration file, /etc/boot.conf as found on OpenBSD. |
Usage Example | To be documented |
License | This file is licensed under the LGPL v2+, like the rest of Augeas. |
Configuration files | This lens applies to /etc/boot.conf. |
Augeas Lenses | |
comment | |
empty | |
eol | |
fspath | |
space | |
word | |
key_opt_value_line | A subnode with a keyword, an optional part consisting of a separator and a storing lens, and an end of line |
single_command | single command such as ‘help’ or ‘time’ |
ls | ls [directory] |
set | set [varname [value]] |
stty | stty [device [speed]] |
echo | echo [args] |
boot | boot [image [-acds]] XXX: the last arguments are not always needed, so make them optional |
machine | machine [command] |
command | |
lns | |
Augeas Variables | |
filter |
This lens is used to parse the second-stage bootstrap configuration file, /etc/boot.conf as found on OpenBSD. The format is largely MI, with MD parts included: http://www.openbsd.org
This lens applies to /etc/boot.conf. See filter.
let comment = Util.comment
let empty = Util.empty
let eol = Util.eol
let fspath = Rx.fspath
let space = Sep.space
let word = Rx.word
A subnode with a keyword, an optional part consisting of a separator and a storing lens, and an end of line
let key_opt_value_line (kw:regexp) (sto:lens) = [ key kw . (space . sto)? . eol ]
single command such as ‘help’ or ‘time’
let single_command = let line_re = /help|time|reboot/ in [ Util.indent . key line_re . eol ]
ls [directory]
let ls = Build.key_value_line "ls" space (store fspath)
set [varname [value]]
let set = Build.key_value "set" space (key_opt_value_line set_cmd (store Rx.space_in))
stty [device [speed]]
let stty = let device = [ label "device" . store fspath ] in let speed = [ label "speed" . store Rx.integer ] in key_opt_value_line "stty" (device . (space . speed)?)
echo [args]
let echo = Build.key_value_line "echo" space (store word)
boot [image [-acds]] XXX: the last arguments are not always needed, so make them optional
let boot = let image = [ label "image" . store fspath ] in let arg = [ label "arg" . store word ] in Build.key_value_line "boot" space (image . space . arg)
machine [command]
let machine = let machine_entry = Build.key_value ("comaddr"|"memory") space (store word) | Build.flag ("diskinfo"|"regs") in Build.key_value_line "machine" space (Build.opt_list machine_entry space)
let command = boot | echo | ls | machine | set | stty
let lns = ( empty | comment | command | single_command )*