Funzionalità di base di kdesrc-build

Supporto per qt

kdesrc-build supporta la generazione delle librerie Qt™ usate dal software di KDE come comodità per gli utenti. Questo supporto viene gestito da un modulo speciale chiamato qt.

Nota

Qt™ è sviluppato in un deposito separato dal software di KDE, che si trova a http://code.qt.io/cgit/qt/.

Per generare Qt™, dovresti assicurarti che l'opzione qt-install-dir sia impostata alla cartella in cui vorresti installare Qt™, come descritto in la sezione chiamata «Impostare i dati della configurazione».

Dovresti quindi assicurarti che il modulo qt sia aggiunto a .kdesrc-buildrc prima di ogni altro modulo nel file. Se stai usando il file di configurazione campione, puoi semplicemente decommentare la voce di qt ivi presente.

Dovresti verificare che le opzioni repository e branch siano impostate correttamente:

  1. La prima possibilità è generare Qt™ con un mirror gestito dai depositi di codice sorgente di KDE (non vengono applicate modifiche, visto che è semplicemente un clone del sorgente ufficiale). Questo è decisamente raccomandato a causa di problemi occasionali nel clonare l'intero modulo di Qt™ dal suo deposito ufficiale.

    Puoi impostare l'opzione repository per il modulo qt a kde:qt per usare questa opzione.

  2. Altrimenti, per generare le Qt™ standard, imposta l'opzione repository a git://gitorious.org/qt/qt.git. Nota che potresti avere problemi ad effettuare il clone iniziale di Qt™ da questo deposito.

In entrambi i casi, l'opzione branch dovrebbe essere impostata a master (a meno che volessi generare un altro ramo).

Flag standard aggiunti da kdesrc-build

NB: questa sezione non si applica ai moduli per i quali hai configurato una toolchain personalizzata, utilizzando per esempio cmake-toolchain.

Per risparmiarti tempo, kdesrc-build aggiunge alcuni percorsi standard al tuo ambiente:

  • I percorsi alle librerie KDE e Qt™ vengono automaticamente aggiunti alla variabile LD_LIBRARY_PATH. Ciò vuol dire che non devi modificare libpath per includerle.

  • I percorsi ai programmi di sviluppo di KDE e Qt™ vengono automaticamente aggiunti alla variabile PATH. Ciò vuol dire che non devi modificare binpath per includerli.

  • Il percorso al programma pkg-config fornito da KDE viene aggiunto automaticamente a PKG_CONFIG_PATH. Ciò vuol dire che non devi modificare set-env per includerlo.

Cambiare le priorità di generazione di kdesrc-build

I programmi possono girare con diversi livelli di priorità sui sistemi operativi, inclusi Linux® e BSD. Ciò permette al sistema di allocare le risorse per i diversi programmi a seconda della loro importanza.

Normalmente kdesrc-build si assegnerà una bassa priorità, in modo che gli altri programmi sul sistema non ne siano influenzati e girino normalmente. Con questa tecnica, kdesrc-build userà le risorse quando saranno disponibili.

kdesrc-build manterrà comunque un livello di priorità abbastanza alto da girare prima dei processi di routine e prima di programmi di donazione di risorse come Seti@Home.

Per modificare kdesrc-build in modo che usi permanentemente un livello di priorità più alto (o più basso), devi regolare il valore di niceness nel file di configurazione. L'impostazione di niceness controlla quant'è «cortese» kdesrc-build con gli altri programmi. In parole povere, un valore di niceness più alto dà a kdesrc-build una priorità minore. Perciò, per dare a kdesrc-build una priorità maggiore, devi ridurre il valore di niceness (e viceversa). Il valore di niceness può andare da 0 (per nulla cortese, priorità massima) a 20 (massima cortesia, priorità minima).

Puoi anche cambiare temporaneamente la priorità di kdesrc-build usando l'opzione da riga di comando --nice. Il valore dell'opzione è usato esattamente come per il valore di niceness.

Nota

Per alcuni programmi eseguiti dall'amministratore è possibile avere un valore di niceness negativo, con una corrispondentemente maggiore priorità. Impostare un valore negativo (o anche zero) di niceness per kdesrc-build non è una buona idea, perché non migliorerà granché il tempo di generazione ma renderà molto lento il computer se lo dovessi ancora usare.

Per eseguire kdesrc-build con un valore di niceness di 15 (una priorità minore del normale):

% kdesrc-build --nice=15

Oppure puoi cambiare il file di configurazione per rendere la modifica permanente:

niceness 15

Suggerimento

L'opzione niceness influenza solo l'uso del processore. Un altro effetto notevole sulle prestazioni di un computer è dato dall'uso dell'input e dell'output (I/O) fatto da un programma. Per controllare quanto I/O viene utilizzato da un programma, i moderni sistemi Linux® supportano uno strumento simile, chiamato ionice. kdesrc-build supporta ionice (solo per abilitarlo o disabilitarlo completamente), con l'opzione use-idle-io-priority, dalla versione 1.12.

Installazione come amministratore

Potresti voler far girare kdesrc-build con privilegi di amministratore. Questo potrebbe essere per la (non raccomandata) installazione per tutto il sistema. È tuttavia utile anche quando si usa una generazione di KDE a utente singolo: questo perché alcuni moduli (soprattutto kdebase) installano programmi che richiederanno brevemente dei permessi elevati per girare; questi ultimi non possono ottenere questi livelli di permessi a meno di essere installati con permessi elevati.

Potresti semplicemente eseguire kdesrc-build direttamente come amministratore, ma ciò non è raccomandato, perché il programma non è stato verificato per un uso del genere. Anche se fa girare il programma in questo modo non dovrebbe essere pericoloso, è meglio evitare di usare i privilegi di amministratore quando è possibile.

Per provvedere a ciò, kdesrc-build fornisce l'opzione make-install-prefix. Puoi usare questa opzione per specificare un comando da usare per effettuare l'installazione come un altro utente. Il modo raccomandato per usare questo comando è con il programma Sudo, che eseguirà il comando di installazione come amministratore.

Per esempio, per installare tutti i moduli usando Sudo, potresti fare qualcosa di simile:

global
  make-install-prefix sudo
  # Altre opzioni
end global

Per usare make-install-prefix per un solo modulo, questo dovrebbe funzionare:

module nome_modulo_qualcosa
  make-install-prefix sudo
end module

Mostrare il progresso della generazione di un modulo

Questa funzionalità è sempre disponibile, ed è attivata automaticamente quando possibile. Quello che fa è visualizzare l'avanzamento stimato durante la generazione di un modulo; in questo modo puoi sapere quanto tempo ci vorrà per generarlo.