Dies ist eine alte Version des Dokuments!
Gentoo: FeM-Overlay
Das FeM-Overlay ist ein Portage Overlay für die Gentoo Paketverwaltung. Hier werden Ebuilds und Patches für Software gepflegt, die auf FeM Servern Einsatz findet, so aber nicht im offiziellen Portage-Tree enthalten ist.
Hinweis: Manchmal sind Pakete nur temporär im FeM-Overlay bis die Erweiterungen / Patches in den offiziellen Portage-Tree eingepflegt wurden.
Kontaktadresse: fem-overlay@technik.fem-net.de
Nutzung
- URL des Overlays (git): https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git
- URL des Overlays (svn): http://subversion.fem.tu-ilmenau.de/repository/fem-overlay/trunk/
- Hinweis: das Subversion wird minütlich aus dem Git-Master gesynct und ist nicht mehr schreibbar. Bitte im Git-Repo commiten.
Ohne Layman über repos.conf
[fem-overlay] location = /usr/local/overlay/fem-overlay sync-type = git sync-uri = https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git auto-sync = yes
Mit Layman
Für das FeM-Overlay benötigt Layman Subversion-Support:
echo "app-portage/layman subversion" >> /etc/portage/package.use/layman emerge app-portage/layman
Hinzufügen des Overlays
layman --overlays=http://subversion.fem.tu-ilmenau.de/repositories.xml -L -a fem-overlay
Ebuilds einreichen
Für einen schreibenden Zugriff braucht man ein Login im JIRA (und damit im Bitbucket) (Registrierung) und wendet sich dann an fem-overlay@technik.fem-net.de.
Mit einem Bitbucket-Login allein kann man aber bereits sich das Repo forken, eine Änderung in einem Branch commiten und einen Pull-Request erstellen, falls man nicht vollen Schreibzugriff benötigt.
Regeln für erfolgreiche Ebuilds im FeM-Overlay
- Verwende bei neuen Ebuilds die aktuellste EAPI. (EAPI Cheat-Sheet)
- Im Files-Ordner sollen keine Archive, sondern nur Skripte und Patches liegen.
- Alle Ebuilds besitzen einen validen Header
Header
# Copyright 1999-2XXX Gentoo Foundation # Distributed under the terms of the GNU General Public License v2
- Variablen sollten in der richtigen Standard-Reihenfolge vorliegen
Standard-Reihenfolge
EAPI inherit MY_P DESCRIPTION HOMEPAGE SRC_URI LICENSE SLOT KEYWORDS IUSE DEPEND RDEPEND S RESTRICT DOCS
- Variablen, die evtl. Leerzeichen enthalten könnten müssen bei Verwendung mit Kommandos gequotet werden
- standardmäßig: ${S}, ${WORKDIR}, ${FILESDIR}, ${DISTDIR}, ${ROOT}, ${D}
Beispiel
# Quoting nicht nötig, da Ergebnis eine Variable ist S=${WORKDIR}/${PN} # Quoting nötig, da der Pfad u.U. Leerzeichen enthält cd "${S}"
- möglichst eine metadata.xml anlegen mit Informationen, wer das Paket im Overlay betreut und welche Useflags verwendet werden
Beispiel für metadata.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> <email>mamu@fem.tu-ilmenau.de</email> <name>Max Mustermann</name> </maintainer> <use> <flag name="ftps">Support for backing up on FTPS</flag> </use> </pkgmetadata>
- RepoMan zur Prüfung des Ebuilds verwenden
- Verwendung:
- repoman manifest (Erstellt Manifest neu)
- repoman (Prüft alle Ebuilds im aktuellen Verzeichnis)
- repoman commit (Erstellt einen Commit und fügt Metainformationen hinzu, falls die Prüfung erfolgreich war)
(Ideen von aus den Coding-Standards des Sunrise-Overlays.)
Historie
- ca. 2008 - Das Overlay wurde angelegt
- 2017-11-23 - Migration auf Git