Capitolo 3. Funzionalità dello script

Panoramica delle funzionalità

Le funzionalità di kdesrc-build includono:

  • Puoi «far finta» di fare le operazioni. Se passi le opzioni --pretend o -p sulla riga di comando, lo script darà una descrizione dettagliata dei comandi che sta per eseguire, senza però eseguirli. Però, se non hai mai eseguito kdesrc-build, potresti dover usare prima il comando kdesrc-build --metadata-only in modo che --pretend funzioni.

    Suggerimento

    Per una descrizione ancora più prolissa di cosa sta facendo kdesrc-build, prova ad usare l'opzione --debug.

  • kdesrc-build ti permette di ritirare i moduli rapidamente. Se il modulo che stai ritirando è già stato ritirato altre volte, kdesrc-build ne scaricherà una copia e la preparerà per l'uso sul tuo computer.

    Suggerimento

    In generale non c'è bisogno di alcun preparativo speciale per effettuare il ritiro iniziale di un modulo di Git, visto che viene comunque scaricato tutto il deposito di Git, quindi è facile per il server decidere cosa inviare.

    Ciò è più veloce per te, e aiuta a ridurre il carico sui server Git anonimi di kde.org.

  • Un altro modo di fare più velocemente è avviare il processo di generazione di un modulo non appena il codice sorgente di quel modulo è stato scaricato (disponibile dalla versione 1.6).

  • Supporto eccellente per la generazione delle librerie Qt™ (nel caso che i programmi di KDE che stai generando dipendano su una versione recente delle Qt™, non disponibile nella tua distribuzione).

  • kdesrc-build non richiede un'interfaccia grafica per funzionare. Quindi, puoi generare software KDE senza bisogno di un ambiente grafico.

  • Supporta l'impostazione di opzioni predefinite per tutti i moduli (come le impostazioni di compilazione o le opzioni di configurazione). Queste opzioni possono anche essere cambiate per dei moduli specifici.

    Inoltre, kdesrc-build aggiungerà dei flag standard appropriati per risparmiarti la fatica e i possibili errori derivanti dallo scriverli da te. NB: questo non si applica quando una toolchain (personalizzata) è configurata, per es., mediante: cmake-toolchain

  • kdesrc-build può ritirare un tag o ramo particolare di un modulo. Puoi anche assicurarti che sia ritirata una particolare revisione di un modulo.

  • kdesrc-build può passare automaticamente a una cartella sorgente di un altro deposito, ramo o tag. Ciò viene fatto automaticamente quando cambi un'opzione che cambia l'URL del deposito, ma devi usare l'opzione --src-only per far sapere a kdesrc-build che è accettabile fare il passaggio.

  • kdesrc-build può ritirare anche solo alcune porzioni di un modulo, per i casi in cui ti serve solo un programma da un grande modulo.

  • Per gli sviluppatori: kdesrc-build vi ricorderà se usate git+ssh:// ma ssh-agent non è in esecuzione, visto che ciò porterebbe a richieste di password multiple da SSH.

  • Può eliminare la cartella di generazione di un modulo dopo la sua installazione per risparmiare spazio a spese del tempo di una successiva compilazione.

  • Gli indirizzi delle cartelle usate da kdesrc-build sono configurabili (anche per modulo).

  • Può usare Sudo, o un altro comando specificato dall'utente, per installare i moduli in modo che kdesrc-build non richieda di essere eseguito dall'amministratore.

  • kdesrc-build, come impostazione predefinita, gira a priorità ridotta per permetterti di usare il computer mentre kdesrc-build sta lavorando.

  • Ha supporto per usare i tag e i rami di KDE.

  • C'è supporto per riprendere una generazione da un modulo dato. Puoi anche ignorare temporaneamente alcuni moduli di una certa generazione.

  • kdesrc-build mostrerà l'avanzamento della generazione quando si usa CMake, e terrà sempre conto del tempo di generazione, in modo da sapere quanto ci ha messo.

  • Ha già un insieme di opzioni predefinite appropriate per generare un'installazione monoutente di KDE dai depositi anonimi del codice sorgente.

  • Espansione della tilde per le opzioni di configurazione. Per esempio, puoi specificare:

    install-dir ~/kde/usr

  • Configura automaticamente un sistema di generazione, con la cartella sorgente non corrispondente alla cartella di generazione, in modo da tenere la prima pulita.

  • Puoi specificare che le opzioni globali si applichino a ogni modulo da ritirare, e puoi anche specificare opzioni da applicare a singoli moduli.

  • Rigenerazioni complete forzate, eseguendo kdesrc-build con l'opzione --refresh-build.

  • Puoi specificare varie variabili d'ambiente da usare durante la generazione, incluse DO_NOT_COMPILE e CXXFLAGS.

  • I registri dei comandi hanno data e ora, in modo da avere sempre un registro dell'esecuzione dello script. Inoltre, uno speciale collegamento simbolico chiamato latest viene creato e punta sempre al file più recente della cartella dei registri.