Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Eigentlich funktioniert emerge
für sich genommen sehr gut, aber manchmal gibt es Gründe in die Sourcen zu gucken. Sei es weil:
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.
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.
Holt die Sourcen aus dem Internet.
Man kann die Sourcen aber auch selbst holen und nach /usr/portage/distfiles
kopieren.
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.
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.
baut die Sourcen hier /var/tmp/portage/EBuildDemo-0.1/work/EBuildDemo-0.1
installiert die Executables in die sog. Sandbox Wichtig: Die Sandbox ist nicht das Real-live System, Dateien sind noch nicht wirklich vorhanden.
Wird nicht wirklich gebraucht, meist werden nur ein paar Kommentare ausgegeben.
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.
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.