This file is indexed.

/usr/share/boost-build/src/tools/docutils.jam is in libboost1.62-tools-dev 1.62.0+dfsg-4.

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
# Copyright David Abrahams 2004. Distributed under the Boost
# Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

# Support for docutils ReStructuredText processing.

import type ;
import scanner ;
import generators ;
import os ;
import common ;
import toolset ;
import path ;
import feature : feature ;
import property ;
import errors ;

.initialized = ;

type.register ReST : rst ;

class rst-scanner : common-scanner
{
    rule __init__ ( paths * )
    {
        common-scanner.__init__ . $(paths) ;
    }
    
    rule pattern ( )
    {
         return "^[ 	]*\\.\\.[ 	]+include::[ 	]+([^
]+)"
        "^[ 	]*\\.\\.[ 	]+image::[ 	]+([^
]+)"
        "^[ 	]*\\.\\.[ 	]+figure::[ 	]+([^
]+)"
        ;
    }
}

scanner.register rst-scanner : include ;
type.set-scanner ReST : rst-scanner ;

generators.register-standard docutils.html : ReST : HTML ;

rule init ( docutils-dir ? : tools-dir ? )
{
    docutils-dir ?= [ modules.peek : DOCUTILS_DIR ] ;
    tools-dir ?= $(docutils-dir)/tools ;

    if ! $(.initialized)
    {
        .initialized = true ;
        if $(docutils-dir)
        {
            .docutils-dir = $(docutils-dir) ;
            .tools-dir = $(tools-dir:R="") ;
           
            .setup = [ 
                common.prepend-path-variable-command PYTHONPATH 
                    : $(.docutils-dir) $(.docutils-dir)/extras ] ;
            RST2XXX = [ common.find-tool rst2html ] ;
        }
        else
        {
            RST2XXX_PY = [ common.find-tool rst2html.py ] ;
        }
    }
}

rule html ( target : source : properties *  )
{
    if ! [ on $(target) return $(RST2XXX) ]
    {
        local python-cmd = [ property.select <python.interpreter> : $(properties) ] ;
        if ! $(.tools-dir) && ! $(RST2XXX_PY) {
            errors.user-error
            "The docutils module is used, but not configured. "
            : ""
            : "Please modify your user-config.jam or project-config.jam to contain:"
            : ""
            : "    using docutils : <docutils-dir> ;"
            : ""
            : "On Ubuntu, 'docutils-common' package will create /usr/share/docutils."
            : "Other flavours of Linux likely have docutils as package as well."
            : "On Windows, you can install from http://docutils.sourceforge.net/."
            ;
        }
        
        if $(RST2XXX_PY)
        {
            if $(RST2XXX_PY:D)
            {
                # If we have a path to the rst2html.py script, we need to use
                # the python interpreter to load it up.
                RST2XXX on $(target) = $(python-cmd:G=:E="python") $(RST2XXX_PY) ;
            }
            else
            {
                # Otherwise, bare rst2html.py, we can just exec that directly.
                # This work for both Nix, and the standard Windows Python installs.
                RST2XXX on $(target) = $(RST2XXX_PY) ;
            }
        }
        else
        {
            RST2XXX on $(target) = $(python-cmd:G=:E="python") $(.tools-dir)/rst2html.py ;
        }
    }
}


feature docutils : : free ;
feature docutils-html : : free ;
feature docutils-cmd : : free ;
toolset.flags docutils COMMON-FLAGS : <docutils> ;
toolset.flags docutils HTML-FLAGS : <docutils-html> ;
toolset.flags docutils RST2XXX : <docutils-cmd> ;
  
actions html
{
    $(.setup)
    "$(RST2XXX)" $(COMMON-FLAGS) $(HTML-FLAGS) $(>) $(<)
}