public:technik:gentoo-overlay

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
public:technik:gentoo-overlay [2018/03/14 22:40] – angelegt frainzpublic:technik:gentoo-overlay [2022/12/12 10:07] (aktuell) – [Nutzung] BitBucket- und SVN-URLs entfernt, weil veraltet nex
Zeile 1: Zeile 1:
 ====== Gentoo: FeM-Overlay ====== ====== Gentoo: FeM-Overlay ======
 +
 +<WRAP warning 50% center>
 +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.
 +</WRAP>
 +
 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.  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. 
  
Zeile 8: Zeile 19:
 ===== Nutzung ===== ===== Nutzung =====
  
-  * URL des Overlays (git): https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git +  * URL des Overlays (git): https://gitlab.fem-net.de/gentoo/fem-overlay.git 
-  * URL des Overlays (svn): http://subversion.fem.tu-ilmenau.de/repository/fem-overlay/trunk/ +    * Upstream-RepositoryAlle Commits werden hier in den master gemerged.
-    * Hinweis: das Subversion wird minütlich aus dem Git-Master gesynct und ist nicht mehr schreibbarBitte im Git-Repo commiten.+
  
 ==== Ohne Layman über repos.conf ==== ==== Ohne Layman über repos.conf ====
 +Diese Variante bietet sich an, wenn man selber am Repository Änderungen vornehmen möchte.
 <code> <code>
 [fem-overlay] [fem-overlay]
-location = /usr/local/overlay/fem-overlay+location = /var/db/repos/fem-overlay
 sync-type = git sync-type = git
-sync-uri = https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git+sync-uri = https://gitlab.fem-net.de/gentoo/fem-overlay.git
 auto-sync = yes auto-sync = yes
 </code> </code>
  
