Apèndix A. Mòduls del KDE i organització del codi font

El «Mòdul»

El KDE agrupa el seu programari en «mòduls» de diverses mides. Inicialment, aquesta era una agrupació flexible d'alguns mòduls grans, però amb la introducció dels repositoris de codi font basats en Git, aquests mòduls grans es van dividir encara més en molts mòduls més petits.

El kdesrc-build també utilitza aquest concepte de mòdul. En essència, un «mòdul» és una agrupació de codi que es pot descarregar, construir, provar i instal·lar.

Mòduls individuals

És fàcil establir el kdesrc-build per a construir un mòdul únic. La llista següent és un exemple de com es veuria una declaració per a un mòdul basat en Git al fitxer de configuració.

module kdefoo
    cmake-options -DCMAKE_BUILD_TYPE=Debug
end module

Suggeriment

Aquest és un mòdul basat en Git, ja que no utilitza una opció repository. A més, l'opció cmake-options només es llista com un exemple, no és obligatòria.

Grups de mòduls relacionats

Ara, la majoria dels mòduls de codi font del KDE estan basats en Git, i normalment es combinen en grups de mòduls.

Per tant, el kdesrc-build també admet grups de mòduls, utilitzant conjunts de mòduls («module-set»). Un exemple:

module-set mòduls_base
    repository kde-projects
    use-modules kde-runtime kde-workspace kde-baseapps
end module-set

Suggeriment

Si voleu, podeu deixar el nom del conjunt de mòduls (mòduls_base) buit. Aquesta opció repository li diu al kdesrc-build des d'on descarregar el codi font, però també podeu utilitzar un URL git://.

Una característica especial del «repository kde-projects» és que el kdesrc-build inclourà automàticament qualsevol mòdul de Git que s'agrupi sota els mòduls que llisteu (a la base de dades del Projecte KDE).

Mòduls «branch-group»

Portant el concepte d'un branch-group més enllà, els desenvolupadors del KDE finalment van descobrir que sincronitzar els noms de les branques a Git en un gran nombre de repositoris s'estava tornant difícil, especialment durant l'impuls de desenvolupament per als nous Frameworks del KDE per a les Qt™ 5.

Per tant, es va desenvolupar el concepte dels «branch-group», per a permetre als usuaris i desenvolupadors seleccionar només uns quants grups, i permetre que l'script seleccioni automàticament la branca Git adequada.

El kdesrc-build admet aquesta característica a partir de la versió 1.16-pre2, a través de l'opció branch-group.

Exemple A.1. Exemple d'ús de «branch-group»

«branch-group» es pot utilitzar al fitxer de configuració de la següent manera:

global
    # Selecciona els Frameworks 5 del KDE i altres aplicacions basades en les Qt5
    branch-group kf5-qt5

    # Les altres opcions globals van aquí...
end global

module-set
    # «branch-group» només funciona per a «kde-projects»
    repository kde-projects

    # «branch-group» s'hereta del conjunt global, però es pot especificar
    # aquí.

    use-modules kdelibs kde-workspace
end module-set

# La branca del kdelibs serà «frameworks»
# La branca del kde-workspace serà «master» (l'agost de 2013)

En aquest cas, el mateix branch-group proporciona diferents noms de branca per a cada mòdul Git.


Aquesta característica requereix algunes dades mantingudes pels desenvolupadors del KDE en un repositori de Git anomenat kde-build-metadata, però aquest mòdul serà inclòs automàticament pel kdesrc-build (encara que veureu que apareix a la sortida de l'script).

Suggeriment

Els mòduls del KDE que no tenen establert un nom de branca per al grup de branques que trieu, tindran el nom de la branca adequada, com si no haguéssiu especificat cap branch-group.