public:technik:gentoo-overlay

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

[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

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

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.

  • 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.)

  • ca. 2008 - Das Overlay wurde angelegt
  • 2017-11-23 - Migration auf Git
  • public/technik/gentoo-overlay.1521063645.txt.gz
  • Zuletzt geändert: 2018/03/14 22:40
  • von frainz