Emerge en ebuild
De ebuild applicatie is een verbinding met het Portage systeem op een
lager niveau. Door deze applicatie te gebruiken, kunt u op een bepaalde ebuild
specifieke acties uitvoeren. U kunt bijvoorbeeld de individuele
installatie stappen zelf uitvoeren.
Het gebruik van ebuild is bedoeld voor het ontwikkelen van nieuwe
applicaties en meer informatie over ebuild kan dan ook worden gevonden
in het Ontwikkelaars
Handboek (Engelstalig). We zullen echter wel uitleggen welke ebuild
stappen gebruikt worden door Portage tijdens het installatieproces van een
voorbeeld applicatie en hoe u de post-configuratie stappen die sommige ebuilds
u toelaten te gebruiken kunt toepassen.
Handmatig applicaties installeren
De bron downloaden & controleren
Wanneer u ebuild tegen een bepaald ebuild bestand gebruikt, zal het
controleren of de controle som gelijk is aan de controle som die gevonden kan
worden in het bijbehorende Manifest of het bestand
files/digest-<name>-<version>. Dit gebeurt
nadat de bronbestanden gedownload zijn.
Om bronbestanden te downloaden met behulp van ebuild, start:
# ebuild map/van/ebuild fetch
Als de md5som van de ebuild niet gelijk is aan degene die genoemd wordt in het
bestand Manifest, of een van de gedownloade bronnen is anders dan
wat genoemd wordt in het files/digest-<package> bestand,
krijgt u een foutmelding die vergelijkbaar is met deze:
!!! File is corrupt or incomplete. (Digests do not match)
>>> our recorded digest: db20421ce35e8e54346e3ef19e60e4ee
>>> your file's digest: f10392b7c0b2bbc463ad09642606a7d6
De volgende regel zal vermelden welke bestand de foute is.
Als u zeker weet dat de ebuild zelf en de door u gedownloade bronnen correct
zijn, kunt u de bestanden Manifest en
digest-<package> opnieuw aanmaken door gebruik te
maken van ebuild's digest functionaliteit:
# ebuild map/van/ebuild digest
Het uitpakken van de bronbestanden
Om de bron bestanden uit te pakken in /var/tmp/portage (of elke
andere map die u hebt ingesteld in /etc/make.conf), start u de
uitpak functie van ebuild:
# ebuild map/van/ebuild unpack
Dit zal ebuild's src_unpack() functie starten (welke standaard zal uitpakken als
geen src_unpack() functie gedefinieerd is). Tevens worden in deze stap alle
benodigde patches toegepast.
het compileren van de bronbestanden
De volgende stap in het installatie proces, is het compileren van de
bronbestanden. ebuild's compileer functionaliteit zorgt voor deze stap
door het starten van de src_compile() functie in de ebuild. Dit geldt tevens
voor de configuratie stappen indien van toepassing.
# ebuild map/van/ebuild compile
U wordt geadviseerd om ebuild's src_compile() functie te wijzigen als u de
compileer instructies wilt wijzigen. U kunt Portage ook voor de gek houden
zodat het denkt dat de ebuild applicatie de compilatie stappen afgerond
heeft. Start alle benodigde commando's zelf en creëer een leeg bestand met de
naam .compiled in de werkmap:
# touch .compiled
De bestanden installeren in een tijdelijke lokatie
Gedurende de volgende stap zal Portage alle benodigde bestanden in een
tijdelijke lokatie installeren. Deze map zal dan alle bestanden bevatten die
geïnstalleerd zullen worden in het produktiebestandssysteem. U kan dit bereiken
door ebuild's install functie, welke de ebuild's src_install()
functie start:
# ebuild map/van/ebuild install
Het installeren van de bestanden op het produktiebestandssysteem
De laatste stap is het installeren van alle bestanden op het
produktiebestandsysteem en deze registreren in bij Portage. ebuild noemt
deze fase "qmerge" en het bevat de volgende stappen:
- Start de pkg_preinst() functie indien gespecificeerd
- Kopieer alle bestanden naar het produktie bestandssysteem
- Registreer de bestanden bij Portage
- Start de pkg_postinst() functie indien gespecificeerd
Start ebuild's qmerge functionaliteit om deze stappen uit te voeren:
# ebuild map/van/ebuild qmerge
Het opschonen van de tijdelijke map
Als laatste stap kunt u de tijdelijke map opschonen door gebruik te maken van
ebuild's clean functionaliteit:
# ebuild map/van/ebuild clean
Extra Ebuild opties
Het draaien van alle installatie gerelateerde commando's
Gebruik ebuild's installatie functies om het downloaden,
uitpakken, compileren, installeren en qmerge commando's in één keer uit te
voeren:
# ebuild map/naar/ebuild merge
Het uitvoeren van de configuratie stappen
Sommige applicaties bevatten instructies om een pakket verder te configureren
op uw systeem. Deze instructies kunnen interactief zijn en worden daarom niet
automatisch uitgevoerd. Om deze configuratie stappen uit te voeren, die genoemd
worden in de (optionele) config() functie van ebuild, gebruik ebuild's
config functionaliteit:
# ebuild map/van/ebuild config
Een (RPM) Pakket bouwen
U kunt Portage instrueren om van een ebuild een binair pakket of zelfs een
RPM bestand te maken. Gebruik ebuild's package of rpm functionaliteit om
deze pakketten te maken. Er zijn echter een aantal verschillen tussen deze
functies:
-
De package functie lijkt erg op de merge functie, in het
starten van alle benodigde stappen (fetch, unpack, compile, install) voordat
het pakket aangemaakt wordt
-
De rpm functie bouwt een RPM pakket van een bestand dat aangemaakt
is nadat ebuild's install functionaliteit gedraaid heeft.
(Voor een Portage-compatible binair pakket)
# ebuild map/van/ebuild package
(Voor een RPM pakket)
# ebuild map/van/ebuild rpm
Het aangemaakte RPM bestand bevat echter niet de afhankelijkheidsinformatie van
de ebuild.