-==== Mit Layman ==== +==== Mit eselect-repository ==== 
-Für das FeM-Overlay benötigt Layman Subversion-Support:+Diese Variante verwendet in der Standardeinstellung ein [[https://github.com/gentoo-mirror/fem-overlay|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.
 <code> <code>
-echo "app-portage/layman subversion" >> /etc/portage/package.use/layman +eselect repository enable fem-overlay
-emerge app-portage/layman+
 </code> </code>
 +
 +==== Mit Layman ====
 +Das Overlay ist in der offiziellen Liste enthalten.
  
 Hinzufügen des Overlays Hinzufügen des Overlays
 <code> <code>
-layman --overlays=http://subversion.fem.tu-ilmenau.de/repositories.xml -L -a fem-overlay+layman -a fem-overlay
 </code> </code>
 +
 +=== layman wieder loswerden ===
 +<code>
 +# 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
 +</code>
 +
  
 ===== Ebuilds einreichen ===== ===== Ebuilds einreichen =====
-Für einen schreibenden Zugriff braucht man ein Login im [[technik:server:jira|JIRA]] (und damit im [[technik:server:repository#bitbucket|Bitbucket]]) ([[https://jira.fem.tu-ilmenau.de/secure/Signup!default.jspa|Registrierung]]) und wendet sich dann an [[fem-overlay@technik.fem-net.de]]. 
  
-Mit einem Bitbucket-Login allein kann man aber bereits sich das [[https://bitbucket.fem.tu-ilmenau.de/projects/GENTOO/repos/fem-overlay?fork|Repo forken]], eine Änderung in einem Branch commiten und einen Pull-Request erstellenfalls man nicht vollen Schreibzugriff benötigt.+Für einen schreibenden Zugriff benötigt man einen Login im [[technik:dienste:gitlab|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 mergenIssues bearbeiten, etc.) kann man sich an <fem-overlay@technik.fem-net.de> wenden.
 ==== Regeln für erfolgreiche Ebuilds im FeM-Overlay ==== ==== Regeln für erfolgreiche Ebuilds im FeM-Overlay ====
  
   * Verwende bei neuen Ebuilds die aktuellste [[http://devmanual.gentoo.org/ebuild-writing/eapi/index.html|EAPI]]. ([[http://dev.gentoo.org/~ulm/pms/head/eapi-cheatsheet.pdf|EAPI Cheat-Sheet]])   * Verwende bei neuen Ebuilds die aktuellste [[http://devmanual.gentoo.org/ebuild-writing/eapi/index.html|EAPI]]. ([[http://dev.gentoo.org/~ulm/pms/head/eapi-cheatsheet.pdf|EAPI Cheat-Sheet]])
 +    * Einzelne eclasses unterstützen nicht die neueste EAPI. In diesem Fall kann die nächstältere benutzt werden. EAPIs, die im Overlay als veraltet markiert sind, //dürfen nicht// in neuen ebuilds benutzt werden.
   * Im Files-Ordner sollen keine Archive, sondern nur Skripte und Patches liegen.   * Im Files-Ordner sollen keine Archive, sondern nur Skripte und Patches liegen.
   * Alle Ebuilds besitzen einen validen Header   * Alle Ebuilds besitzen einen validen Header
 <code|Header> <code|Header>
-# Copyright 1999-2XXX Gentoo Foundation+# Copyright 1999-2XXX Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2 # Distributed under the terms of the GNU General Public License v2
 </code> </code>
Zeile 65: Zeile 97:
 DEPEND DEPEND
 RDEPEND RDEPEND
 +BDEPEND
  
 S S
Zeile 73: Zeile 106:
  
   * Variablen, die evtl. Leerzeichen enthalten könnten müssen bei Verwendung mit Kommandos gequotet werden   * Variablen, die evtl. Leerzeichen enthalten könnten müssen bei Verwendung mit Kommandos gequotet werden
-    * standardmäßig: ${S}, ${WORKDIR}, ${FILESDIR}, ${DISTDIR}, ${ROOT}, ${D}+    * standardmäßig: ''${S}, ${WORKDIR}, ${FILESDIR}, ${DISTDIR}, ${ROOT}, ${D}''
  
 <code|Beispiel> <code|Beispiel>
Zeile 80: Zeile 113:
  
 # Quoting nötig, da der Pfad u.U. Leerzeichen enthält # Quoting nötig, da der Pfad u.U. Leerzeichen enthält
-cd "${S}"+cd "${S}" || die
 </code> </code>
  
-  * möglichst eine metadata.xml anlegen mit Informationen, wer das Paket im Overlay betreut und welche Useflags verwendet werden+  * möglichst eine metadata.xml anlegen mit Informationen, wer das Paket im Overlay betreut und welche Useflags verwendet werden. Die E-Mail-Adressen der Betreuer werden in der [[https://gitlab.fem-net.de/gentoo/fem-overlay-ci-tools/-/settings/ci_cd|CI-Konfiguration]] der fem-overlay-ci-tools hinterlegt, um eine automatische Zuweisung von Issues aufgrund der betroffenen Pakete zu ermöglichen.
 <file|Beispiel für metadata.xml> <file|Beispiel für metadata.xml>
 <?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
Zeile 97: Zeile 130:
 </pkgmetadata> </pkgmetadata>
 </file> </file>
 +  * Manifest erstellen mit pkgdev oder RepoMan:
 +    * ''pkgdev manifest''
 +    * ''repoman manifest''
   * RepoMan zur Prüfung des Ebuilds verwenden   * RepoMan zur Prüfung des Ebuilds verwenden
-    * Verwendung: +      ''repoman full -dx'' (Prüft alle Ebuilds im aktuellen Verzeichnis) 
-      * //**repoman manifest**// (Erstellt Manifest neu) +  * pkgdev oder RepoMan zum commiten benutzen 
-      * //**repoman**// (Prüft alle Ebuilds im aktuellen Verzeichnis) +      * ''repoman commit'' 
-      * //**repoman commit**// (Erstellt einen Commit und fügt Metainformationen hinzu, falls die Prüfung erfolgreich war)+      ''pkgdev commit'' 
 +  pkgcheck zur Prüfung des Ebuilds verwenden 
 +    * ''pkgcheck scan'' (prüft Ebuilds im aktuellen Verzeichnis auf gängige Konventionen und Fehler)
  
-(Ideen von aus den [[http://overlays.gentoo.org/proj/sunrise/wiki/CodingStandards|Coding-Standards des Sunrise-Overlays]].)+(Ideen aus den [[http://overlays.gentoo.org/proj/sunrise/wiki/CodingStandards|Coding-Standards des Sunrise-Overlays]].) 
 + 
 +Das Overlay wird bei Änderungen u.A. mittels [[https://wiki.gentoo.org/wiki/Repoman|Repoman]] und pkgcheck per CI-Pipeline geprüft. 
 +Zudem werden ebuilds per [[https://blogs.gentoo.org/ago/2020/07/04/gentoo-tinderbox/|Tinderbox]] gebaut und Fehler gemeldet. 
 +**Sämtliche Pakete müssen erfolgreich die CI-Pipeline durchlaufen, um akzeptiert zu werden.**
  
 ==== Historie ==== ==== Historie ====
   * ca. 2008 - Das Overlay wurde angelegt   * ca. 2008 - Das Overlay wurde angelegt
   * 2017-11-23 - Migration auf Git   * 2017-11-23 - Migration auf Git
 +  * 2018-03-23 - Aufnahme in overlays.gentoo.org 
 +  * 2021-07-29 - Erste Arbeiten an der Umstellung auf den neuen Upstream https://gitlab.fem-net.de/gentoo/fem-overlay 
 +  * 2021-08-02 - Änderung des Upstream-Repos für ''api.gentoo.org'' auf GitHub 
 +  * 2021-08-13 - Das Overlay benutzt nun das GitLab als Upstream-Repository
  • public/technik/gentoo-overlay.1521063645.txt.gz
  • Zuletzt geändert: 2018/03/14 22:40
  • von frainz