1 |
<?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 |
<!-- $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 |
|
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> |