| 1 |
neysx |
1.2 |
<?xml version='1.0' encoding='UTF-8'?>
|
| 2 |
|
|
<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
|
| 3 |
|
|
|
| 4 |
|
|
<!-- The content of this document is licensed under the CC-BY-SA license -->
|
| 5 |
|
|
<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
|
| 6 |
|
|
|
| 7 |
neysx |
1.3 |
<!-- $Id: /var/cvsroot/gentoo/xml/htdocs/doc/nl/handbook/hb-portage-ebuild.xml,v 1.2 2006/03/21 13:38:35 neysx Exp $ -->
|
| 8 |
neysx |
1.2 |
|
| 9 |
|
|
<sections>
|
| 10 |
|
|
|
| 11 |
|
|
<version>1.3</version>
|
| 12 |
|
|
<date>2004-10-24</date>
|
| 13 |
|
|
|
| 14 |
|
|
<section>
|
| 15 |
|
|
<title>Emerge en ebuild</title>
|
| 16 |
|
|
<body>
|
| 17 |
|
|
|
| 18 |
|
|
<p>
|
| 19 |
|
|
De <c>ebuild</c> applicatie is een verbinding met het Portage systeem op een
|
| 20 |
|
|
lager niveau. Door deze applicatie te gebruiken, kunt u op een bepaalde ebuild
|
| 21 |
|
|
specifieke acties uitvoeren. U kunt bijvoorbeeld de individuele
|
| 22 |
|
|
installatie stappen zelf uitvoeren.
|
| 23 |
|
|
</p>
|
| 24 |
|
|
|
| 25 |
|
|
<p>
|
| 26 |
|
|
Het gebruik van <c>ebuild</c> is bedoeld voor het ontwikkelen van nieuwe
|
| 27 |
|
|
applicaties en meer informatie over <c>ebuild</c> kan dan ook worden gevonden
|
| 28 |
|
|
in het <uri link="/proj/en/devrel/handbook/handbook.xml">Ontwikkelaars
|
| 29 |
|
|
Handboek</uri> (Engelstalig). We zullen echter wel uitleggen welke ebuild
|
| 30 |
|
|
stappen gebruikt worden door Portage tijdens het installatieproces van een
|
| 31 |
|
|
voorbeeld applicatie en hoe u de post-configuratie stappen die sommige ebuilds
|
| 32 |
|
|
u toelaten te gebruiken kunt toepassen.
|
| 33 |
|
|
</p>
|
| 34 |
|
|
|
| 35 |
|
|
</body>
|
| 36 |
|
|
</section>
|
| 37 |
|
|
<section>
|
| 38 |
|
|
<title>Handmatig applicaties installeren</title>
|
| 39 |
|
|
<subsection>
|
| 40 |
|
|
<title>De bron downloaden & controleren</title>
|
| 41 |
|
|
<body>
|
| 42 |
|
|
|
| 43 |
|
|
<p>
|
| 44 |
|
|
Wanneer u <c>ebuild</c> tegen een bepaald ebuild bestand gebruikt, zal het
|
| 45 |
|
|
controleren of de controle som gelijk is aan de controle som die gevonden kan
|
| 46 |
|
|
worden in het bijbehorende <path>Manifest</path> of het bestand
|
| 47 |
|
|
<path>files/digest-<name>-<version></path>. Dit gebeurt
|
| 48 |
|
|
nadat de bronbestanden gedownload zijn.
|
| 49 |
|
|
</p>
|
| 50 |
|
|
|
| 51 |
|
|
<p>
|
| 52 |
|
|
Om bronbestanden te downloaden met behulp van <c>ebuild</c>, start:
|
| 53 |
|
|
</p>
|
| 54 |
|
|
|
| 55 |
|
|
<pre caption="Downloaden van de bronnen">
|
| 56 |
|
|
# <i>ebuild map/van/ebuild fetch</i>
|
| 57 |
|
|
</pre>
|
| 58 |
|
|
|
| 59 |
|
|
<p>
|
| 60 |
|
|
Als de md5som van de ebuild niet gelijk is aan degene die genoemd wordt in het
|
| 61 |
|
|
bestand <path>Manifest</path>, of een van de gedownloade bronnen is anders dan
|
| 62 |
|
|
wat genoemd wordt in het <path>files/digest-<package></path> bestand,
|
| 63 |
|
|
krijgt u een foutmelding die vergelijkbaar is met deze:
|
| 64 |
|
|
</p>
|
| 65 |
|
|
|
| 66 |
|
|
<pre caption="Ebuild checksum fout">
|
| 67 |
|
|
!!! File is corrupt or incomplete. (Digests do not match)
|
| 68 |
|
|
>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
|
| 69 |
|
|
>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6
|
| 70 |
|
|
</pre>
|
| 71 |
|
|
|
| 72 |
|
|
<p>
|
| 73 |
|
|
De volgende regel zal vermelden welke bestand de foute is.
|
| 74 |
|
|
</p>
|
| 75 |
|
|
|
| 76 |
|
|
<p>
|
| 77 |
|
|
Als u zeker weet dat de ebuild zelf en de door u gedownloade bronnen correct
|
| 78 |
|
|
zijn, kunt u de bestanden <path>Manifest</path> en
|
| 79 |
|
|
<path>digest-<package></path> opnieuw aanmaken door gebruik te
|
| 80 |
|
|
maken van <c>ebuild</c>'s digest functionaliteit:
|
| 81 |
|
|
</p>
|
| 82 |
|
|
|
| 83 |
|
|
<pre caption="Opnieuw maken van Manifest and digest">
|
| 84 |
|
|
# <i>ebuild map/van/ebuild digest</i>
|
| 85 |
|
|
</pre>
|
| 86 |
|
|
|
| 87 |
|
|
</body>
|
| 88 |
|
|
</subsection>
|
| 89 |
|
|
<subsection>
|
| 90 |
|
|
<title>Het uitpakken van de bronbestanden</title>
|
| 91 |
|
|
<body>
|
| 92 |
|
|
|
| 93 |
|
|
<p>
|
| 94 |
|
|
Om de bron bestanden uit te pakken in <path>/var/tmp/portage</path> (of elke
|
| 95 |
|
|
andere map die u hebt ingesteld in <path>/etc/make.conf</path>), start u de
|
| 96 |
|
|
uitpak functie van <c>ebuild</c>:
|
| 97 |
|
|
</p>
|
| 98 |
|
|
|
| 99 |
|
|
<pre caption="Het uitpakken van de bronbestanden">
|
| 100 |
|
|
# <i>ebuild map/van/ebuild unpack</i>
|
| 101 |
|
|
</pre>
|
| 102 |
|
|
|
| 103 |
|
|
<p>
|
| 104 |
|
|
Dit zal ebuild's src_unpack() functie starten (welke standaard zal uitpakken als
|
| 105 |
|
|
geen src_unpack() functie gedefinieerd is). Tevens worden in deze stap alle
|
| 106 |
|
|
benodigde patches toegepast.
|
| 107 |
|
|
</p>
|
| 108 |
|
|
|
| 109 |
|
|
</body>
|
| 110 |
|
|
</subsection>
|
| 111 |
|
|
<subsection>
|
| 112 |
|
|
<title>het compileren van de bronbestanden</title>
|
| 113 |
|
|
<body>
|
| 114 |
|
|
|
| 115 |
|
|
<p>
|
| 116 |
|
|
De volgende stap in het installatie proces, is het compileren van de
|
| 117 |
|
|
bronbestanden. <c>ebuild</c>'s compileer functionaliteit zorgt voor deze stap
|
| 118 |
|
|
door het starten van de src_compile() functie in de ebuild. Dit geldt tevens
|
| 119 |
|
|
voor de configuratie stappen indien van toepassing.
|
| 120 |
|
|
</p>
|
| 121 |
|
|
|
| 122 |
|
|
<pre caption="Het Compileren van de bron bestanden">
|
| 123 |
|
|
# <i>ebuild map/van/ebuild compile</i>
|
| 124 |
|
|
</pre>
|
| 125 |
|
|
|
| 126 |
|
|
<p>
|
| 127 |
|
|
U wordt geadviseerd om ebuild's src_compile() functie te wijzigen als u de
|
| 128 |
|
|
compileer instructies wilt wijzigen. U kunt Portage ook voor de gek houden
|
| 129 |
|
|
zodat het denkt dat de <c>ebuild</c> applicatie de compilatie stappen afgerond
|
| 130 |
|
|
heeft. Start alle benodigde commando's zelf en creëer een leeg bestand met de
|
| 131 |
|
|
naam <path>.compiled</path> in de werkmap:
|
| 132 |
|
|
</p>
|
| 133 |
|
|
|
| 134 |
|
|
<pre caption="Portage informeren over de afgeronde compilatie taken">
|
| 135 |
|
|
# <i>touch .compiled</i>
|
| 136 |
|
|
</pre>
|
| 137 |
|
|
|
| 138 |
|
|
</body>
|
| 139 |
|
|
</subsection>
|
| 140 |
|
|
<subsection>
|
| 141 |
|
|
<title>De bestanden installeren in een tijdelijke lokatie</title>
|
| 142 |
|
|
<body>
|
| 143 |
|
|
|
| 144 |
|
|
<p>
|
| 145 |
|
|
Gedurende de volgende stap zal Portage alle benodigde bestanden in een
|
| 146 |
|
|
tijdelijke lokatie installeren. Deze map zal dan alle bestanden bevatten die
|
| 147 |
|
|
geïnstalleerd zullen worden in het produktiebestandssysteem. U kan dit bereiken
|
| 148 |
|
|
door <c>ebuild</c>'s install functie, welke de ebuild's src_install()
|
| 149 |
|
|
functie start:
|
| 150 |
|
|
</p>
|
| 151 |
|
|
|
| 152 |
|
|
<pre caption="Het installeren van de bestanden">
|
| 153 |
|
|
# <i>ebuild map/van/ebuild install</i>
|
| 154 |
|
|
</pre>
|
| 155 |
|
|
|
| 156 |
|
|
</body>
|
| 157 |
|
|
</subsection>
|
| 158 |
|
|
<subsection>
|
| 159 |
|
|
<title>Het installeren van de bestanden op het produktiebestandssysteem</title>
|
| 160 |
|
|
<body>
|
| 161 |
|
|
|
| 162 |
|
|
<p>
|
| 163 |
|
|
De laatste stap is het installeren van alle bestanden op het
|
| 164 |
|
|
produktiebestandsysteem en deze registreren in bij Portage. <c>ebuild</c> noemt
|
| 165 |
|
|
deze fase "qmerge" en het bevat de volgende stappen:
|
| 166 |
|
|
</p>
|
| 167 |
|
|
|
| 168 |
|
|
<ul>
|
| 169 |
|
|
<li>Start de pkg_preinst() functie indien gespecificeerd</li>
|
| 170 |
|
|
<li>Kopieer alle bestanden naar het produktie bestandssysteem</li>
|
| 171 |
|
|
<li>Registreer de bestanden bij Portage</li>
|
| 172 |
|
|
<li>Start de pkg_postinst() functie indien gespecificeerd</li>
|
| 173 |
|
|
</ul>
|
| 174 |
|
|
|
| 175 |
|
|
<p>
|
| 176 |
|
|
Start <c>ebuild</c>'s qmerge functionaliteit om deze stappen uit te voeren:
|
| 177 |
|
|
</p>
|
| 178 |
|
|
|
| 179 |
|
|
<pre caption="Het installeren van de bestanden op het produktiebestandsysteem">
|
| 180 |
|
|
# <i>ebuild map/van/ebuild qmerge</i>
|
| 181 |
|
|
</pre>
|
| 182 |
|
|
|
| 183 |
|
|
</body>
|
| 184 |
|
|
</subsection>
|
| 185 |
|
|
<subsection>
|
| 186 |
|
|
<title>Het opschonen van de tijdelijke map</title>
|
| 187 |
|
|
<body>
|
| 188 |
|
|
|
| 189 |
|
|
<p>
|
| 190 |
|
|
Als laatste stap kunt u de tijdelijke map opschonen door gebruik te maken van
|
| 191 |
|
|
<c>ebuild</c>'s clean functionaliteit:
|
| 192 |
|
|
</p>
|
| 193 |
|
|
|
| 194 |
|
|
<pre caption="Het opschonen van de tijdelijke map">
|
| 195 |
|
|
# <i>ebuild map/van/ebuild clean</i>
|
| 196 |
|
|
</pre>
|
| 197 |
|
|
|
| 198 |
|
|
</body>
|
| 199 |
|
|
</subsection>
|
| 200 |
|
|
</section>
|
| 201 |
|
|
<section>
|
| 202 |
|
|
<title>Extra Ebuild opties</title>
|
| 203 |
|
|
<subsection>
|
| 204 |
|
|
<title>Het draaien van alle installatie gerelateerde commando's</title>
|
| 205 |
|
|
<body>
|
| 206 |
|
|
|
| 207 |
|
|
<p>
|
| 208 |
|
|
Gebruik <c>ebuild</c>'s installatie functies om het downloaden,
|
| 209 |
|
|
uitpakken, compileren, installeren en qmerge commando's in één keer uit te
|
| 210 |
|
|
voeren:
|
| 211 |
|
|
</p>
|
| 212 |
|
|
|
| 213 |
|
|
<pre caption="Het installeren van applicaties">
|
| 214 |
|
|
# <i>ebuild map/naar/ebuild merge</i>
|
| 215 |
|
|
</pre>
|
| 216 |
|
|
|
| 217 |
|
|
</body>
|
| 218 |
|
|
</subsection>
|
| 219 |
|
|
<subsection>
|
| 220 |
|
|
<title>Het uitvoeren van de configuratie stappen</title>
|
| 221 |
|
|
<body>
|
| 222 |
|
|
|
| 223 |
|
|
<p>
|
| 224 |
|
|
Sommige applicaties bevatten instructies om een pakket verder te configureren
|
| 225 |
|
|
op uw systeem. Deze instructies kunnen interactief zijn en worden daarom niet
|
| 226 |
|
|
automatisch uitgevoerd. Om deze configuratie stappen uit te voeren, die genoemd
|
| 227 |
|
|
worden in de (optionele) config() functie van ebuild, gebruik <c>ebuild</c>'s
|
| 228 |
|
|
config functionaliteit:
|
| 229 |
|
|
</p>
|
| 230 |
|
|
|
| 231 |
|
|
<pre caption="Een pakket verder configureren">
|
| 232 |
|
|
# <i>ebuild map/van/ebuild config</i>
|
| 233 |
|
|
</pre>
|
| 234 |
|
|
|
| 235 |
|
|
</body>
|
| 236 |
|
|
</subsection>
|
| 237 |
|
|
<subsection>
|
| 238 |
|
|
<title>Een (RPM) Pakket bouwen</title>
|
| 239 |
|
|
<body>
|
| 240 |
|
|
|
| 241 |
|
|
<p>
|
| 242 |
|
|
U kunt Portage instrueren om van een ebuild een binair pakket of zelfs een
|
| 243 |
|
|
RPM bestand te maken. Gebruik <c>ebuild</c>'s package of rpm functionaliteit om
|
| 244 |
|
|
deze pakketten te maken. Er zijn echter een aantal verschillen tussen deze
|
| 245 |
|
|
functies:
|
| 246 |
|
|
</p>
|
| 247 |
|
|
|
| 248 |
|
|
<ul>
|
| 249 |
|
|
<li>
|
| 250 |
|
|
De package functie lijkt erg op de merge functie, in het
|
| 251 |
|
|
starten van alle benodigde stappen (fetch, unpack, compile, install) voordat
|
| 252 |
|
|
het pakket aangemaakt wordt
|
| 253 |
|
|
</li>
|
| 254 |
|
|
<li>
|
| 255 |
|
|
De rpm functie bouwt een RPM pakket van een bestand dat aangemaakt
|
| 256 |
|
|
is <e>nadat</e> <c>ebuild</c>'s install functionaliteit gedraaid heeft.
|
| 257 |
|
|
</li>
|
| 258 |
|
|
</ul>
|
| 259 |
|
|
|
| 260 |
|
|
<pre caption="Het aanmaken van pakketten">
|
| 261 |
|
|
<comment>(Voor een Portage-compatible binair pakket)</comment>
|
| 262 |
|
|
# <i>ebuild map/van/ebuild package</i>
|
| 263 |
|
|
|
| 264 |
|
|
<comment>(Voor een RPM pakket)</comment>
|
| 265 |
|
|
# <i>ebuild map/van/ebuild rpm</i>
|
| 266 |
|
|
</pre>
|
| 267 |
|
|
|
| 268 |
|
|
<p>
|
| 269 |
|
|
Het aangemaakte RPM bestand bevat echter niet de afhankelijkheidsinformatie van
|
| 270 |
|
|
de ebuild.
|
| 271 |
|
|
</p>
|
| 272 |
|
|
|
| 273 |
|
|
</body>
|
| 274 |
|
|
</subsection>
|
| 275 |
|
|
</section>
|
| 276 |
|
|
<section>
|
| 277 |
|
|
<title>Meer Informatie</title>
|
| 278 |
|
|
<subsection>
|
| 279 |
|
|
<body>
|
| 280 |
|
|
|
| 281 |
|
|
<p>
|
| 282 |
|
|
Voor meer informatie over Portage, de ebuild applicatie en ebuild bestanden,
|
| 283 |
|
|
raadpleeg de volgende man pagina's:
|
| 284 |
|
|
</p>
|
| 285 |
|
|
|
| 286 |
|
|
<pre caption="Man pages">
|
| 287 |
|
|
$ <i>man portage</i> <comment>(Portage zelf)</comment>
|
| 288 |
|
|
$ <i>man emerge</i> <comment>(Het emerge commando)</comment>
|
| 289 |
|
|
$ <i>man ebuild</i> <comment>(Het ebuild commando)</comment>
|
| 290 |
|
|
$ <i>man 5 ebuild</i> <comment>(De ebuild bestand syntax)</comment>
|
| 291 |
|
|
</pre>
|
| 292 |
|
|
|
| 293 |
|
|
<p>
|
| 294 |
|
|
U kunt tevens meer informatie over het ontwikkelen vinden in het
|
| 295 |
|
|
<uri link="/proj/en/devrel/handbook/handbook.xml">ontwikkelaars Handboek</uri>
|
| 296 |
|
|
(Engelstalig).
|
| 297 |
|
|
</p>
|
| 298 |
|
|
|
| 299 |
|
|
</body>
|
| 300 |
|
|
</subsection>
|
| 301 |
|
|
</section>
|
| 302 |
|
|
</sections>
|