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
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
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
Das Overlay ist in der offiziellen Liste enthalten.
Hinzufügen des Overlays
layman -a fem-overlay
# 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
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.
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
${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}" || 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>
pkgdev manifest
repoman manifest
repoman full -dx
(Prüft alle Ebuilds im aktuellen Verzeichnis)repoman commit
pkgdev commit
pkgcheck scan
(prüft Ebuilds im aktuellen Verzeichnis auf gängige Konventionen und Fehler)(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.
api.gentoo.org
auf GitHub