6 999
contributi
S3v (discussione | contributi) |
S3v (discussione | contributi) (minimalia) |
||
Riga 2: | Riga 2: | ||
== Introduzione == | == Introduzione == | ||
Pbuilder è uno strumento che permette di creare un ambiente pulito per la compilazione e il test esclusivamente dei pacchetti Debian. Inoltre può essere usato anche per effettuare i backport, compilazioni per diverse [[architettura|architetture]] (utilizzando "debootstrap" sono supportate solo "i386" e "amd64"), compilazioni particolari e tutto quello che può richiedere l'uso di un ambiente pulito e controllato.<br/> | Pbuilder è uno strumento che permette di creare un ambiente pulito per la compilazione e il test esclusivamente dei pacchetti Debian. Inoltre può essere usato anche per effettuare i backport, compilazioni per diverse [[architettura|architetture]] (utilizzando "debootstrap" sono supportate solo "i386" e "amd64"), compilazioni particolari e tutto quello che può richiedere l'uso di un ambiente pulito e controllato.<br/> | ||
Il principale vantaggio di utilizzare Pbuilder consiste nel fatto che tutte le librerie necessarie alla compilazione verranno scaricate (di default in <code> | Il principale vantaggio di utilizzare Pbuilder consiste nel fatto che tutte le librerie necessarie alla compilazione verranno scaricate (di default in <code>/var/cache/pbuilder/aptcache</code>) all'occorrenza dal [[mirror]] predefinito e utilizzate nell'ambiente [[chroot]] creato; il tutto senza 'sporcare' il proprio sistema. | ||
La compilazione può essere eseguita in due modi: | La compilazione può essere eseguita in due modi: | ||
Riga 18: | Riga 18: | ||
=== Opzioni da file di configurazione === | === Opzioni da file di configurazione === | ||
Queste vanno inserite nel file <code>/etc/pbuilder/pbuilderrc</code> (per tutti gli utenti) oppure nel file <code>.pbuilderrc</code> creato nella home dell'utente che esegue <code>pbuilder</code> . Leggere a tal proposito anche la [[manpage]] di <code>pbuilderrc</code> . | Queste vanno inserite nel file <code>/etc/pbuilder/pbuilderrc</code> (per tutti gli utenti) oppure nel file <code>.pbuilderrc</code> creato nella home dell'utente che esegue <code>pbuilder</code> . Leggere a tal proposito anche la [[manpage]] di <code>pbuilderrc</code> . Le opzioni specificate in questi file vengono bypassate dalle corrispondenti opzioni specificate dalla linea di comando.<br/> | ||
Tutte queste opzioni, una per riga, sono nella forma: | Tutte queste opzioni, una per riga, sono nella forma: | ||
<pre> | <pre> | ||
Riga 28: | Riga 28: | ||
=== Opzioni da linea di comando === | === Opzioni da linea di comando === | ||
Osserviamo | Osserviamo le opzioni più importanti: | ||
==== pbuilder ==== | ==== pbuilder ==== | ||
Riga 43: | Riga 43: | ||
; <code>--debbuildopts [dpkg-buildpackage options]</code> : permette di impostare delle opzioni aggiuntive per il comando ''dpkg-buildpackage'', che si occupa della creazione di un pacchetto Debian a partire dai sorgenti; | ; <code>--debbuildopts [dpkg-buildpackage options]</code> : permette di impostare delle opzioni aggiuntive per il comando ''dpkg-buildpackage'', che si occupa della creazione di un pacchetto Debian a partire dai sorgenti; | ||
; <code>--logfile [filename to output log]</code> : specifica un file di log, utile per analizzare con calma i risultati delle compilazioni; | ; <code>--logfile [filename to output log]</code> : specifica un file di log, utile per analizzare con calma i risultati delle compilazioni; | ||
; <code>--binary-arch</code> : permette di impostare l'architettura da usare per la creazione dell'ambiente (utile nel caso di supporto per più architetture (macchina a 64 bit | ; <code>--binary-arch</code> : permette di impostare l'architettura da usare per la creazione dell'ambiente (utile nel caso di supporto per più architetture (macchina a 64 bit); | ||
; <code>--save-after-login/--save-after-exec</code> : permette di salvare lo stato della macchina al termine di una sessione interattiva, ricreando il tarball a partire dall'ambiente modificato (usare con attenzione). | ; <code>--save-after-login/--save-after-exec</code> : permette di salvare lo stato della macchina al termine di una sessione interattiva, ricreando il tarball a partire dall'ambiente modificato (usare con attenzione). | ||
Riga 77: | Riga 77: | ||
Pbuilder preleverà dalla rete il sistema base di Debian, configurerà i pacchetti scaricati e creerà il file .tgz. L'operazione richiede qualche minuto. | Pbuilder preleverà dalla rete il sistema base di Debian, configurerà i pacchetti scaricati e creerà il file .tgz. L'operazione richiede qualche minuto. | ||
=== Aggiornamento | === Aggiornamento dell'ambiente === | ||
L'aggiornamento di un ambiente è altamente consigliato (così come si farebbe per una qualunque installazione di Debian), in particolare per le [[release]] [[testing]] e [[unstable]] nelle quali sono spesso presenti degli aggiornamenti che potrebbero portare ad una modifica delle dipendenze. | L'aggiornamento di un ambiente è altamente consigliato (così come si farebbe per una qualunque installazione di Debian), in particolare per le [[release]] [[testing]] e [[unstable]] nelle quali sono spesso presenti degli aggiornamenti che potrebbero portare ad una modifica delle dipendenze. | ||
Riga 85: | Riga 85: | ||
=== Compilazione di pacchetti === | === Compilazione di pacchetti === | ||
La compilazione può avvenire in due modi: | La compilazione può avvenire in due modi: | ||
* '''da un pacchetto di sorgenti''', tramite pbuilder | * '''da un pacchetto di sorgenti''', tramite pbuilder o pdebuild | ||
* '''dalla directory che contiene i sorgenti''' tramite pdebuild | * '''dalla directory che contiene i sorgenti''' tramite pdebuild | ||
Riga 104: | Riga 104: | ||
==== Dalla directory dei sorgenti ==== | ==== Dalla directory dei sorgenti ==== | ||
Questa procedura, a differenza di quella illustrata precedentemente, è molto più usata (almeno nel mio caso) in quanto può essere applicata direttamente alla directory dei sorgenti (si sta sempre parlando di pacchetti Debian, quindi i sorgenti devono contenere la directory <code>''debian/''</code>, che gestisce la creazione dei pacchetti. | Questa procedura, a differenza di quella illustrata precedentemente, è molto più usata (almeno nel mio caso) in quanto può essere applicata direttamente alla directory dei sorgenti (si sta sempre parlando di pacchetti Debian, quindi i sorgenti devono contenere la directory <code>''debian/''</code>, che gestisce la creazione dei pacchetti). | ||
Una volta posizionati nella directory contenente i sorgenti, è sufficiente eseguire questo comando: | Una volta posizionati nella directory contenente i sorgenti, è sufficiente eseguire questo comando: | ||
Riga 125: | Riga 125: | ||
L'unico problema (se così si può definire) è la necessità di esportare la propria chiave privata ed importarla nel [[keyring]] dell'utente [[root]]. | L'unico problema (se così si può definire) è la necessità di esportare la propria chiave privata ed importarla nel [[keyring]] dell'utente [[root]]. | ||
=== File di | === File di configurazione === | ||
Una pratica diffusa e molto comoda per semplificare l'utilizzo di pbuider sono i file di configurazione: essi permettono, infatti, di specificare direttamente al loro interno i parametri (oltre ad offrirne molti di più). | Una pratica diffusa e molto comoda per semplificare l'utilizzo di pbuider sono i file di configurazione: essi permettono, infatti, di specificare direttamente al loro interno i parametri (oltre ad offrirne molti di più). | ||
Riga 164: | Riga 164: | ||
</pre> | </pre> | ||
In cui le diverse opzioni significano: | In cui le diverse opzioni significano: | ||
;--architecture i386: l'architettura scelta (sono supportate solo "i386" e "amd64"). | ;--architecture i386: l'architettura scelta (sono supportate, se si utilizza "debootstrap", solo "i386" e "amd64"). | ||
;--distribution wheezy: la distribuzione per cui compilare il pacchetto. Si può omettere questa opzione se si intende utilizzare una [[suite]] uguale a quella utilizzata dal proprio sistema. | ;--distribution wheezy: la distribuzione per cui compilare il pacchetto. Si può omettere questa opzione se si intende utilizzare una [[suite]] uguale a quella utilizzata dal proprio sistema. | ||
;--basetgz /home/pippo/pbuilder/386wheezy.tgz: il percorso e il nome del file .tgz da creare per contenere il nuovo ambiente [[chroot]]. | ;--basetgz /home/pippo/pbuilder/386wheezy.tgz: il percorso e il nome del file .tgz da creare per contenere il nuovo ambiente [[chroot]]. |
contributi