Inhaltsverzeichnis

Gentoo: FeM-Overlay

Das FeM-Overlay ist von Bitbucket in das FeM-GitLab umgezogen. Die neue Upstream-URL lautet:

https://gitlab.fem-net.de/gentoo/fem-overlay.git

Bitte passt eure /etc/portage/repos.conf an und erstellt neue Commits ab sofort immer im GitLab. Der Bitbucket-Mirror wird ca. Dezember 2021 abgeschaltet.

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

Ohne Layman über repos.conf

Diese Variante bietet sich an, wenn man selber am Repository Änderungen vornehmen möchte.

[fem-overlay]
location = /var/db/repos/fem-overlay
sync-type = git
sync-uri = https://gitlab.fem-net.de/gentoo/fem-overlay.git
auto-sync = yes

Mit eselect-repository

Diese Variante verwendet in der Standardeinstellung ein Clone vom Repository mit zusätzlich generierten Metadaten, was emerge beschleunigt. Empfiehlt sich für Systeme, die das Overlay nur nutzen, aber lokal selbst keine Änderungen hinzufügen.

eselect repository enable fem-overlay

Mit Layman

Das Overlay ist in der offiziellen Liste enthalten.

Hinzufügen des Overlays

layman -a fem-overlay

layman wieder loswerden

# layman Referenzen entfernen
rm /etc/portage/repos.conf/layman.conf
sed -i -e '/source \/var\/lib\/layman\/make.conf/d' /etc/portage/make.conf
sed -i -e '/\*/d' /etc/eix-sync.conf

emerge -C layman

rm -rf /var/lib/layman

eix-sync # oder emerge --sync

Ebuilds einreichen

Für einen schreibenden Zugriff benötigt man einen Login im GitLab. Die ist üblicherweise der FeM LDAP-Zugang. Neue ebuilds können per Fork und anschließendem Merge Request eingericht werden. Für zusätzliche Berechtigunge (MRs selbst mergen, Issues bearbeiten, etc.) kann man sich an fem-overlay@technik.fem-net.de wenden.

Regeln für erfolgreiche Ebuilds im FeM-Overlay

Header

# Copyright 1999-2XXX Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

Standard-Reihenfolge

EAPI

inherit

MY_P
DESCRIPTION
HOMEPAGE
SRC_URI

LICENSE
SLOT
KEYWORDS
IUSE

DEPEND
RDEPEND
BDEPEND

S
RESTRICT

DOCS

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}" || die

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>

(Ideen aus den Coding-Standards des Sunrise-Overlays.)

Das Overlay wird bei Änderungen u.A. mittels Repoman und pkgcheck per CI-Pipeline geprüft. Zudem werden ebuilds per Tinderbox gebaut und Fehler gemeldet. Sämtliche Pakete müssen erfolgreich die CI-Pipeline durchlaufen, um akzeptiert zu werden.

Historie