aboutsummaryrefslogtreecommitdiff
blob: 06fef9a4ad39210e2334d07d9e6a18ef947fd729 (plain)
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
<?xml version="1.0"?>
<guide self="general-concepts/manifest/">
<chapter>
<title>Manifest</title>

<section>
<title>Generating the Manifest</title>
<body>
<p>
In the tree, every package has a <c>Manifest</c> file. This file lives
in the same directory as the ebuilds for the package. The <c>Manifest</c> file
contains digests (the current list can be found in <c>metadata/layout.conf</c>
as <c>manifest-hashes</c>) and file size data for every distfile used
by the package. This is used to verify integrity upon fetching them.
</p>

<p>
To generate the <c>Manifest</c>, use <c>ebuild foo.ebuild manifest</c>
or <c>repoman manifest</c>. You may want to set <c>GENTOO_MIRRORS=</c> while
calling it to fetch distfiles from their original locations immediately.
</p>
</body>

<subsection>
<title>Thin and thick Manifests</title>
<body>
<p>
There are two kinds of Manifest files in Gentoo: thin Manifests that are used
in the development repositories, and thick Manifests that are distributed
via rsync to end users. Thin Manifests are described above.
</p>

<p>
Thick Manifests add checksums for all files in the repository, and an OpenPGP
signature. This provides both for integrity and authenticity checking when
the repository is transmitted over insecure channels. Thick Manifests
are automatically generated on Gentoo Infrastructure, and require no specific
action from developers.
</p>
</body>
</subsection>
</section>
</chapter>
</guide>