summaryrefslogtreecommitdiffstats
path: root/data/scripts/versioned-interpreters
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--data/scripts/versioned-interpreters74
1 files changed, 74 insertions, 0 deletions
diff --git a/data/scripts/versioned-interpreters b/data/scripts/versioned-interpreters
new file mode 100644
index 0000000..4350b6a
--- /dev/null
+++ b/data/scripts/versioned-interpreters
@@ -0,0 +1,74 @@
+# Map interpreter to installation placement (and optionally
+# the dependency relation required to obtain the interpreter)
+#
+# Entries in this file are generally used for versioned interpreters,
+# but can also be used for unversioned ones (when there is no
+# definition in scripts/interpreters).
+# syntax:
+# <interpreter> => <path>, <regex>, <dependency-template>, <version-list>[, <dependency-relation>]
+#
+# <interpreter> is the "unversioned base name" of the interpreter. It is computed by
+# stripping any trailing dashes ("-"), digits ([0-9]) and dots ("."). As an example,
+# the unversioned base name for:
+# python2.6 is python
+# guile-1.6 is guile
+#
+# NB: If the <interpreter> is not listed in scripts/interpreters, the unversioned
+# ones are also looked up in this data file. For cases where this is undesired,
+# please use @SKIP_UNVERSIONED@ (as described below).
+#
+# <path> is the path in which the interpreter is installed (usually /usr/bin).
+#
+# <regex> is a regex for matching the full name of the interpreter *and* extracting
+# the version of it. It should have exactly one capture group, which captures the
+# version. If the regex does not match the interpreter or does not capture a version
+# in the <version-list>, the entry is assumed not to apply to this interpreter.
+# NB: The regex will be anchored and must match the /entire/ interpreter with version.
+# (e.g. guile-([\d\.]*) is matched as m/^guile-([\d\.]*)$/)
+#
+# <dependency-template> is a dependency template that will generate the dependency
+# relation from a version. The token "$1" is replaced with the version of the
+# interpreter. The template cannot contain commas (and therefore can only contain
+# predicates or "OR" relations).
+#
+# <version-list> is a space-separated list of known interpreter versions. It is used
+# both to generate the dependency relation for uses of the unversioned interpreter and
+# (together with <regex>) for ensuring the entry applies to the interpreter.
+#
+# NB: <dependency-relation> can be one of the following magic values:
+# * @SKIP_UNVERSIONED@
+# - Do not use this entry for unversioned interpreters. The common usage case
+# for this is when the interpreter is also listed in scripts/interpreters.
+#
+# When used on a versioned interpreter, Lintian will check for a dependency satisfying
+# the dependency generated by applying the version to the <dependency-template>.
+# Example:
+# Interpreter pike7.6 and template "pike$1 | pike$1-core" will make Lintian check
+# for the dependency:
+# "pike7.6 | pike7.6-core"
+#
+# When used on an unversioned interpreter, Lintian will check for a dependency satisfying
+# ANY of the versioned dependencies that can be generated from applying the versions from
+# <version-list> to <dependency-template>. Furthermore, also check for the dependency on
+# the <dependency-relation> (assuming it is not empty or one of the magic values).
+# Example:
+# Interpreter guile, template guile-$1, version list 1.6 1.8 and the dependency relation
+# guile will make Lintian check for the dependency:
+# "guile | guile-1.6 | guile-1.8"
+#
+# Manually maintained table - please keep it sorted (by key)!
+
+
+guile => /usr/bin, guile-([\d.]+), guile-$1:any, 2.2 3.0, guile:any
+jruby => /usr/bin, jruby([\d.]+), jruby$1:any, 1.0 1.1 1.2, jruby:any
+lua => /usr/bin, lua([\d.]+), lua$1:any, 40 50 5.1 5.2 5.3 5.4, lua:any
+octave => /usr/bin, octave([\d.]+), octave$1:any, 3.0 3.2, octave:any
+pike => /usr/bin, pike([\d.]+), pike$1:any | pike$1-core:any, 7.6 7.8
+python2 => /usr/bin, python([\d.]+), python$1:any | python$1-minimal:any, 2.7, @SKIP_UNVERSIONED@
+python3 => /usr/bin, python3([\d.]+), python3$1:any | python3$1-minimal:any, 3.4 3.5 3.7 3.8, @SKIP_UNVERSIONED@
+ruby => /usr/bin, ruby([\d.]+), ruby$1:any, 1.8 1.9, @SKIP_UNVERSIONED@
+runghc => /usr/bin, runghc(\d+), ghc$1:any, 6, ghc:any
+scsh => /usr/bin, scsh-([\d.]+), scsh-$1:any, 0.6, scsh:any
+tclsh => /usr/bin, tclsh([\d.]+), tcl$1:any, 8.3 8.4 8.5 8.6, tclsh:any | tcl:any
+wish => /usr/bin, wish([\d.]+), tk$1:any, 8.3 8.4 8.5 8.6, wish:any | tk:any
+