This file is indexed.

/usr/share/doc/racket/pkg/metadata.html is in racket-doc 6.1-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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"/><title>4&nbsp;Package Metadata</title><link rel="stylesheet" type="text/css" href="../scribble.css" title="default"/><link rel="stylesheet" type="text/css" href="../racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-style.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../manual-racket.css" title="default"/><link rel="stylesheet" type="text/css" href="../doc-site.css" title="default"/><script type="text/javascript" src="../scribble-common.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../manual-racket.js"></script><script type="text/javascript" src="../doc-site.js"></script><script type="text/javascript" src="../local-redirect/local-redirect.js"></script><script type="text/javascript" src="../local-redirect/local-user-redirect.js"></script><!--[if IE 6]><style type="text/css">.SIEHidden { overflow: hidden; }</style><![endif]--></head><body id="doc-racket-lang-org"><div class="tocset"><div class="tocview"><div class="tocviewlist tocviewlisttopspace"><div class="tocviewtitle"><table cellspacing="0" cellpadding="0"><tr><td style="width: 1em;"><a href="javascript:void(0);" title="Expand/Collapse" class="tocviewtoggle" onclick="TocviewToggle(this,&quot;tocview_0&quot;);">&#9660;</a></td><td></td><td><a href="index.html" class="tocviewlink" data-pltdoc="x">Package Management in Racket</a></td></tr></table></div><div class="tocviewsublistonly" style="display: block;" id="tocview_0"><table cellspacing="0" cellpadding="0"><tr><td align="right">1&nbsp;</td><td><a href="getting-started.html" class="tocviewlink" data-pltdoc="x">Getting Started with Packages</a></td></tr><tr><td align="right">2&nbsp;</td><td><a href="Package_Concepts.html" class="tocviewlink" data-pltdoc="x">Package Concepts</a></td></tr><tr><td align="right">3&nbsp;</td><td><a href="cmdline.html" class="tocviewlink" data-pltdoc="x">Using <span class="stt">raco pkg</span></a></td></tr><tr><td align="right">4&nbsp;</td><td><a href="" class="tocviewselflink" data-pltdoc="x">Package Metadata</a></td></tr><tr><td align="right">5&nbsp;</td><td><a href="strip.html" class="tocviewlink" data-pltdoc="x">Source, Binary, and Built Packages</a></td></tr><tr><td align="right">6&nbsp;</td><td><a href="apis.html" class="tocviewlink" data-pltdoc="x">Package APIs</a></td></tr><tr><td align="right">7&nbsp;</td><td><a href="catalog-protocol.html" class="tocviewlink" data-pltdoc="x">Package Catalog Protocol</a></td></tr><tr><td align="right">8&nbsp;</td><td><a href="PLaneT_Compatibility.html" class="tocviewlink" data-pltdoc="x"><span class="planetName">PLane<span class="mywbr"> &nbsp;</span>T</span> Compatibility</a></td></tr><tr><td align="right">9&nbsp;</td><td><a href="FAQ.html" class="tocviewlink" data-pltdoc="x">FAQ</a></td></tr><tr><td align="right">10&nbsp;</td><td><a href="Future_Plans.html" class="tocviewlink" data-pltdoc="x">Future Plans</a></td></tr><tr><td align="right">11&nbsp;</td><td><a href="implementation.html" class="tocviewlink" data-pltdoc="x">How Package Installation and Distribution Works</a></td></tr></table></div></div></div></div><div class="maincolumn"><div class="main"><div class="navsettop"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.1&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="cmdline.html" title="backward to &quot;3 Using raco pkg&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="index.html" title="up to &quot;Package Management in Racket&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="strip.html" title="forward to &quot;5 Source, Binary, and Built Packages&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div><h3 x-source-module="(lib &quot;pkg/scribblings/pkg.scrbl&quot;)" x-part-tag="&quot;metadata&quot;">4<tt>&nbsp;</tt><a name="(part._metadata)"></a>Package Metadata</h3><p>Package metadata, including dependencies on other packages, is reported
by an <span class="stt">"info.rkt"</span> module within the package. This module must be
implemented in the <a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&amp;rel=info_rkt.html&amp;version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">info</span></a> language.</p><p>For example, a basic <span class="stt">"info.rkt"</span> file might be</p><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktMeta">#lang</span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&amp;rel=info_rkt.html&amp;version=6.1" class="RktModLink Sq" data-pltdoc="x"><span class="RktSym">info</span></a><span class="RktMeta"></span></td></tr><tr><td><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&amp;version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._version%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">version</a></span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktVal">"1.0"</span><span class="RktPn">)</span><span class="RktMeta"></span></td></tr><tr><td><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=define.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fbase..rkt%2529._define%2529%2529&amp;version=6.1" class="RktStxLink Sq" data-pltdoc="x">define</a></span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktSym">deps</span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktSym">_package-source-string</span><span class="RktMeta"></span><span class="hspace">&nbsp;</span><span class="RktMeta"></span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&amp;version=6.1" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="RktPn">)</span><span class="RktPn">)</span><span class="RktMeta"></span></td></tr></table></blockquote><p>The following <span class="stt">"info.rkt"</span> fields are used by the package manager:</p><ul><li><p><span class="RktSym">collection</span> &#8212;<wbr></wbr> either <span class="RktVal">'</span><span class="RktVal">multi</span> to
implement a <a href="Package_Concepts.html#%28tech._multi._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">multi-collection package</span></a> or a string or
<span class="RktVal">'</span><span class="RktVal">use-pkg-name</span> to implement a <a href="Package_Concepts.html#%28tech._single._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">single-collection
package</span></a>. If <span class="RktSym">collection</span> is defined as a string,
then the string is used as the name of the collection
implemented by the package. If <span class="RktSym">collection</span> is
defined as <span class="RktVal">'</span><span class="RktVal">use-pkg-name</span>, then the package name is used
as the package&rsquo;s collection name.</p><p>Beware that omitting <span class="RktSym">collection</span> or defining it
as <span class="RktVal">'</span><span class="RktVal">use-pkg-name</span> means that a package&rsquo;s content
effectively changes with the package&rsquo;s name. A package&rsquo;s
content should normally be independent of the package&rsquo;s name,
and so defining <span class="RktSym">collection</span> to a string is
preferable for a <a href="Package_Concepts.html#%28tech._single._collection._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">single-collection package</span></a>.</p></li><li><p><span class="RktSym">version</span> &#8212;<wbr></wbr> a <a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> string. The default
<a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> of a package is <span class="RktVal">"0.0"</span>.</p></li><li><p><span class="RktSym">deps</span> &#8212;<wbr></wbr> a list of dependencies, where each
dependency has one of the following forms:</p><ul><li><p>A string for a <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a>.</p></li><li><p><div class="SIntrapara">A list of the form
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><table cellspacing="0" cellpadding="0" class="RktBlk"><tr><td><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVar">package-source-string</span></td></tr><tr><td><span class="hspace">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="RktVar">keyword-and-spec</span><span class="hspace">&nbsp;</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=stx-patterns.html%23%2528form._%2528%2528lib._racket%252Fprivate%252Fstxcase-scheme..rkt%2529._......%2529%2529&amp;version=6.1" class="RktStxLink Sq" data-pltdoc="x">...</a></span><span class="RktPn">)</span></td></tr></table></blockquote></div><div class="SIntrapara">where each <span class="RktVar">keyword-and-spec</span> has a
distinct keyword in the form
</div><div class="SIntrapara"><table cellspacing="0" cellpadding="0"><tr><td align="right" valign="baseline"><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">keyword-and-spec</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVal">'</span><span class="RktVal">#:version</span><span class="hspace">&nbsp;</span><span class="RktVar">version-string</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVal">'</span><span class="RktVal">#:platform</span><span class="hspace">&nbsp;</span><span class="RktVar">platform-spec</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td></tr><tr><td align="right" valign="baseline"><span class="hspace">&nbsp;&nbsp;</span><span class="RktVar">platform-spec</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">=</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">string</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">symbol</span></td></tr><tr><td align="right" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="center" valign="baseline">|</td><td align="left" valign="baseline"><span class="stt">&nbsp;</span></td><td align="left" valign="baseline"><span class="RktVar">regexp</span></td></tr></table></div></p><p>A <span class="RktVar">version-string</span> specifies a lower bound
on an acceptable <a href="Package_Concepts.html#%28tech._version%29" class="techoutside" data-pltdoc="x"><span class="techinside">version</span></a> of the needed package.</p><p>A <span class="RktVar">platform-spec</span> indicates that the dependency
applies only for platforms with a matching result from
<span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._system-type%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">system-type</a></span><span class="RktPn">)</span> when <span class="RktVar">platforms-spec</span> is
a symbol or <span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=Manipulating_Paths.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._path-%7E3estring%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">path-&gt;string</a></span><span class="stt"> </span><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=runtime.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._system-library-subpath%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">system-library-subpath</a></span><span class="stt"> </span><span class="RktVal">#f</span><span class="RktPn">)</span><span class="RktPn">)</span> when
<span class="RktVar">platform-spec</span> is a string or regular expression.
See also <span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=raco&amp;rel=matching-platform.html%23%2528def._%2528%2528lib._setup%252Fmatching-platform..rkt%2529._matching-platform%7E3f%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">matching-platform?</a></span>. For
example, platform-specific binaries can be placed into
their own packages, with one separate package and one
dependency for each supported platform.</p></li><li><p><div class="SIntrapara">A list of the form
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVar">package-source-string</span><span class="hspace">&nbsp;</span><span class="RktVar">version-string</span><span class="RktPn">)</span></p></blockquote></div><div class="SIntrapara">which is deprecated and equivalent to
</div><div class="SIntrapara"><blockquote class="SCodeFlow"><p><span class="RktPn">(</span><span class="RktSym"><a href="http://download.racket-lang.org/docs/6.1/html/local-redirect/index.html?doc=reference&amp;rel=pairs.html%23%2528def._%2528%2528quote._%7E23%7E25kernel%2529._list%2529%2529&amp;version=6.1" class="RktValLink Sq" data-pltdoc="x">list</a></span><span class="hspace">&nbsp;</span><span class="RktVar">package-source-string</span><span class="hspace">&nbsp;</span><span class="RktVal">'</span><span class="RktVal">#:version</span><span class="hspace">&nbsp;</span><span class="RktVar">version-string</span><span class="RktPn">)</span></p></blockquote></div></p></li></ul><p>Each element of the <span class="RktSym">deps</span> list determines a
dependency on the <a href="Package_Concepts.html#%28tech._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">package</span></a> whose name is inferred from
the <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a> (i.e., dependencies are on package
names, not package sources), while the <a href="Package_Concepts.html#%28tech._package._source%29" class="techoutside" data-pltdoc="x"><span class="techinside">package source</span></a>
indicates where to get the package if needed to satisfy the
dependency.</p><p>Using the package name <span class="RktVal">"racket"</span> specifies a dependency
on the Racket run-time system, which is potentially useful when
a version is included in the dependency. For most purposes,
it&rsquo;s better to specify a versioned dependency on
<span class="RktVal">"base"</span>, instead.</p></li><li><p><span class="RktSym">build-deps</span> &#8212;<wbr></wbr> like <span class="RktSym">deps</span>, but for
dependencies that can be dropped in a <a href="strip.html#%28tech._binary._package%29" class="techoutside" data-pltdoc="x"><span class="techinside">binary package</span></a>,
which does not include sources; see <a href="strip.html" data-pltdoc="x">Source, Binary, and Built Packages</a>. The
<span class="RktSym">build-deps</span> and <span class="RktSym">deps</span> lists are
appended, while <a href="cmdline.html#%28part._raco-pkg-create%29" class="plainlink" data-pltdoc="x"><span class="stt">raco pkg create</span></a> strips away
<span class="RktSym">build-deps</span> when converting a package for
<span class="nobreak"><span class="stt">--binary</span></span> mode.</p></li><li><p><span class="RktSym">implies</span> &#8212;<wbr></wbr> a list of strings and
<span class="RktVal">'</span><span class="RktVal">core</span>. Each string refers to a package listed in the
<span class="RktSym">deps</span> and indicates that a dependency on the
current package counts as a dependency on the named package;
for example, the <span class="stt">gui</span> package is defined to ensure
access to all of the libraries provided by <span class="stt">gui-lib</span>,
so the <span class="stt">"info.rkt"</span> file of <span class="stt">gui</span> lists
<span class="RktVal">"gui-lib"</span> in <span class="RktSym">implies</span>. Packages listed
in <span class="RktSym">implies</span> list are treated specially by
updating: implied packages are automatically updated whenever
the implying package is updated. The special value
<span class="RktVal">'</span><span class="RktVal">core</span> is intended for use by an appropriate
<span class="stt">base</span> package to declare it as the representative of
core Racket libraries.</p></li><li><p><span class="RktSym">setup-collects</span> &#8212;<wbr></wbr> a list of path strings and/or
lists of path strings, which are used as collection names to
set up via <span class="stt">raco setup</span> after the package is installed, or
<span class="RktVal">'</span><span class="RktVal">all</span> to indicate that all collections need to be
setup. By default, only collections included in the package are
set up (plus collections for global documentation indexes and
links).</p></li></ul><div class="navsetbottom"><span class="navleft"><form class="searchform"><input class="searchbox" style="color: #888;" type="text" value="...search manuals..." title="Enter a search string to search the manuals" onkeypress="return DoSearchKey(event, this, &quot;6.1&quot;, &quot;../&quot;);" onfocus="this.style.color=&quot;black&quot;; this.style.textAlign=&quot;left&quot;; if (this.value == &quot;...search manuals...&quot;) this.value=&quot;&quot;;" onblur="if (this.value.match(/^ *$/)) { this.style.color=&quot;#888&quot;; this.style.textAlign=&quot;center&quot;; this.value=&quot;...search manuals...&quot;; }"/></form>&nbsp;&nbsp;<a href="../index.html" title="up to the documentation top" data-pltdoc="x" onclick="return GotoPLTRoot(&quot;6.1&quot;);">top</a></span><span class="navright">&nbsp;&nbsp;<a href="cmdline.html" title="backward to &quot;3 Using raco pkg&quot;" data-pltdoc="x">&larr; prev</a>&nbsp;&nbsp;<a href="index.html" title="up to &quot;Package Management in Racket&quot;" data-pltdoc="x">up</a>&nbsp;&nbsp;<a href="strip.html" title="forward to &quot;5 Source, Binary, and Built Packages&quot;" data-pltdoc="x">next &rarr;</a></span>&nbsp;</div></div></div><div id="contextindicator">&nbsp;</div></body></html>