Come usare il file debian/config
ed i comandi di Debconf¶
In questa pagina sono raccolti alcune note sparse relative all'utilizzo di debconf per la creazione di pacchetti Debian, che sono state raccolte in un unico spazio per cercare di fornire un po' di supporto a chi, come me, ha dovuto averci a che fare ed è stato costretto a raccapezzare le informazioni qua e là, soprattutto andando a vedere i vari config e postinst dei pacchetti.
Anzitutto un po' di informazioni generali, il sistema di debconf utilizza due file, debian/templates
e debian/config
. Il primo contiene le definizioni delle domande da fare (queste sono di vari tipi) ed il secondo è uno script di shell eseguito prima dell'installazione del pacchetto, che si incarica di fare le domande ed eseguire le configurazioni necessarie.
Tutte le domande sono identificate da una stringa della forma nome-pacchetto/nome-domanda, che sono gli oggetti manipolati da una serie di funzioni di shell definite in /usr/share/debconf/confmodule
(una delle prime operazioni da fare nello script config
è un source di questo file). Con questi comandi si compiono le operazioni di controllo di debconf. I comandi principali sono:
db_input
, che prenota la richiesta di una risposta (attenzione, la prenota e basta, non la esegue!), che ha la sintassi:db_input priorita nome-pacchetto/nome-domanda
db_go
, che esegue immediatamente la richiesta delle risposte prenotate:db_go
db_get
, che ottine il valore corrente di una risposta:db_get nome-pacchetto/nome-domanda
Un primo ostacolo che potete incontrare è quello di far dimenticare un valore già assegnato, in modo che questo possa venire richiesto da db_input
. Il comando dh_set
infatti permette di riassegnare un valore, anche nullo, ma se il valore è stato già assegnato ad un successivo db_input
questo non sarà chiesto nuovamente.
Updated by Simone Piccardi over 12 years ago · 4 revisions