KDE-Paketierung
Dieses Dokument beschreibt die besten Vorgehensweisen für das Paketieren von Software der KDE Frameworks zur Verwendung in Fedora.
Bauabhängigkeiten
Bei Verwendung von CMake sind die folgenden BuildRequires ein MUSS:
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: kf6-rpm-macros
kf6-rpm-macros muss in kf5-rpm-macros geändert werden, wenn für Plasma 5 anstatt für Plasma 6 gebaut wird.
Verfügbare Makros
Die folgenden Makros werden beim Erstellen von KDE-Paketen verwendet. Beachten Sie, dass die Version der Makros (d. h. %cmake_kf5 und %cmake_kf6) je nach der Version von Plasma, für die Sie bauen, geändert werden kann.
%cmake_kf6-
Ähnlich wie
%cmakedefiniert dieses Makro CFLAGS, LDFLAGS usw. und ruft%__cmakemit den entsprechenden Parametern auf (z. B.-DCMAKE_INSTALL_PREFIX:PATH=/usr), jedoch mit zusätzlichen KDE-spezifischen Flags und Parametern. Sie können-Doption=Wertan dieses Makro übergeben, um Optionen für das Buildsystem festzulegen. %stable_kf6-
Wird in den Quellcode-Links des Pakets verwendet, sofern das Paket auf dem offiziellen KDE-Downloadserver veröffentlicht ist. Gibt je nach Paketversion entweder
stableoderunstableaus.
Hier ein Beispiel, wie das aussehen könnte:
Source0: http://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz
%find_lang_kf6-
Dieses Makro wird manchmal anstelle von
%find_langin Paketen verwendet, die Sprachdateien mit der Endung_qt.qmverwenden.
Makros für von Buildsystemen gesetzte und verwendete Pfade
Die folgende Tabelle listet Makros auf, die in .spec-Dateien in Fedora häufig verwendet werden. Diese Makros werden von den Paketen kf5-rpm-macros (für Plasma 5) und kf6-rpm-macros (für Plasma 6) bereitgestellt.
Bei Plasma 5 kann die Versionsnummer der folgenden Makros einfach so geändert werden, dass sie die Plasma 5-Version widerspiegelt (zum Beispiel würde %{_kf6_datadir} zu %{_kf5_datadir} werden).
| Makro | Definition | Kommentar |
|---|---|---|
|
|
|
|
|
Vorgabe: |
|
|
|
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
|
|
Vorgabe: |
Want to help? Learn how to contribute to Fedora Docs ›