Difference between revisions 141395457 and 141395587 on dewiki{{Importartikel}} {{Infobox Software | name = Portage | logo = | screenshot = [[image:Portage-oppdatering.png|250px]] | caption = Portage in action | author = (contracted; show full)irrors]]. New and updated ebuilds can be obtained by synchronizing the local ebuild repository with the mirrors. This is done by executing the command <tt>emerge --sync</tt>. Historically, Gentoo has provided pre-compiled binary packages for many common programs, especially those which are lengthy to compile, such as [[Mozilla Firefox]] and [[OpenOffice.org]]. These are still installed with emerge, just by appending a "-bin" to the package name to instead install the binary version. Ein '''Ebuild''' ist ein [[Skriptsprache|Skript]], das Informationen über ein Programmpaket enthält und dessen [[Installation (Computer)|Installation]] steuert. Das Ebuild-Format ist eine [[domänenspezifische Sprache]], die [[Bourne-again shell|bash]] als Grundlage hat. Es wird in [[Gentoo Linux]] für die [[Paketverwaltung]] verwendet, z. B. vom Paketmanager [[Gentoo Linux#Portage|Portage]]. ==== Aufbau ==== Ebuilds definieren zunächst einen festgelegten Satz von [[Variable (Programmierung)|Variablen]]. Diese enthalten zum einen Informationen für den Benutzer, wie etwa eine Kurzbeschreibung des Pakets oder den [[Uniform Resource Identifier|URI]] der [[Homepage]]. Andere Variablen werden vom Paketmanager ausgewertet, beispielsweise die Information, von wo der [[Quelltext]] [[Download|heruntergeladen]] werden kann, die [[Lizenz]] des Pakets oder für welche [[Rechnerarchitektur]]en es unterstützt wird. Auch Abhängigkeiten von anderen Paketen wie [[Programmbibliothek]]en, die für das Programm benötigt werden, können durch Variablen spezifiziert werden. Danach werden in der Regel mehrere [[Funktion (Programmierung)|Funktionen]] definiert, die Anweisungen zum [[Archiver|Auspacken]], [[Patch (Software)|Patchen]], [[Compiler|Kompilieren]] und [[Installation (Computer)|Installieren]] der Software enthalten. Für die meisten Funktionen gibt es einen vom Paketmanager vorgegebenen [[Voreinstellung|Default]], so dass nicht jedes Ebuild alle Funktionen definieren muss. Wenn ein Programmpaket beispielsweise nach dem Auspacken nur mit der Standard-Befehlssequenz ''./[[configure]], [[make]]'' und ''make install'' kompiliert und installiert werden kann, so käme das zugehörige Ebuild ganz ohne die Definition spezieller Funktionen aus. ==== Benennung ==== Die Benennung von ebuilds erfolgt nach einem strengen 4-teiligen Schema: # Der Allgemeine Paketname, wie z. B. [[KDE|''kde'']] oder ''[[mod_php]]'' sollte nur aus Kleinbuchstaben, Ziffern und einer beliebigen Anzahl von einzelnen Bindestrichen ('-') oder Unterstrichen ('_') bestehen # Die Version des Paketes sollte übereinstimmen mit der Version des Archives, das zur Installation genutzt wird. Heißt das Archiv also programm-2.5.9.tar.gz, so sollte die angegebene Version im ebuild auch 2.5.9 lauten. # Der letzte Teil ist optional und beinhaltet [[Suffix]]e wie [[Alpha-Version|alpha]], [[Beta-Version|beta]], pre oder [[Release Candidate|rc]] und bestimmt somit die angegebene Version im 2. Teil näher. # Die Revisionsnummer ist optional und wird nur verwendet, wenn das ebuild verbessert wurde (z. B. wenn zusätzliche [[Patch (Software)|Fehlerbereinigungen]] hinzugefügt werden, aber das Ebuild weiterhin dieselbe Software-Version installiert (sogenannter "revisionbump")). # Zwar kein Teil des ebuilds, dennoch sehr wichtig ist die Dateiendung '.ebuild'. Beispiel: make-3.82-r4.ebuild ==== Eclass ==== Um das Schreiben von ebuilds für die Entwickler zu vereinfachen, gibt es sogenannte eclasses. In diesen werden Funktionen für immer wiederkehrende Aufgaben eingetragen, wie z.B. das Erstellen eines [[Concurrent Versions System|CVS]]-Ebuilds oder Funktionen zur Installation eines [[Linux (Kernel)|Linux-Kernels]].⏎ ⏎ ===Binary packages=== Gentoo does have a binary packaging format, which is a ''.tbz2'' file ([[tar (file format)|tar]] with [[bzip2]] compression) with additional [[metadata]]. This feature enables the building of binary packages on one system (using Portage's <tt>buildpkg</tt> or <tt>quickpkg</tt>) followed by quick installation on other, identical systems (with Portage's <tt>getbinpkg</tt> or <tt>emerge -K</tt>). See [http://www(contracted; show full) * [http://forums.gentoo.org/viewtopic.php?t=125553 Installing portage on other Linux distros] ; Similar software * [http://freaknet.org/alpt/Emerde/ Emerde, portage-like project for Slackware] * [https://code.google.com/p/pkgcore/ Pkgcore], bsd re-implementation of portage * [http://paludis.exherbo.org/ Paludis], another package manager that uses ebuilds * [https://wiki.archlinux.org/index.php/Arch_Build_System Arch Build System] a ports-like system for [http://www.archlinux.org/ Arch Linux] Ein '''Ebuild''' ist ein [[Skriptsprache|Skript]], das Informationen über ein Programmpaket enthält und dessen [[Installation (Computer)|Installation]] steuert. Das Ebuild-Format ist eine [[domänenspezifische Sprache]], die [[Bourne-again shell|bash]] als Grundlage hat. Es wird in [[Gentoo Linux]] für die [[Paketverwaltung]] verwendet, z. B. vom Paketmanager [[Gentoo Linux#Portage|Portage]]. == Aufbau == Ebuilds definieren zunächst einen festgelegten Satz von [[Variable (Programmierung)|Variablen]]. Diese enthalten zum einen Informationen für den Benutzer, wie etwa eine Kurzbeschreibung des Pakets oder den [[Uniform Resource Identifier|URI]] der [[Homepage]]. Andere Variablen werden vom Paketmanager ausgewertet, beispielsweise die Information, von wo der [[Quelltext]] [[Download|heruntergeladen]] werden kann, die [[Lizenz]] des Pakets oder für welche [[Rechnerarchitektur]]en es unterstützt wird. Auch Abhängigkeiten von anderen Paketen wie [[Programmbibliothek]]en, die für das Programm benötigt werden, können durch Variablen spezifiziert werden. Danach werden in der Regel mehrere [[Funktion (Programmierung)|Funktionen]] definiert, die Anweisungen zum [[Archiver|Auspacken]], [[Patch (Software)|Patchen]], [[Compiler|Kompilieren]] und [[Installation (Computer)|Installieren]] der Software enthalten. Für die meisten Funktionen gibt es einen vom Paketmanager vorgegebenen [[Voreinstellung|Default]], so dass nicht jedes Ebuild alle Funktionen definieren muss. Wenn ein Programmpaket beispielsweise nach dem Auspacken nur mit der Standard-Befehlssequenz ''./[[configure]], [[make]]'' und ''make install'' kompiliert und installiert werden kann, so käme das zugehörige Ebuild ganz ohne die Definition spezieller Funktionen aus. == Benennung == Die Benennung von ebuilds erfolgt nach einem strengen 4-teiligen Schema: # Der Allgemeine Paketname, wie z. B. [[KDE|''kde'']] oder ''[[mod_php]]'' sollte nur aus Kleinbuchstaben, Ziffern und einer beliebigen Anzahl von einzelnen Bindestrichen ('-') oder Unterstrichen ('_') bestehen # Die Version des Paketes sollte übereinstimmen mit der Version des Archives, das zur Installation genutzt wird. Heißt das Archiv also programm-2.5.9.tar.gz, so sollte die angegebene Version im ebuild auch 2.5.9 lauten. # Der letzte Teil ist optional und beinhaltet [[Suffix]]e wie [[Alpha-Version|alpha]], [[Beta-Version|beta]], pre oder [[Release Candidate|rc]] und bestimmt somit die angegebene Version im 2. Teil näher. # Die Revisionsnummer ist optional und wird nur verwendet, wenn das ebuild verbessert wurde (z. B. wenn zusätzliche [[Patch (Software)|Fehlerbereinigungen]] hinzugefügt werden, aber das Ebuild weiterhin dieselbe Software-Version installiert (sogenannter "revisionbump")). # Zwar kein Teil des ebuilds, dennoch sehr wichtig ist die Dateiendung '.ebuild'. Beispiel: make-3.82-r4.ebuild == Eclass == Um das Schreiben von ebuilds für die Entwickler zu vereinfachen, gibt es sogenannte eclasses. In diesen werden Funktionen für immer wiederkehrende Aufgaben eingetragen, wie z.B. das Erstellen eines [[Concurrent Versions System|CVS]]-Ebuilds oder Funktionen zur Installation eines [[Linux (Kernel)|Linux-Kernels]].⏎ ⏎ == Literatur == * Tobias Scherbaum: ''Gentoo Linux: Die Metadistribution.'' 2. Auflage. Mitp-Verlag, Heidelberg 2008, ISBN 978-3-8266-5941-6. * Christoph Junghans, Andreas K. Hüttel, Ulrich Müller: ''Maßarbeit – Gentoo Linux: Quelltexte und Rolling Releases.'' In: ''[[c’t|c’t – Magazin für Computertechnik]].'' Jg. 2012, Nr. 16. [[Heise Zeitschriften Verlag]], {{ISSN|0724-8679}}, S. 162–164. == Weblinks == * [http://devmanual.gentoo.org/ Gentoo Development Guide] (englisch), umfasst u. a. eine ausführliche Referenz zum Ebuild-Scripting. * [http://distfiles.gentoo.org/distfiles/pms-5.pdf Package Manager Specification] (englisch), genaue Spezifikation des Ebuild-Formats. All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://de.wikipedia.org/w/index.php?diff=prev&oldid=141395587.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|