6 999
contributi
S3v (discussione | contributi) |
S3v (discussione | contributi) m (+ piccole modifiche) |
||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Versioni compatibili}} | ||
==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 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]], 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>//var/cache/pbuilder/aptcache</code>) all'occorrenza dal [[mirror]] predefinito e utilizzate nell'ambiente [[chroot]] creato; il tutto senza 'sporcare' | 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. | ||
Se si desidera ''modificare'' un pacchetto .deb (ad esempio nel caso in cui si voglia aggiungere una [[patch]] con [[quilt]]) servirà utilizzare prima il comando "pdebuild" (fornito con Pbuilder) e successivamente il comando "pbuilder" sul nuovo file *.dsc creato con il comando precedente. | Se si desidera ''modificare'' un [[pacchetto]] .deb (ad esempio nel caso in cui si voglia aggiungere una [[patch]] con [[quilt]]) servirà utilizzare prima il comando "pdebuild" (fornito con Pbuilder) e successivamente il comando "pbuilder" sul nuovo file *.dsc creato con il comando precedente. | ||
Il secondo metodo (pdebuild e pbuilder) è di gran lunga il più utilizzato mentre il primo (il solo pbuilder) è utile per evitare i [[bug]] di tipo [[FTBFS]] per una determinata [[release]]. | Il secondo metodo (pdebuild e pbuilder) è di gran lunga il più utilizzato mentre il primo (il solo pbuilder) è utile per evitare i [[bug]] di tipo [[FTBFS]] per una determinata [[release]]. | ||
Riga 37: | Riga 37: | ||
; <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 55: | Riga 55: | ||
== Utilizzo == | == Utilizzo == | ||
=== Creazione | === Creazione dell'ambiente === | ||
In questo esempio creeremo un ambiente per la distribuzione Sid, con i repository Debian | In questo esempio creeremo un ambiente per la distribuzione [[Sid]], con i repository Debian [[main]], [[contrib]] e [[non-free]]. | ||
<pre> | <pre> | ||
Riga 115: | Riga 115: | ||
per creare il pacchetto .deb nella directory <code>/tmp</code> . | per creare il pacchetto .deb nella directory <code>/tmp</code> . | ||
===Firma GnuPG=== | === Firma GnuPG === | ||
Pbuilder permette anche la firma con chiave [[GnuPG]], molto utile in quanto evita l'utilizzo di ''deb-sign'', automatizzando il tutto! | Pbuilder permette anche la firma con chiave [[GnuPG]], molto utile in quanto evita l'utilizzo di ''deb-sign'', automatizzando il tutto!<br/> | ||
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 Configurazione=== | === 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ù). | ||
Un altro vantaggio, inoltre, consiste nel poter specificare altre distribuzioni (come Ubuntu, Knoppix, ecc) che altrimenti non sarebbero supportate dal pbuilder disponibile in Debian. | Un altro vantaggio, inoltre, consiste nel poter specificare altre distribuzioni (come Ubuntu, Knoppix, ecc) che altrimenti non sarebbero supportate dal pbuilder disponibile in Debian. | ||
==Varie== | == Varie == | ||
===Semplifichiamo i comandi con alias=== | === Semplifichiamo i comandi con alias=== | ||
I comandi da impartire sono spesso complessi e lunghi: in questo caso ci viene in aiuta ''alias'', che permette di creare un nuovo ''comando'', alias di uno più complesso. | I comandi da impartire sono spesso complessi e lunghi: in questo caso ci viene in aiuta ''alias'', che permette di creare un nuovo ''comando'', [[alias]] di uno più complesso. | ||
Per fare questo, è sufficiente inserire nel file <code>/root/.bashrc</code> delle righe simili alle seguenti: | Per fare questo, è sufficiente inserire nel file <code>/root/.bashrc</code> delle righe simili alle seguenti: | ||
Riga 150: | Riga 150: | ||
alias pbuilder-update-all="pbuilder-update-sarge && pbuilder-update-etch && pbuilder-update-sid && pbuilder-update-breezy" | alias pbuilder-update-all="pbuilder-update-sarge && pbuilder-update-etch && pbuilder-update-sid && pbuilder-update-breezy" | ||
</pre> | </pre> | ||
{{Autori | {{Autori |
contributi