KDE-Software ist in „Module“ unterschiedlicher Größe zusammengefasst. Ursprünglich war das nur eine lockere Gruppe weniger großer Module, aber mit der Einführung Git-basierter Quelltextarchive wurden diese großen Module in viele kleinere Module aufgeteilt.
kdesrc-build benutzt gleichfalls dies Modulkonzept. Im Wesentlichen ist ein „module“ eine Zusammenfassung von Quelltexten, die heruntergeladen, erstellt, getestet und installiert werden kann.
Es ist einfach möglich, mit kdesrc-build nur ein einzelnes Modul zu erstellen. Die folgenden Befehle sind ein Beispiel dafür, wie ein einzelnes Modul aus einem Subversion-Versionsverwaltungssystemen in der Einrichtungsdatei einzutragen ist.
modulekdefoo
end module
cmake-options -DCMAKE_BUILD_TYPE=Debug
Tipp
Da die Option repository nicht verwendet wird, handelt es sich um ein Modul aus einem Subversion-Versionsverwaltungssystem. Die Option cmake-options
ist nur als Beispiel aufgeführt, aber nicht erforderlich.
Zurzeit sind die meisten KDE-Quelltextmodule in Git-Versionsverwaltungssystemen. Sie sind normalerweise in Super-Modulen zusammengefasst.
Daher unterstützt kdesrc-build ebenfalls Super-Module mit Modulgruppen. Ein Beispiel:
module-setbase-modules
repository
kde-projectsuse-modules
kde-runtime kde-workspace kde-baseapps
end module-set
Tipp
Der Name der Modulgruppe (hier base-modules
) darf auch leer sein. Die Einstellung repository
gibt an, von wo der Quelltext heruntergeladen werden soll, aber es kann auch eine git://-URL benutzt werden.
Die besondere Eigenschaft der Option „repository
kde-projects
“ liegt darin, dass kdesrc-build automatisch alle Git-Module einschließt, die in diesem Modul in der KDE-Projektdatenbank enthalten sind.
Bei der Weiterentwicklung des Konzepts der Modul-Gruppen stellte sich heraus, dass es für KDE-Entwickler immer schwieriger wird, die Namen von Git-Zweigen in einer Vielzahl von Quelltextarchiven abzugleichen, besonders beim Entwicklungssprung für das neue KDE Frameworks für Qt™ 5.
Dazu wurde das Konzept von „Zweiggruppen“ entwickelt. Es ermöglicht Benutzern und Entwicklern, nur eine von wenigen Gruppen zu wählen. Das Skript kann dann automatisch den passenden Git-Zweig ermitteln.
kdesrc-build unterstützt diese Funktion seit Version 1.16-pre2 mit der Option branch-group.
Beispiel A.1. Beispiel für die Anwendung von „branch-group“
„branch-group“ kann in der Einrichtungsdatei wie folgt benutzt werden:
global # Wählt KDE Frameworks 5 und andere Qt5-basierte Programmebranch-group
kf5-qt5
# Weitere globale Optionen hier ... end global module-set # branch-group funktioniert nur für KDE-Projekterepository
kde-projects # branch-group wird von der global definierten Einstellung benutzt, # aber kann hier angegeben werden.use-modules
kdelibs kde-workspace
end module-set # Der Zweig für kdelibs ist "frameworks" # Der Zweig für kde-workspace ist "master" (Stand August 2013)
In diesem Fall ergibt dieselbe Option branch-group
unterschiedliche Zweignamen für jedes Git-Modul.
Diese Funktion erfordert einige Daten, die von KDE-Entwicklern in einem Git-Archiv mit dem Namen kde-build-metadata
verwaltet werden. Dieses Modul wird automatisch durch kdesrc-build mit heruntergeladen, wie Sie in der Ausgabe des Skripts lesen können.
Tipp
Bei KDE-Modulen, für die kein Zweignamen für die von Ihnen ausgewählte Zweiggruppe festgelegt ist, haben als Voreinstellung einen passenden Zweignamen, so als wenn Sie die Option branch-group
nicht angegeben hätten.