Capitolo 4. Configurare kdesrc-build

Panoramica della configurazione di kdesrc-build

Per usare lo script, devi avere un file chiamato .kdesrc-buildrc nella tua cartella Home, il quale descrive i moduli che vuoi scaricare e generare, e tutte le opzioni e parametri di configurazione da usare per questi moduli.

Disposizione del file di configurazione

Configurazione globale

Il file di configurazione parte con le opzioni globali, specificate come segue:

global
nome-opzione valore-opzione
[...]
end global

Configurazione dei moduli

Seguono quindi una o più sezioni per i moduli, specificate in una delle due seguenti forme:

  • module nome-modulo
    nome-opzione valore-opzione
    [...]
    end module
    
  • module-set nome-insieme-moduli
      repository kde-projects or git://host.org/percorso/a/deposito.git
      use-modules nomi-moduli
    
    # Si possono impostare anche altre opzioni
    nome-opzione valore-opzione
    [...]
    end module-set
    

Importante

Nota che la seconda forma, con gli insiemi di moduli, funziona solo con i moduli basati su Git.

Per i moduli di Git, nome-modulo deve essere un modulo del deposito Git di KDE (per esempio, kdeartwork o kde-wallpapers).

Per i moduli di Git, il nome del modulo può essere fondamentalmente qualsiasi cosa vuoi, finché non duplica altri nomi di moduli nella configurazione. Tieni presente che la disposizione delle cartelle del codice sorgente e di generazione sarà basata sul nome del modulo se non usi l'opzione dest-dir.

Tuttavia, per gli insiemi di moduli di Git, i nomi-moduli devono corrispondere a dei veri moduli Git nel deposito (repository) scelto. Vedi git-repository-base o use-modules per maggiori informazioni.

Elaborazione dei valori delle opzioni

In generale, l'intero contenuto della riga dopo nome-opzione viene utilizzato come valore-opzione.

Una modifica che kdesrc-build esegue è la sequenza «${nome-della-opzione}» sostituita dal valore di quella opzione preso dalla configurazione globale. Questo ti permette di fare riferimento al valore di opzioni esistenti, incluse le opzioni già impostate da kdesrc-build.

Per osservarne un esempio d'uso, vedi Esempio 2.1, «Configurare Make per utilizzare tutte le CPU disponibili, con eccezioni».

Nella configurazione puoi anche introdurre le variabili globali non standard personalizzate per futuro riferimento. Per farlo, il nome della tua opzione deve essere prefissato con trattino basso (underscore). Esempio:

Esempio 4.1. Introdurre la tua opzione globale personalizzata nella configurazione per futuro riferimento

global
  _ver 6  # ← la tua variabile personalizzata (inizia col trattino basso)
  _kde ~/kde${_ver}  # ← la variabile personalizzata può contenere un'altra variabile definita
  source-dir ${_kde}/src  # ← nota che è risolta anche la variabile annidata (_kde → _ver)
end global

options kdepim
  log-dir /custom/path/logs${_ver} # ← puoi usare una variabile personalizzata proprio come una standard
end options


Gruppi «options»

C'è un ultimo tipo di voce del file di configurazione, i gruppi options, che possono essere presenti ovunque ci sia un module o un module-set.

options nome-modulo
nome-opzione valore-opzione
[...]
end options

Un gruppo options può includere opzioni impostate per sé stesso come qualsiasi dichiarazione di modulo, e viene associato al modulo corrente. Tutte le opzioni impostate in questo modo verranno usate per sostituirsi alle opzioni impostate nel modulo associato.

Importante

Il nome del modulo associato deve corrispondere al nome dato nella dichiarazione options. Fai attenzione agli errori di battitura.

Questo è utile a dichiarare un intero module-set in cui tutti i moduli devono usare le stesse opzioni, e poi usare i gruppi options per fare modifiche individuali.

I gruppi options si applicano anche agli insiemi di moduli specificati. Questo consente agli utenti esperti di usare un file di configurazione comune (che include le dichiarazioni module-set) come base, e poi eseguire modifiche alle opzioni utilizzate da questi insiemi nei file di configurazione che utilizzano il comando include per fare riferimento alla configurazione di base.

Esempio 4.2. Esempio dell'uso di options

In questo esempio scegliamo di generare tutti i moduli del raggruppamento di programmi multimediali di KDE. Però, vogliamo usare una versione diversa dell'applicazione KMix (forse per verificare la correzione di un errore). Funziona così:

module-set kde-multimedia-set
  repository kde-projects
  use-modules kde/kdemultimedia
  branch master
end module-set

# kmix fa parte del gruppo kde/kdemultimedia, e anche se non lo abbiamo mai
# nominato fin qui nel file, kdesrc-build capirà la modifica.
options kmix
  branch KDE/4.12
end options

Adesso, quando esegui kdesrc-build, tutti i programmi multimediali di KDE verranno generati dal ramo «master» del deposito sorgente, ma KMix verrà generato dal ramo precedente «KDE/4.12». Usando options non hai dovuto elencare individualmente tutti gli altri programmi multimediali di KDE per impostarli al ramo giusto.


Nota

Nota che questa funzionalità è disponibile solo a partire dalla versione 1.16 di kdesrc-build, o usando la versione di sviluppo di kdesrc-build a partire dal 12 gennaio 2014.

Includere altri file di configurazione

Nel file di configurazione puoi fare riferimento ad altri file usando la parola chiave include con un file, il che sarà come inserire il file riferito nel file di configurazione in quel punto.

Per esempio, potresti avere qualcosa di simile:

global
    include ~/common-kdesrc-build-options

    # Inserisci qui opzioni specifiche.

end global

Nota

Se non specifichi il percorso completo al file da includere, il file verrà cercato a partire dalla cartella contenente il file sorgente. Questo funziona anche ricorsivamente.

Puoi usare le variabili nel valore dell'istruzione include:

global
  _ver 6
  source-dir ~/kde${_ver}/src
  ...
  persistent-data-file ~/kde${_ver}/persistent-options.json
end global

include ~/kde6/src/kdesrc-build/data/build-include/kf${_ver}-qt${_ver}.ksb

Opzioni di configurazione comunemente usate

Segue un elenco di opzioni comunemente usate. Fai clic sull'opzione per saperne di più. Per vederne l'elenco completo, vedi la sezione chiamata «Tabella delle opzioni di configurazione disponibili».

  • cmake-options, per definire quali flag con cui configurare un modulo usando CMake.

  • branch, per ritirare da un ramo invece che master.

  • configure-flags, per definire quali flag con cui configurare Qt™.

  • install-dir, per impostare la cartella in cui installare KDE.

  • make-options, per passare opzioni al programma Make (come il numero di processori da usare).

  • qt-install-dir, per impostare la cartella in cui installare Qt™.

  • source-dir, per cambiare da dove scaricare il codice sorgente.