How To CDAutoTool
Da CD Software Libero.
[modifica] Intro
Questa guida vuole essere un aiuto all'uso di UniversiBO CDAutoTool.
La guida e' basata sulla versione 1.3.1 rilasciata il 20/05/2006
Ultima revisione: 12/09/2006
Indice |
[modifica] Che cos'e' CDAutoTool
Si faccia riferimento a quanto scritto qui: CDAutoTool
[modifica] Installazione
CDAutoTool e' un software scritto in Bash quindi potete utilizzarlo solo in ambiente Unix (Linux, Mac OS X, ...). In ambiente Windows potete usarlo installando Cygwin e per quanto ho potuto testarlo funziona senza problemi.
[modifica] Dipendenze
Le dipendenze non sono molte. Cio' che vi serve e':
- wc (si trova in tutte le installazioni): e' indispensabile
- wget (in alcuni si sistemi di default viene installato solo curl): serve per il download dei pacchetti
- mkisofs: serve per la creazione dell'immagine ISO
- find: serve per la gestione del cestino
[modifica] Keep it simple
Per installare il tool e' sufficiente che scarichiate l'ultima versione da SourceForge: https://sourceforge.net/project/showfiles.php?group_id=152614 (al momento della scrittura della guida l'ultima versione (1.3.1) e' disponibile anche qui: http://eagleone.homelinux.org/pubs/CDautotool-1.3.1.tar.gz).
Potete scaricarla usando proprio wget facendo:
wget http://eagleone.homelinux.org/pubs/CDautotool-1.3.1.tar.gz
Scompattate l'archivio con il comando:
tar -zxvf CDautotool-1.3.1.tar.gz
Finito! Avete gia' tutto quel che vi serve
[modifica] Configurazione
Vi sono 3 passaggi per la configurazione:
- Configurazione dello script CDautotool
- Definizione della distribuzione
- Personalizzazione della grafica
[modifica] Configurazione dello script
Per configurare lo script dovete modificare le impostazioni inserite nel file cdautotool.conf presente nella directory devel.
Generalmente sono pochi i parametri da configurare:
- inserite la versione corrente. NB: e' fondamentale che il valore che ponete tra apici sia ben definito e lo stesso utilizzato nella definizione della distribuzione. Ad esempio:
CURVERSION="1.5"
- Aggiungendo una nuova versione e modificando il file di configurazione, aggiungetela anche alla lista delle versioni (valori separati da spazi). Vi servira' per la generazione automatica del changelog. Esempio:
VERSIONLIST="1.3 1.4 1.5"
- Nome del CD (e' quello che compare come nome del CD in ambiente Windows)
CDNAME="Software Libero per Windows"
Altre configurazioni: fate attenzione alle modifiche fatte.
- Parametri velocita' di download dei software:
- massimo numero di download concorrenti (se devono essere scaricati i file di installazione dei vari software, questi verranno scaricati in parallelo. Maggiore e' la vostra banda, piu' alto andra' impostato questo valore). Esempio:
MAXDOWNLOAD=10
- ** tempo di attesa (in secondi) prima di verificare che lo coda sia libera (piu' alta e' la vostra banda, piu' basso sia questo valore. Esempio:
WAITDOWNLOAD=60
- Definizione della directory di lavoro. Se non necessario lasciate i valori di default. Se volete cambiarli ricordatevi di rinominare le directory stesse in cui risiedono i file rispetto allo standard:
- directory del CD:
CD_DIR="CDautotool"
- ** directory di sviluppo contenente lo script e i file di configurazione
DEVEL="devel"
- Pagina guida del CD in html:
INDEX="index.html"
- Intestazione e introduzione della pagina guida del CD:
INTRO="intro.html"
- Nome base del file iso:
ISOFILE="ossforwin""$CURVERSION"".iso"
- File contenente le descrizioni dei programmi da includere nel CD:
DBDESC="description.csv"
- File contenente le descrizioni delle directory/categorie dei programmi da includere nel CD:
DBDIR="directory.csv"
- Icona autorun del CD:
AUTORUNICO="devel\img\UniversiBO.ico"
[modifica] Definizione dei file da includere nel CD
La definizione avviene tramite la modifica dei file definiti nel file di configurazione dalle variabili DBDESC e DBDIR. Supponiamo ad esempio che abbiano i nomi di default (rispettivamente description.csv e directory.csv).
Il file directory.csv (DBDIR) definisce le categorie di catalogazione del materiale che si vuole inserire nel CD. Il file e' in formato CSV con separatore ";" e deve obbligatoriamente contenere le colonne "Categoria" e "Descrizione" (e' possibile modificarne l'ordine andando a correggere le corrispondenti impostazioni nel file cdautotool.conf). A esempio:
Categoria;Descrizione Browser;Programmi per navigare in Internet CD_Utilities;Programmi per masterizzare CD Chat;Programmi per chattare Client_mail;Programmi per scaricare la posta sul tuo pc Client_mail/Estensioni_Thunderbird;Estensioni per potenziare Thunderbird
Come si vede dall'esempio, e' possibile utilizzare anche sottocategorie. La definizione delle categorie definisce anche la struttura delle directory in cui verranno inseriti i file sul CD.
Il file description.csv (DBDESC) elenca, descrive e categorizza tutto il materiale che deve essere inserito nella versione attuale del CD e volendo pu' contenere tutte le informazioni sulle versioni precedenti per la generazione automatica di un changelog. Ad esempio:
Id;Name;Category;File;Size;Version;Date;Description;CDVersion;WinEquivalent; License;Notes;Website;DownloadSite;DownloadAddress;Md5 FirefoxInstall;Firefox;Browser;Firefox Setup 1.0.7.exe;;1.0.7;;Il miglior browser web; 1.5;Explorer;MPL;versione installabile;http://www.mozilla.org/products/firefox; http://www.mozilla.org/products/firefox/all; http://mozilla.osuosl.org/pub/mozilla.org/firefox/releases/1.0.7/ win32/it-IT/Firefox%20Setup%201.0.7.exe;2e9b5527f87d4a37bb6b9c44c8a14c20 FirefoxInstall;Firefox;Browser;Firefox Setup 1.0.6.exe;;1.0.6;;Il miglior browser web; 1.4;Explorer;MPL;versione installabile;http://www.mozilla.org/products/firefox; http://www.mozilla.org/products/firefox/all; http://mozilla.osuosl.org/pub/mozilla.org/firefox/releases/1.0.6/ win32/it-IT/Firefox%20Setup%201.0.6.exe;ab0ca7a82042ab278a7f0c8e23edc76a
Per semplificare si sono visualizzati solo due record (dividendoli su piu' righe per semplificarne la visualizzazione): il primo relativo a Firefox 1.0.7 che sara' incluso nel CD (il campo CDVersion e' valorizzato a 1.5 come la variabile CURVERSION di configurazione); il secondo non verra' incluso ma permettera' allo script di segnalare nel changelog che dalla versione 1.4 del CD alla versione 1.5 e' stato effettuato un aggiornamento della versione di Firefox in esso contenuto (da Firefox-1.0.6 a Firefox-1.0.7)
I i campi del file description.csv hanno il seguente significato:
- Id: identificativo univoco per la tipologia di file (serve per confrontare le diverse versioni di uno stesso file inserito) (es: FirefoxInstall);
- Name: nome del file (descrizione breve) (es: Firefox)
- Category: categoria corrispondente a quelle inserite nel file directory.csv (es: Browser)
- File: nome esatto del file (es: Firefox Setup 1.0.7.exe)
- Size: dimensione del file (per ora non valorizzato e inutilizzato)
- Version: versione del file (es: 1.0.7)
- Date: data versione (per ora non valorizzato e inutilizzato)
- Description: descrizione del file
- CDVersion: versione del CD in cui il file deve essere incluso.
- WinEquivalent: in caso di applicazioni per Windows, lista degli applicativi proprietari equivalenti
- License: licenza file
- Notes: note
- Website: sito generale relativo al file
- DownloadSite: sito con informazioni per il download del file
- DownloadAddress: indirizzo esatto per il download diretto della versione corrente del file
- Md5: md5sum del file per il controllo di integrita'.
[modifica] Personalizzazione della grafica
Il tool genera una pagina in HTML che guida all'installazione/download del materiale inserito nel CD. La pagina puo' essere personalizzata andandone a modificare l'intestazione contenuta nel file intro.html (o in un file da voi specificato se avete modificato la variabile $INTRO nel file di configurazione). Potete modificare la pagina a vostro piacimento, considerando che non dovrete includere i tag HTML di chiusura:
</body></html>
poiche' verranno aggiunti automaticamente dal tool.
Un ulteriore aspetto grafico che potete modificare e' l'icona "autorun" che viene visualizzata come riferimento al CD. Come sopra illustrato, potete modificarlo andando a modificare nel file di configurazione il valore della variabile:
AUTORUNICO="devel\img\UniversiBO.ico"
[modifica] Utilizzo
Se volete rendervi la vita semplice, una volta fatta la vostra personalizzazione, potete lanciare il tool con:
./CDautotool.sh --all
Questo e' equivalente a:
./CDautotool.sh --log --clean --index --download --changelog --autorun --iso
Vediamo ora nel dettaglio tutte le funzioni:
[modifica] --help
Stampa a video la guida all'uso delle diverse opzioni
[modifica] --log
Attiva la modalita' verbosa: stampa a video tutte le informazioni e le operazioni svolte. Il log puo' essere visualizzato anche post esecuzione nel file devel/log/creaCD.log Si consiglia ad ogni modo di attivarla per visualizzare l'avanzamento dell'esecuzione dello script.
[modifica] --index
Ricostruisce l'indice del CD ricreando la pagina HTML che descrive il contenuto del CD. L'intestazione della pagina e' definita in fase di configurazione (vedi Personalizzazione della grafica). Una volta inserita l'intestazione lo script inserisce nella pagina le informazioni relative ai file specificati nei file directory.csv e description.csv (vedi Definizione dei file da includere nel CD).
[modifica] --download
Esegue il download dei file indicati nel file di configurazione description.csv. Prima di scaricarli, il tool controlla se i file fossero gia' presenti e ne verifica eventualmente la qualita' (tramite controllo basato su md5sum). I file verranno scaricati in parallelo fino al limite specificato dalla variabile di configurazione $MAXDOWNLOAD. Raggiunto il limite attendera' che uno dei download attivi finisca (il controllo viene fatto ogni tot secondi in base al valore specificato nella variabile $WAITDOWNLOAD)
[modifica] --clean
Rimuove i file da non inserire nella corrente distribuzione e li inserisce in una apposita directory "cestino" che non verra' inclusa nel CD. I file che verranno rimossi saranno tutti quelli che non sono inclusi nella directory "devel" e che non sono contemplati nella lista di directory.csv e description.csv. Se volete quindi includere dei file senza elencarli in description.csv (ad esempio delle immagini per la pagina index.html) dovrete inserirli all'interno della directory devel (devel/img) oppure non utilizzate l'opzione --clean. ;)
[modifica] --changelog
Aggiorna il changelog del CD segnalando i file che sono stati aggiornati rispetto alla precedente versione del CD (NB: del CD, no del tool CDautotool) o che sono stati aggiunti. Affinche' questa opzione abbia effetto, non solo deve essere correttamente valorizzata la variabile $CURVERSION ma anche la lista $VERSIONLIST. Ad esempio:
CURVERSION="1.5" VERSIONLIST="1.3 1.4 1.5"
In questo modo il changelog confrontera' (in base a quanto contenuto in description.csv) la versione 1.3 con la 1.4, la 1.4 con la 1.5. Il changelog viene quindi salvato su file ed e' inoltre incluso alla fine del file html se viene utilizzata l'opzione --index per rigenerarlo.
[modifica] --autorun
Crea i file per gestire l'autorun del CD in ambiente Windows che consente di aprire automaticamente la pagina indice in html all'inserimento del CD (il supporto autorun per Mac e Linux non e' ancora completo).
[modifica] --iso
Crea la iso del CD corrispondente all'attuale versione inserendovi tutti i file contenuti nella directory base (eccezzion fatta per le directory tmp e basket, mentre la directory devel viene inclusa).
[modifica] --all
Esegue tutte le operazioni normalmente utili: --log --clean --index --download --changelog --autorun --iso
[modifica] --kill
Uccide ogni processo di download lanciato da precedenti esecuzioni di CDautotool
[modifica] --no-changelog
Non inserisce il changelog nella pagina HTML
[modifica] --xid=id1,id2,idn
Esclude i file id1, id2, ..., idn dal CD (non vengono nè scaricati nè inclusi i riferimenti nella documentazione nè ovviamente come file nel CD). Gli Id si riferiscono a quelli riportati nel file description.csv. In alternativa infatti per escludere dei file basta eliminare le corrispondenti righe dal file CSV ma in questo modo la modifica non è permanente e può tornare utile ad esempio in caso di mirror non disponibile o personalizzazioni.
[modifica] --force
Forza l'update di tutti i file anche quelli già correttamente scaricati.
[modifica] --update=id1,...
Forza l'update dei file id1, id2, ..., idn anche se già correttamente scaricati.
[modifica] --no-update=id1,..
Non esegue l'update dei file id1, id2, ..., idn anche se scaricati ma non corretti (i.e. Md5 non corretto).
[modifica] --light
Utilizza come description CSV il file di test description_light.csv (utile per eseguire test)
[modifica] --tikiwiki
Genera il testo da inserire come tabella su TikiWiki con le informazioni sul software
[modifica] --browse
Apre nel browser di default di sistema tutte le pagine di download per aggiornare velocemente il file description.csv (dovrebbe funzionare correttamente su tutte le piattaforme).
[modifica] --dummy
Opzione per il test e il debugging: esegue i passaggi richiesti dalle altre opzioni senza effettuare alcun download e senza scrivere su disco ma stampando in output quanto verrebbe scritto su ciascun file.
Per feedback, commenti, domande segnalateli su: https://sourceforge.net/projects/cdautotool oppure tramite mail a: andrea.scavolini@gmail.com

