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
public:technik:gentoo-overlay [2021/08/14 22:52] – [Regeln für erfolgreiche Ebuilds im FeM-Overlay] Infos über die neue CI und Hinweis zur Nutzung von pkgcheck eingefügt nexpublic:technik:gentoo-overlay [2022/12/12 10:07] (aktuell) – [Nutzung] BitBucket- und SVN-URLs entfernt, weil veraltet nex
Zeile 21: Zeile 21:
   * 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.     * 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 
-    * 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/ 
-    * 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 68: Zeile 64:
 ===== Ebuilds einreichen ===== ===== Ebuilds einreichen =====
  
-<del> +Für einen schreibenden Zugriff benötigt man einen Login im [[technik:dienste:gitlab|GitLab]]. 
-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]]. +Die ist üblicherweise der FeM LDAP-Zugang. 
- +Neue ebuilds können per Fork und anschließendem Merge Request eingericht werden. 
-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 erstellen, falls man nicht vollen Schreibzugriff benötigt. +Für zusätzliche Berechtigunge (MRs selbst mergen, Issues bearbeiten, etc.) kann man sich an <fem-overlay@technik.fem-net.de> wenden.
-</del> +
- +
-Die bestehenden Anweisungen beziehen sich auf das alte Upstream-Repository, welches bald zugunsten des [[https://gitlab.fem-net.de/gentoo/fem-overlay|GitLab-Repositorys]] nicht mehr benutzt wird.+
 ==== 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 103: Zeile 97:
 DEPEND DEPEND
 RDEPEND RDEPEND
 +BDEPEND
  
 S S
Zeile 111: 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 118: 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 135: 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 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.1628974351.txt.gz
  • Zuletzt geändert: 2021/08/14 22:52
  • von nex