AptPreferences

Apt/preferences module for Augeas

Author: Raphael Pinson raphael.nosp@m..pinson@camptoc.nosp@m.amp.com

Entries

colon

let colon = del /:[ \t]*/ ": "

pin_gen

let pin_gen (lbl:string) = store lbl . [ label lbl . Sep.space . store Rx.no_spaces ]

A generic pin

Parameters

lbl:stringthe label

pin_keys

let pin_keys = let space_in = store /[^, \r\t\n][^,\n]*[^, \r\t\n]|[^, \t\n\r]/ in Build.key_value /[aclnov]/ Sep.equal space_in

pin_options

let pin_options = let comma = Util.delim "," in store "release" . Sep.space . Build.opt_list pin_keys comma

version_pin

let version_pin = pin_gen "version"

origin_pin

let origin_pin = pin_gen "origin"

pin

let pin = let pin_value = pin_options | version_pin | origin_pin in Build.key_value_line "Pin" colon pin_value

entries

let entries = Build.key_value_line ("Explanation"|"Package"|"Pin-Priority") colon (store Rx.space_in) | pin | Util.comment

record

let record = [ seq "record" . entries+ ]

Lens

lns

let lns = Util.empty* . (Build.opt_list record Util.eol+ . Util.empty*)?

filter

let colon = del /:[ \t]*/ ": "
let pin_gen (lbl:string) = store lbl . [ label lbl . Sep.space . store Rx.no_spaces ]
A generic pin
let pin_keys = let space_in = store /[^, \r\t\n][^,\n]*[^, \r\t\n]|[^, \t\n\r]/ in Build.key_value /[aclnov]/ Sep.equal space_in
let pin_options = let comma = Util.delim "," in store "release" . Sep.space . Build.opt_list pin_keys comma
let version_pin = pin_gen "version"
let origin_pin = pin_gen "origin"
let pin = let pin_value = pin_options | version_pin | origin_pin in Build.key_value_line "Pin" colon pin_value
let entries = Build.key_value_line ("Explanation"|"Package"|"Pin-Priority") colon (store Rx.space_in) | pin | Util.comment
let record = [ seq "record" . entries+ ]
let lns = Util.empty* . (Build.opt_list record Util.eol+ . Util.empty*)?
Close