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/14 22:55] – [Ebuilds einreichen] Infos auf Zustand im GitLab angepasst 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 75: Zeile 75:
  
   * 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 100: Zeile 101:
 DEPEND DEPEND
 RDEPEND RDEPEND
 +BDEPEND
  
 S S
Zeile 108: 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 115: 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 132: 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 zur Prüfung des Ebuilds verwenden
-    * //**pkgcheck scan**// (prüft Ebuilds im aktuellen Verzeichnis auf gängige Konventionen und Fehler)+    * ''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]], pkgcheck und overlint geprü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. 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 ====
  • public/technik/gentoo-overlay.txt
  • Zuletzt geändert: 2022/12/12 10:07
  • von nex