Ebuild -Struktur
Um Ihr eigenes Ebuild zu erstellen, müssen Sie mit dem richtigen * beginnen *.Ebuild -Datei. Ihre Ebuild -Datei ist das Herz Ihres gesamten Ebuilds. Die Ebuild -Datei hängt von vielen anderen Dateien ab, ähnlich wie Makeet. In den meisten Fällen hängt Ihr Ebuild von Make ab, obwohl es Ihre Wahl ist. Das Folgende ist der Baum von Neovim:
/mnt/sw/projects/system/gentoo/gentoo/app-editors/neovim
├── Dateien
│ ├── Neovim-0.4.3-GCC-10-Fix.Patch
│ ├── Neovim-0.4.4-cmake_luaversion_patch
│ ├── Neovim-0.4.4-cmake-Release-Typ.Patch
│ └── Sysinit.Vim
├── manifest
├── Metadaten.xml
├── Neovim-0.4.4-r100.Ebuild
└── Neovim-9999.Ebuild
Wofür verwenden Sie diese Dateien in Ihrer Anwendung?? Der *.Die Ebuild -Datei ist die offensichtliche Datei. Diese Datei enthält die src_uri, die direkt auf den Code hinweist. Weitere Informationen in der Datei umfassen die Beschreibung, die Website und weitere Informationen, die zum Kompilieren des Pakets erforderlich sind.
Die Manifestdatei enthält den Hash, der den Code eindeutig identifiziert.
Die Metadaten.Die XML -Datei enthält den Namen und die E -Mail -Adresse des Wartungsverwalters, den Projektnamen und einige Flags zum Kompilieren. Die Remote -Identität befindet sich auch in dieser Datei, wie das Github -Repository für den Upstream. Das Dateienverzeichnis enthält Patches, die Sie möglicherweise benötigen, und alle speziellen Einstellungen, die Sie benötigen. Das obige Beispiel zeigt eine Datei mit geeigneten Einstellungen gemäß den Gentoo -Wartenden an.
In der Ebuild -Datei
Die Werte in der Datei sind größtenteils leicht zu verstehen. Die Beschreibung und die Homepage sind für die Hilfe des Entwicklers gelten. Die EAPI -Nummer gibt an, welche Version von Gentoo ausgeführt wird. Sie haben auch die Lizenz, die ziemlich klar ist. Passen Sie die Lizenz mit dem Code an, für den Sie eine Ebuild -Datei erstellen.
Noch schwieriger ist Slot, der verwendet wird, wenn Sie mehrere Versionen benötigen. Slot verweist diesen Build dann auf die Version, die Sie unterstützen. Die meisten Software haben den Wert von 0, der nur eine Version gleichzeitig ermöglicht.
Schlüsselwörter sind der Wert, der angibt, welche Plattformen Ihr Quellcode kompilieren kann. Die gegebenen sind AMD65, x86 und möglicherweise ARM64. Eine vollständige Liste finden Sie in Ihrem Gentoo -System. Beachten Sie, dass Sie, wenn Sie einen Beitrag leisten möchten, Sie muss Stellen Sie eine Tilde (~) vor die Architektur. Dies bedeutet, dass der Code nicht getestet ist. Stellen Sie also sicher, dass der Code gut getestet wird, bevor Sie dieses Symbol entfernen. Lassen Sie viele Benutzer vorzugsweise den Code anzeigen, bevor Sie die Tilde entfernen.
Die Iuse -Variable kehrt zu den Parametern zurück, die Sie für Ihren Compiler festlegen möchten.
Sie haben auch abhängig, was in drei verschiedenen Typen erhältlich ist. Die RDepend -Werte sind die Werte, die Sie beim Ausführen des Code verwenden. Die Bdepend-Werte sind die bauabhängigen Werte. Das Paket, das Sie zu Gentoo hinzufügen möchten, enthält eine Datei, in der die erforderlichen Abhängigkeiten beschrieben werden.
Für einfache Pakete brauchen Sie nichts anderes. Das spezifische Paket, an dem Sie arbeiten. Wenn dies nicht zu dem übereinstimmt, was Gentoo -Entwickler erwartet haben, können Sie Ihre eigenen einrichten.
Funktionen
In der Datei verwendet der Installationsprogramm bestimmte Funktionen für den gesamten Prozess. Zum Beispiel, um Patches vor dem Ausführen des Befehls anzuwenden, die src_prepare () Funktion wird diese Situation bewältigen.
Der src_configure () Funktion verwendet Econf, um festzulegen, ich.e., 'Gebrauchsable.'In dieser Funktion können Sie Ihre Dateien über den Befehl zum Entpackpack auspacken. Sie können auch Args an übergeben ./Konfigurieren Sie für Ihr Projekt mithilfe econf. Wie Sie sehen können, werden diese Funktionen nach ihren Äquivalenten benannt, und viele Male vergeben sie Argumente hinweg.
Der src_install () Funktion führt die gleiche Funktion aus wie machen Installieren würde in einem C/C ++ -Build tun. Es enthält jedoch viele Optionen, die Sie im Referenzdokument nachschlagen können.
Die meisten Funktionen sind dafür vorhanden, wenn Sie eine Sonderfall -Software haben. Sie werden wahrscheinlich anfangen, diese Funktionen zu durchsuchen, wenn Sie versuchen, Ihr erstes Paket implementieren.
Beispiel: Simulide -Paketdatei
Hier präsentieren wir eine Datei, die für das Simulide -Paket erstellt wurde. Das Paket erfordert eine QT5 -Entwicklungsumgebung, sodass Sie dies in Ihrer Ebuild -Datei hinzufügen müssen. Im folgenden Bild sehen Sie die RDEPEND -Werte, die diese Idee widerspiegeln. Die Bibliotheken sind bereits in den Gentoo -Repositories enthalten, wodurch es einfach ist, darauf hinzuweisen.
# Copyright 2021 Mats Tage AxelssonIm src_prepare () Funktionen können Sie sehen, dass das Paket vor dem Gebrauch ausgepackt wird.
Overlay
Wenn Sie alle Ihre Fehler getrimmt und gereinigt haben, möchten Sie Ihr Paket möglicherweise dem Gentoo -Projekt hinzufügen. Layman wurde erstellt, damit Sie experimentelle Software für Ihre Hauptverteilungsinstallation verwenden können. Das Projekt heißt Overlays, der Befehl zur Installation heißt es Laie.
Abschluss
Das Erstellen neuer Pakete für Gentoo ist ein Unterfangen, das Ihre Fähigkeiten erstrecken kann. Trotzdem sollten Sie diesen Vorgang ziemlich schnell abholen können. Stellen Sie außerdem sicher, dass Sie so viel wie möglich in die Community zurückkehren.