MAN ebuild
Aus Gentoo Linux Wiki
Dies ist eine Manpage.
Inhaltsverzeichnis |
[Bearbeiten] NAME
ebuild - Man-Page für das ebuild-Programm, einer Schnittstelle zum Portage-Tree.
[Bearbeiten] SYNTAX
ebuild Datei Kommando [Kommando]...
[Bearbeiten] BESCHREIBUNG
Ebuild ist eine direkte Schnittstelle zum Portage-System. Es erlaubt direkten Einfluss auf ein ebuild mithilfe spezifischer Subkommandos oder Gruppen von Kommandos in einem spezifischen Kontext des ebuilds auszuführen. Nachdem es ein ebuild-Skript und ein bzw. mehrere Kommandos akzeptiert hat, parst das ebuild-Programm das Skript und führt die übergebenen Kommandos aus.
Es gibt Kommandos, um Quellcode herunterzuladen, zu entpacken, zu kompilieren, Object-Dateien (*.o) in ein temporäres Verzeichnis "image" zu installieren, das image in das lokale Dateisystem zu mergen, einen bzippten tarball aus dem image zu erstellen und viele mehr.
[Bearbeiten] DATEI
Dies muss ein gültiges ebuild-Skript sein. Für weitere Informationen lesen Sie bitte ebuild(5).
[Bearbeiten] KOMMANDO
- help
Zeigt eine zusammengefasste Version der Man-Page zusammen mit einer Menge Paket-spezifischer Informationen.
- setup
Führt alle Paket-spezifischen Setup-Routinen und exotische System-Checks aus.
- clean
Löscht das temporäre Build-Verzeichnis, das Portage für diese eine ebuild-Datei angelegt hat. Das temporäre Build-Verzeichnis enthält normalerweise den entpackten Quellcode sowie ein mögliches "install"-Image (alle Dateien, die in das lokale Dateisystm gemerged werden bzw. in einem Paket gespeichert werden). Der Ort des Build-Verzeichnisses wird durch die BUILD_PREFIX-Variable gesetzt. Für weitere Informationen über diese Variable führen sie bitte emerge [-v] info code> aus. Um diese Variable zu verändern lesen Sie bitte die Man-Page make.conf(5).
Hinweis: Portage löscht fast alles, nachdem ein Paket erfolgreich gemerged wurde, außer wenn FEATURES noclean enthält. Wenn man jedoch 'noclean' zu FEATURES hinzufügt, werden in kurzer Zeit sehr schnell eine Menge Dateien zurückbleiben, die viel Speicherplatz benötigen. Es wird nicht empfohlen, dies zu verwenden, außer Sie haben eine Verwendung für die Quellcodes nach dem mergen.
Optional können Sie rm -rf /var/tmp/portage code> ausführen.
Dieser Befehl wird automatisch all diese Dateien löschen.
- fetch
Überprüft, ob alle Quellcodes, die in SRC_URI aufgelistet sind, in DISTDIR (weiteres dazu in der Man-Page von make.conf(5)) vorhanden sind und eine gültige md5-Prüfsumme haben. Wenn die Quellcodes nicht verfügbar sind, wird versucht, sie von den Mirrors, die in SRC_URI angegeben sind, herunterzuladen. Falls mehrere Mirrors für eine bestimmte Datei gelistet sind, pingt Portage jeden Mirror an, um den nächstgelegenen herauszufinden (dies ist jedoch ein ungenaues Verfahren). Die Gentoo Linux Mirrors, die in GENTOO_MIRRORS enthalten sind, werden bevorzugt. Falls aus irgendeinem Grund die md5-Prüfsumme der vorhandenen oder gerade-heruntergeladenen Quellcodes nicht mit denen in files/digest-[package]-[version-rev] übereinstimmen, wird eine Warnung ausgegeben und ebuild beendet mit einem "error code 1".
- digest
Erstellt eine Kurzübersichts-Datei (digest-file) für das Paket in /usr/portage/[category]/[package]/files/. Diese Kurzübersichts-Datei enthält die md5-Summen aller Dateien, die in SRC_URI gefunden wurden. Wenn der heruntergeladene Quellcode des Pakets verändert ist/wurde, kann dies anhand der md5-Summe festgestellt werden.
- unpack
Entpackt die Quellcodes in ein Unterverzeichnis im Build-Verzeichnis (BUILD_PREFIX), indem die src_unpack()-Funktion innerhalb der ebuild-Datei ausgeführt wird. Falls keine src_unpack()-Funktion angegeben wurde, wird eine Standard-src_unpack()-Funktion verwendet, die alle in SRC_URI angegebenen Dateien entpackt. Die Quellcodes werden normalerweise nach to ${BUILD_PREFIX}/[package]-[version-rev]/work entpackt. Dieses bestimmte Verzeichnis kann durch Ändern der ${WORKDIR}-Variablen verändert werden.
Wenn Sie ein ebuild erstellen, werden Sie sicherstellen wollen, dass die S-Variable, die ganz oben in Ihrem ebuild-Skript definiert wurde, das Verzeichnis enthält, dass Ihre entpackten Quellcodes enthält. Dieses Verzeichnis wird standardmäßig als ${WORKDIR}/${P} definiert, so dass dies nicht oft notwendig ist. Die src_unpack()-Funktion ist außerdem dafür verantwortlich, dass die notwendigen Patches am Quellcode durchgeführt werden, so dass dieser fertig zum Kompilieren ist.
- compile
Kompiliert die entpackten Quellcodes, indem die src_compile()-Funktion, die in der ebuild-Datei angegeben ist, ausgeführt wird. Wenn src_compile() startet, wird das aktuelle Arbeitsverzeichnis auf ${S} gesetzt. Nachdem src_compile() erfolgreich beendet wurde, sollten die Quellcodes komplett kompiliert worden sein.
- test
Führt einen Paket-spezifischen Test aus, um sicherzustellen, dass alles ordnungsgemäß kompiliert wurde.
- preinst
Führt Paket-spezifische Befehle aus, die notwendig sind, bevor das Paket in das aktuelle Live-Dateisystem installiert werden kann.
- install
Installiert das Paket in das temporäre Installationsverzeichnis, indem die src_install()-Funktion ausgeführt wird. Nach Ihrem erfolgreichen Durchlaufen wird das Installationsverzeichnis (${BUILD_PREFIX}/[package]-[version-rev]/image) alle Dateien enthalten, die entweder in das lokale Dateisystem gemerged oder in ein Binär-Paket eingefügt werden sollen.
- postinst
Führt notwendige Paket-spezifische Befehle nachdem das Paket in das Live-Dateisystem installiert wurde aus. Für gewöhnlich werden hier hilfreiche Nachrichten angezeigt.
- qmerge
Diese Funktion installiert alle Dateien im Installationsverzeichnis in das Live-Dateisystem. Das Ganze geht folgendermaßen vonstatten: Zuerst wird die pkg_preinst()-Funktion (sofern angegeben) ausgeführt. Danach werden die Dateien in das Live-Dateisystem gemerged und die md5-Summen der installierten Dateien werden in /var/db/pkg/${CATEOGRY}/${PN}-[version-rev]/CONTENTS gespeichert. Nachdem alle Dateien gemerged wurden, wird die pkg_postinst()-Funktion (sofern angegeben) ausgeführt.
- merge
Normalerweise muss man, um ein ebuild zu mergen, das ebuild herunterladen, entpacken, kompilieren, installieren und qmergen. Wenn Sie nur daran interessiert sind das ebuild zu mergen, können Sie dieses Kommando verwenden, das alle diese Schritte für Sie ausführen und automatisch unterbrechen wird, wenn ein einzelner Schritt nicht erfolgreich ausgeführt werden kann.
- unmerge
Diese Funktion führt zuerst die pkg_prerm()-Funktion aus (sofern angegeben). Danach entfernt sie alle Dateien aus dem Live-Dateisystem, die eine gültige md5-Prüfsumme haben und mtime in der Inhalts-Datei des Paketes. Alle leeren Verzeichnisse werden rekursiv entfernt. Zuletzt wird die pkg_postrm()-Funktion (sofern angegeben) ausgeführt. Es ist möglich, eine neue Version eines Paketes erst zu mergen und dann die alte Version zu un-mergen. Genaugenommen ist dies sogar die empfohlene Methode, um ein Paket upzugraden.
- prerm
Führt Paket-spezifische Befehle aus, die ausgeführt werden müssen, bevor das Paket aus dem Dateisystem entfernt wird. Lesen Sie dazu bitte auch den Abschnitt von unmerge.
- postrm
Führt Paket-spezifische Befehle aus, die ausgeführt werden müssen, nachdem das Paket aus dem Dateisystem entfernt wurde. Lesen Sie dazu bitte auch den Abschnitt von unmerge.
- config
Führt Paket-spezifische Befehle aus, die ausgeführt werden müssen, nachdem der emerge-Prozess erfolgreich abgeschlossen wurde. Hier werden für gewöhnlich Konfigurationsdatei-Setups oder andere ähnliche Setups, die der User möglicherweise ausführen will, gestartet.
- package
Dieser Befehl hat viel Ähnlichkeit mit dem merge-Befehl, außer dass nach dem Herunterladen, Entpacken, Kompilieren und Installieren ein tbz2 Binärpaket-Tarball erstellt und in ${PKGDIR}/All (${PKGDIR} enthält standardmäßig /usr/portage/packages) gespeichert wird. Außerdem wird ein symbolischer Link in ${PKGDIR}/${CATEGORY} erstellt, der auf das Paket in ${PKGDIR}/All zeigt.
- rpm
Erstellt ein RedHat RPM-Paket aus den Dateien im temporären Installationsverzeichnis. Momentan werden die Abhängigkeitsinformationen des ebuilds nicht in die RPM-Datei mitübernommen.
[Bearbeiten] BUGS MELDEN
Bitte melden Sie Bugs über http://bugs.gentoo.org/
[Bearbeiten] SIEHE AUCH
emerge(1), ebuild(5), make.conf(5)
Das /usr/sbin/ebuild.sh-Skript.
Die Hilfsanwendungen in /usr/lib/portage/bin.
[Bearbeiten] DATEIEN
/etc/make.conf
- Enthält Variablen für den Build-Process und überschreibt diejenigen in make.globals.
[Bearbeiten] AUTOREN
- Achim Gottinger <achim@gentoo.org>
- Daniel Robbins <drobbins@gentoo.org>
- Nicholas Jones <carpaski@gentoo.org>
- Mike Frysinger <vapier@gentoo.org>
[Bearbeiten] CVS HEADER
$Header: /var/cvsroot/gentoo-src/portage/man/ebuild.1,v 1.16 2004/09/17 00:17:10 vapier Exp $"
