Main /

Emerge Step By Step

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Emerge Step By Step

emerge schrittweise

Eigentlich funktioniert emerge für sich genommen sehr gut, aber manchmal gibt es Gründe in die Sourcen zu gucken. Sei es weil:

  • Man hat ein ebuild und möchte nur mal in die Sourcen gucken.
  • Man arbeitet an einem eigenen Projekt und möchte was am ebuild analysieren.
  • Das kompilieren will einfach nicht weil Compiler-Optionen nicht gehen.
  • Man hat zu dem ebuild noch einen Patch und möchte den mal einspielen.

Das Format eines *.ebuild Files ist bash-shell-like. Aber das bringt uns eigentlich nicht weiter, da es exakt beschreibt, was genau getan wird, wir wollen aber nur die Sourcen holen, auspacken, kompilieren, installieren oder nur genau einen Part davon. Und das geht mit ebuild Dazu stelle man sich in das /usr/portage/kategorie/Programm Verzeichnis also z.B. /usr/portage-overlay/app-misc/EBuildDemo und kann dann folgendes machen. Das EBuildDemo-Projekt findet man hier.

Prüfsummen

Macht man an einer *.ebuild Datei Änderungen, müssen die Prüfsummen erst wieder auf Stand gebracht werden, oder man hat eine ebuild Datei aus dem Internet bekommen und möchte diese installieren.

ebuild /usr/portage-overlay/app-misc/EBuildDemo-0.1.ebuild digest

sourcen downloaden

ebuild ...EBuildDemo-0.1.ebuild fetch

Holt die Sourcen aus dem Internet.

Man kann die Sourcen aber auch selbst holen und nach /usr/portage/distfiles kopieren.

auspacken

ebuild ...EBuildDemo-0.1.ebuild unpack

packt die Daten aus. Um jetzt in den Source zu gucken, in das Verzeichnis /var/tmp/portage/EBuildDemo-0.1/work/EBuildDemo-0.1/ wechseln.

[Optional] Patches einspielen

Hier kann man jetzt auch beliebige Patches einspielen. Oder die Sourcen selbst nachträglich ändern.

[Optional] Rest auf einen Schlag

Wer es leid ist, alle folgenden Schritte einzeln auszuführen, kann einfach ebuild ...EBuildDemo-0.1.ebuild merge ausführen, dann werden sämtliche folgenden Schritte auf einen Schlag ausgeführt.

kompilieren

ebuild ...EBuildDemo-0.1.ebuild compile

baut die Sourcen hier /var/tmp/portage/EBuildDemo-0.1/work/EBuildDemo-0.1

installieren

ebuild ...EBuildDemo-0.1.ebuild install

installiert die Executables in die sog. Sandbox Wichtig: Die Sandbox ist nicht das Real-live System, Dateien sind noch nicht wirklich vorhanden.

nach der installation

ebuild ...EBuildDemo-0.1.ebuild postinst

Wird nicht wirklich gebraucht, meist werden nur ein paar Kommentare ausgegeben.

ins Real-live System bringen

ebuild ...EBuildDemo-0.1.ebuild merge

kopiert die alle benötigten Dateien (Executables|Dokumente|...) aus der Sandbox in das Real-live System.

Damit es schneller geht, kann man alle Parameter auch hintereinander weg schreiben z.B. ebuild ... digest unpack compile install merge das ist fürs Testen ganz praktisch.

wieder entfernen

ebuild ...EBuildDemo-0.1.ebuild unmerge

löscht alle Dateien wieder aus dem Real-live System. Allerdings nur die Dateien, die mittels merge auch installiert wurden und nicht zwischenzeitlich geändert worden sind.

Vielleicht sind einige ebuilds obsolete, oder es fehlen welche. Was solls, es läuft. Wer weiteres wissen möchte, sollte sich das Gentoo ebuild-HOWTO zur Brust nehmen, das IMHO leider sofort in absoluten untiefen von Gentoo abtaucht, ohne dem geneigten Leser erst mal oberflächlich auf die Materie vorzubereiten geschweige den ein paar Beispiele zu nennen.

Verwandte Themen

Frische Änderungen (All) | Edit SideBar Zuletzt geändert am 07.09.2010 08:28 Uhr Seite Bearbeiten | Seitenhistorie
Powered by PmWiki