/usr/share/augeas/lenses/dist/aptpreferences.aug is in augeas-lenses 1.4.0-0ubuntu1.1.
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 | (*
Module: AptPreferences
Apt/preferences module for Augeas
Author: Raphael Pinson <raphael.pinson@camptocamp.com>
*)
module AptPreferences =
autoload xfm
(************************************************************************
* Group: Entries
************************************************************************)
(* View: colon *)
let colon = del /:[ \t]*/ ": "
(* View: pin_gen
A generic pin
Parameters:
lbl:string - the label *)
let pin_gen (lbl:string) = store lbl
. [ label lbl . Sep.space . store Rx.no_spaces ]
(* View: 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
(* View: pin_options *)
let pin_options =
let comma = Util.delim ","
in store "release" . Sep.space
. Build.opt_list pin_keys comma
(* View: version_pin *)
let version_pin = pin_gen "version"
(* View: origin_pin *)
let origin_pin = pin_gen "origin"
(* View: pin *)
let pin =
let pin_value = pin_options | version_pin | origin_pin
in Build.key_value_line "Pin" colon pin_value
(* View: entries *)
let entries = Build.key_value_line ("Explanation"|"Package"|"Pin-Priority")
colon (store Rx.space_in)
| pin
| Util.comment
(* View: record *)
let record = [ seq "record" . entries+ ]
(************************************************************************
* Group: Lens
************************************************************************)
(* View: lns *)
let lns = Util.empty* . (Build.opt_list record Util.eol+ . Util.empty*)?
(* View: filter *)
let filter = incl "/etc/apt/preferences"
. incl "/etc/apt/preferences.d/*"
. Util.stdexcl
let xfm = transform lns filter
|