This file is indexed.

/usr/share/augeas/lenses/dist/debctrl.aug is in augeas-lenses 1.2.0-0ubuntu1.3.

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
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
(*
Module: debctrl
  Parses ./debian/control

Author:
        Dominique Dumont domi.dumont@free.fr or dominique.dumont@hp.com

About: Reference
  http://augeas.net/page/Create_a_lens_from_bottom_to_top
  http://www.debian.org/doc/debian-policy/ch-controlfields.html

About: License
  This file is licensed under the LGPL v2+.

About: Lens Usage
  Since control file is not a system configuration file, you will have
  to use augtool -r option to point to 'debian' directory.

  Run augtool:
  $ augtool -r debian

  Sample usage of this lens in augtool:

    * Get the value stored in control file
      > print /files/control
      ...

  Saving your file:

      > save


*)

module Debctrl =
  autoload xfm

let eol = Util.eol
let del_ws_spc = del /[\t ]*/ " "
let hardeol = del /\n/ "\n"
let del_opt_ws = del /[\t ]*/ ""
let colon = del /:[ \t]*/ ": "

let simple_entry (k:regexp) =
   let value =  store /[^ \t][^\n]+/ in
   [ key k . colon . value . hardeol ]

let cont_line = del /\n[ \t]+/ "\n "
let comma     = del  /,[ \t]*/  ", "

let sep_comma_with_nl = del /[ \t\n]*,[ \t\n]*/ ",\n "
 (*= del_opt_ws . cont_line* . comma . cont_line**)

let email =  store ( /([A-Za-z]+ )+<[^\n>]+>/ |  /[^\n,\t<> ]+/ )

let multi_line_array_entry (k:regexp) (v:lens) =
    [ key k . colon . [ counter "array" . seq "array" .  v ] .
      [ seq "array" . sep_comma_with_nl . v ]* . hardeol ]

(* dependency stuff *)

let version_depends =
    [ label "version"
     . [   del / *\( */ " ( " . label "relation" . store /[<>=]+/ ]
     . [   del_ws_spc . label "number"
           . store ( /[a-zA-Z0-9_.-]+/ | /\$\{[a-zA-Z0-9:]+\}/ )
         . del / *\)/ " )" ]
    ]

let arch_depends =
    [ label "arch"
    . [  del / *\[ */ " [ " . label "prefix" . store /!?/ ]
    . [ label "name" . store /[a-zA-Z0-9_.-]+/ . del / *\]/ " ]" ] ]


let package_depends
  =  [ key ( /[a-zA-Z0-9_-]+/ | /\$\{[a-zA-Z0-9:]+\}/ )
        . ( version_depends | arch_depends ) * ]


let dependency = [ label "or" . package_depends ]
               . [ label "or" . del / *\| */ " | "
                   . package_depends ] *

let dependency_list (field:regexp) =
    [ key field . colon . [ label "and" .  dependency ]
      . [ label "and" . sep_comma_with_nl . dependency ]*
      . eol ]

(* source package *)
let uploaders  =
    multi_line_array_entry /Uploaders/ email

let simple_src_keyword = "Source" | "Section" | "Priority"
    | "Standards\-Version" | "Homepage" | /Vcs\-Svn/ | /Vcs\-Browser/
    | "Maintainer" | "DM-Upload-Allowed" | /XS?-Python-Version/
let depend_src_keywords = /Build\-Depends/ | /Build\-Depends\-Indep/

let src_entries = (   simple_entry simple_src_keyword
                    | uploaders
                    | dependency_list depend_src_keywords ) *


(* package paragraph *)
let multi_line_entry (k:string) =
     let line = /.*[^ \t\n].*/ in
      [ label k .  del / / " " .  store line . hardeol ] *


let description
  = [ key "Description" . colon
     . [ label "summary" . store /[a-zA-Z][^\n]+/ . hardeol ]
     . multi_line_entry "text" ]


(* binary package *)
let simple_bin_keywords = "Package" | "Architecture" |  "Section"
    | "Priority" | "Essential" | "Homepage" | "XB-Python-Version"
let depend_bin_keywords = "Depends" | "Recommends" | "Suggests" | "Provides"

let bin_entries = ( simple_entry simple_bin_keywords
                  | dependency_list depend_bin_keywords
                  ) + . description

(* The whole stuff *)
let lns =  [ label "srcpkg" .  src_entries  ]
        .  [ label "binpkg" . hardeol+ . bin_entries ]+
        . eol*

(* lens must be used with AUG_ROOT set to debian package source directory *)
let xfm = transform lns (incl "/control")