Using pbuilder as a package builder allows you to build
the package from within a chroot environment. You can
build binary packages without using
pbuilder, but you must have all the build
dependencies installed on your system first. However, pbuilder allows the
packager to check the build dependencies because the package is built within a
minimal Ubuntu installation, and the build dependencies are downloaded
according to the debian/control
file.
Questa è una breve guida all'installazione, l'utilizzo e l'aggiornamento di un ambiente pbuilder, comunque, ci sono molti dettagli dell'utilizzo di pbuilder che esulano da questa guida. La pagina man di pbuilder ha molte informazioni e dovrebbe essere consultata se si hanno problemi o si ha bisogno di informazioni più dettagliate.
The first, and perhaps most obvious, thing to do is to install pbuilder. If you want to create a pbuilder for a release newer than the one you currently have installed, you will need to manually install the debootstrap .deb (from http://packages.ubuntu.com) from the newer release. To create a pbuilder execute:
sudo pbuilder create --distribution <distro> \ --othermirror "deb http://archive.ubuntu.com/ubuntu <distro> universe multiverse"
where <distro> is the release you want
(edgy for instance) to create the
pbuilder for. If you would like to create more than one
pbuilder environment you can
append the --basetgz flag with the
desired location for the
compressed pbuilder
environment. The default
is /var/cache/pbuilder/base.tgz
. If
you do choose to use --basetgz you
will need to use it with the
other pbuilder commands
so pbuilder knows which
compressed build environment to use.
![]() |
|
Creating a pbuilder environment will take some time as debootstrap essentially downloads a minimal Ubuntu installation. |
![]() |
|
A more flexible way to create a pbuilder (and perhaps multiple pbuilders) is to use a shell script. |
Adesso che si ha un pbuilder funzionante si possono costruire i pacchetti binari a partire dal pacchetto sorgente invocando:
sudo pbuilder build *.dsc
Questo compilerà tutti i pacchetti sorgente nella directory corrente. I risultanti .deb e pacchetti sorgente potranno essere trovati in /var/cache/pbuilder/result/
(che può essere cambiata con il flag --buildresult).
Bisognerebbe sempre avere un pbuilder aggiornato mentre si testano i pacchetti, specialmente quando si compila per una release di sviluppo che cambia rapidamente, per assicurare che le dipendenze siano soddisfatte correttamente. Per aggiornare il pbuilder utilizzare:
sudo pbuilder update
Se si desidera aggiornare il pbuilder ad una nuova release si può utilizzare pbuilder update in combinazione con il flag --distribution:
sudo pbuilder update --distribution <newdistro> --override-config
Tutte le informazioni fin qui descritte in questa sezione su pbuilder sono relative ad un singolo pbuilder. Se vuoi creare più di un pbuilder puoi creare uno script di shell per gestire la configurazione per ogni pbuilder che desideri creare. Un esempio di tale script si trova in /usr/share/doc/pbuilder/examples/pbuilder-distribution.sh
. Puoi semplicemente copiare questo esempio da qualche parte nel tuo path (per esempio è utile inserirlo in ~/bin/
e aggiungendo questa directory al tuo path) e quindi modificarlo a seconda delle tue necessità. Normalmente dovrai modificare solamente la variabile DISTRIBUTION e aggiungere --othermirrors come indicato in precedenza. Puoi quindi richiamare questo script invece di eseguire pbuilder direttamete.