Questo capitolo spiega come gestire una configurazione per una live sin dalla creazione iniziale, attraverso le successive revisioni e rilasci sia del software live-build che della stessa immagine.
Le configurazioni live raramente sono perfette da riuscire al primo colpo, servono una serie di revisioni prima di essere soddisfatti. Tuttavia, se non si presta attenzione, possono verificarsi delle incoerenze tra una revisione e l'altra se non si presta attenzione. Il problema principale è che una volta assegnato un valore predefinito ad una variabile, tale valore non sarà ricalcolato da altre variabili che possono cambiare in altre revisioni.
Per esempio, durante la prima configurazione della distribuzione, a molte variabili 'dipendenti' vengono dati valori predefiniti che si adattino.Per cui se in seguito si decide di cambiare distribuzione, quelle variabili continueranno a mantenere vecchi valori non più appropriati.
Un secondo problema correlato è l'eseguire lb config e aggiornare alla nuova versione di live-build il quale ha cambiato il nome di una delle variabili, lo si può scoprire solamente con una revisione manuale delle variabili nei file config/*, che sarà necessario utilizzare per impostare nuovamente le opzioni appropriate.
Tutto ciò potrebbe essere un fastidio terribile se non fosse per gli script auto/*, semplici wrapper ai comandi lb config, lb build e lb clean, designati per aiutare nella gestione della propria configurazione. Basta creare uno script auto/config che contenga il comando lb config con le opzioni desiderate e un auto/clean che rimuove i file contenenti valori delle variabili di configurazione, così ogni volta che si usano lb config e lb clean questi file saranno eseguiti. Ciò fà sì che la configurazione sia coerente da una revisione all'altra e tra i rilasci delle varie versioni di live-build (sebbene si dovrà comunque fare attenzione aggiornando live-build, leggendo la documentazione e facendo le modifiche necessarie).
Usare esempi di script automatici come il seguente come punto di partenza per una nuova configurazione di live-build. Si noti che quando si invoca il comando lb incluso nello script, si deve specificare il parametro noauto per essere certi che lo script stesso non venga richiamato ricorsivamente. Non dimenticare, inoltre, di accertarsi che gli script siano eseguibili (es. chmod 755 auto/*).
auto/config
#!/bin/sh
lb config noauto \
--package-lists "standard" \
"${@}"
auto/clean
#!/bin/sh
lb clean noauto "${@}"
rm -f config/binary config/bootstrap \
config/chroot config/common config/source
rm -f build.log
auto/build
#!/bin/sh
lb build noauto "${@}" 2>&1 | tee build.log
Facciamo un esempio di script automatico per live-build basato sugli esempi precedenti; si possono copiare come punto di partenza.
$ cp /usr/share/doc/live-build/examples/auto/* auto/
Modificare auto/config aggiungendo o togliendo le opzioni come meglio credi. Nel precedente esempio, --package-lists standard è impostato al valore predefinito; cambiarlo in un valore appropriato per l'immagine (o cancellarlo se si desidera utilizzare un valore predefinito) e aggiungere eventuali opzioni ulteriori in continuazione delle righe che seguono.