6 999
contributi
S3v (discussione | contributi) |
S3v (discussione | contributi) (+ Paragrafo "Esempi/Compilazione per diverse architetture") |
||
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 per diverse [[architettura|architetture]], 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]] (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>//var/cache/pbuilder/aptcache</code>) all'occorrenza dal [[mirror]] predefinito e utilizzate nell'ambiente [[chroot]] creato; il tutto senza 'sporcare' il proprio sistema. | 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. | ||
Riga 151: | Riga 151: | ||
</pre> | </pre> | ||
== Esempi == | |||
=== Compilazione per diverse architetture === | |||
Se si vuole compilare un [[pacchetto]] sorgente per una [[architettura]] diversa da quella della propria macchina (es. compilare un pacchetto per "i386" su una macchina "amd64"), è necessario innanzitutto creare l'ambiente "i386": | |||
<pre> | |||
# pbuilder --architecture i386 --distribution wheezy --basetgz /home/pippo/pbuilder/386wheezy.tgz create | |||
</pre> | |||
In cui le diverse opzioni significano: | |||
;--architecture i386: l'architettura scelta (sono supportate 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. | |||
;--basetgz /home/pippo/pbuilder/386wheezy.tgz: il percorso e il nome del file .tgz da creare per contenere il nuovo ambiente [[chroot]]. | |||
Ora bisogna abilitare il [[multiarch]] per poter usare l'architettura "i386": | |||
<pre> | |||
# dpkg --add-architecture i386 | |||
</pre> | |||
e accertarsi della corretta aggiunta: | |||
<pre> | |||
# dpkg --print-foreign-architectures | |||
i386 | |||
</pre> | |||
Modificare il file "/etc/apt/sources.list" inserendo: | |||
<pre> | |||
deb [arch=i386] http://ftp.it.debian.org/debian wheezy main | |||
deb-src [arch=i386] http://ftp.it.debian.org/debian wheezy main | |||
</pre> | |||
Adattare queste righe alle proprie esigenze ([[mirror]] diverso, [[release]] scelta, [[sezione]] etc.) e poi eseguire: | |||
<pre> | |||
# apt-get update | |||
</pre> | |||
Adesso è tutto pronto per scaricare i file sorgente e lanciare la compilazione. Spostarsi in una directory a propria scelta (magari creata appositamente) e poi: | |||
<pre> | |||
# apt-get source --download-only apt:i386/wheezy | |||
# pbuilder build --basetgz /home/pippo/pbuilder/386wheezy.tgz apt_0.9.7.9+deb7u7.dsc | |||
</pre> | |||
Anche in questo caso si devono adattare i comandi in base all'architettura per cui si vuol compilare, alla release scelta e al file .dsc ottenuto con il comando "apt-get source" (in questo caso sono, rispettivamente, "i386", "wheezy" e "apt_0.9.7.9+deb7u7.dsc").<br/> | |||
Al termine delle diverse operazioni eseguite da "pbuilder", il pacchetto .deb compilato per architettura "i386" sarà presente nella directory <code>/var/cache/pbuider/result</code>. | |||
Per disabilitare il multiarch e ritornare alla situazione di partenza per il proprio sistema, rimuovere (o commentare) le righe aggiunte al file <code>sources.list</code> e infine: | |||
<pre> | |||
# dpkg --remove-architecture i386 | |||
# dpkg --print-foreign-architectures | |||
# apt-get update | |||
</pre> | |||
{{Autori | {{Autori |
contributi