public:technik:gentoo-overlay

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
public:technik:gentoo-overlay [2021/08/02 17:14] – [Ohne Layman über repos.conf] Wechsel zu /var/db/repos, neues Upstream-Repo eingefügt nexpublic:technik:gentoo-overlay [2022/12/10 18:57] – [Regeln für erfolgreiche Ebuilds im FeM-Overlay] Hinweis zu automatischer Issue-Zuweisung eingefügt 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 9: Zeile 20:
  
   * URL des Overlays (git): https://gitlab.fem-net.de/gentoo/fem-overlay.git   * URL des Overlays (git): https://gitlab.fem-net.de/gentoo/fem-overlay.git
 +    * Upstream-Repository. Alle Commits werden hier in den master gemerged.
   * URL des Overlays (git, alte URL): https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git   * URL des Overlays (git, alte URL): https://bitbucket.fem.tu-ilmenau.de/scm/gentoo/fem-overlay.git
 +    * Hinweis: das Bitbucket wird per Push-Mirror aus dem GitLab gesynct. Bitte im GitLab committen.
   * URL des Overlays (svn): http://subversion.fem.tu-ilmenau.de/repository/fem-overlay/trunk/   * 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.+    * Hinweis: das Subversion wird minütlich aus dem Git-Master gesynct und ist nicht mehr schreibbar. Bitte im GitLab-Repo commiten.
  
 ==== Ohne Layman über repos.conf ==== ==== Ohne Layman über repos.conf ====
Zeile 54: Zeile 67:
  
 ===== 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 85: Zeile 101:
 DEPEND DEPEND
 RDEPEND RDEPEND
 +BDEPEND
  
 S S
Zeile 93: Zeile 110:
  
   * 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 100: Zeile 117:
  
 # 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 117: Zeile 134:
 </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 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 mittels [[https://wiki.gentoo.org/wiki/Repoman|Repoman]] [[https://bamboo.fem.tu-ilmenau.de/browse/OVERLAY-CHECK|überprüft]].+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 ====
Zeile 131: Zeile 155:
   * 2017-11-23 - Migration auf Git   * 2017-11-23 - Migration auf Git
   * 2018-03-23 - Aufnahme in overlays.gentoo.org   * 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.txt
  • Zuletzt geändert: 2022/12/12 10:07
  • von nex