Pacchettizziamo con pbuilder

Come richiesto ecco che dopo essermi ben documentato vi riporto la procedura per creare pacchetti debian col tool pbuilder

Pacchettizziamo con pbuilder

Perchè pbuilder?

Perchè con mio piacere ho scoperto che è un tool molto potente è molto facile da utilizzare, l’utilizzo di pbuilder è il metodo consigliato per chi sviluppa o ha intenzione di pubblicare i propri pacchetti su un repository ufficiale/pubblico.

Con pbuilder possiamo

  • Pacchettizzare con facilità qualsiasi sorgente.
  • Pacchettizzare software anche per altre distribuzioni senza doverle necessariamente installare.
  • Pacchettizzare in maniera quasi del tutto automatica.
  • Se abbiamo culo partecipare al team dei backport testers Laughing

Come funziona

Pbuilder ci consente di installare una jail chroot totalmente isolata dal nostro sistema, in questa jail chroot verrà installato un ambiente minimale ma pienamente funzionale della distribuzione che scegliamo, possiamo quindi gestire più jails per ad esempio pacchettizzare sia per intrepid che per hardy.

Pbuilder inoltre si preoccupa di analizzare i sorgenti del software, calcolare e risolvere in automatico le dipendenze necessarie, compilare e pacchettizzare, ed infine eliminare il tutto (tranne i sorgenti), risolvendo cosi il problema di lasciare i pacchetti delle diepndenze come residui sul sistema occupando spazio inutilmente.

la preparazione

Di default pbuilder prevede l’installazione, all’interno della jail, dei soli pacchetti della componente main di ubuntu; se ci interessa abilitare le altre componenti dobbiamo modificare il file /etc/pbuilderrc decommentando la riga:

COMPONENTS=”main restricted universe multiverse”

L’installazione della jail chroot

Finita la preparazione di pbuilder dobbiamo iniziare a scaricare ed installare i pacchetti base della nostra distribuzione, poniamo il caso di voler pacchettizzare per ubuntu hardy heron, dobbiamo quindi dare il comando:

sudo pbuilder create –basetgz /var/cache/pbuilder/hardy.tgz –distribution hardy

dopo pochi minuti (dipende dal tipo di connessione e dalla potenza del vostro pc), la preparazione sarà ultimata e possiamo…

iniziare a pacchettizzare i sorgenti

per utilizzare pbuilder abbiamo bisogno dell’archivio dei sorgenti in formato tar.gz, e di un file di controllo dell’archivio, o file .dsc.

Se scarichiamo i sorgenti con apt dagli archivi ufficiali li avremo tutti e due, altrimenti dovremo procurarci questo file di controllo, o per meglio dire crearlo.

Possiamo quindi estrarre l’archivio dei sorgenti e una volta dentro possiamo dare il comando:

dpkg-buildpackage -us -uc -S

finita la procedura al livello superiore avremo un nuovo archivio tar.gz e questo fantomatico file .dsc; adesso il tutto è estremamente semplice basta il comando:

sudo pbuilder build –basetgz /var/cache/pbuilder/hardy.tgz –distribution hardy nomepacchetto.dsc

adesso non ci resta che aspettare, durante questo tempo pbuilder si occupera di:

  1. Scompattare la jail chroot

  2. Verifica delle dipendenze necessarie del pacchetto

  3. Scaricamento/installazione delle dipendenze

  4. Compilazione

  5. Creazione del pacchetto

  6. Eliminazione dei file temporanei utilizzati

se tutto andrà bene troveremo il pacchetto pronto nella cartella /var/cache/pbuilder/result

Manutenzione:

col tempo sarà necessario aggiornare la jail chroot, per non incorrere in problemi di dipendenze coi pacchetti creati, dobbiamo in questo caso lanciare:

sudo pbuilder update –basetgz /var/cache/pbuilder/hardy.tgz –distribution hardy

oppure cancellare la cache di pbuilder che nel tempo sarà diventata abbastanza voluminosa:

sudo pbuilder clean

questo ovviamente non cancellera i pacchetti creati in /var/cache/pbuilder/result.

E’ previsto anche l’utilizzo di uno script chiamato pbuilder-distribution ma ad essere sincero ancora non ho capito bene il funzionamento quindi per ora non scrivo nulla, anzi se qualcuno è interessato a contribuire su questo argomento può contattarci, avrà un account creato sul portale col quale potrà scrivere in prima pagina e su un proprio blog personale sempre interno al portale. Smile

[fonte Wiki Ubuntu Italia]


Altri articoli che potrebbero interessarti

Repository per Debian Lenny/Sid by Il Portalinux Poco più di 15 giorni fa proposi un sondaggio: volevo sapere se sarebbe stato utile aprire un...
Pacchettizziamo (sorgenti in python) in maniera semplice con PyDebCreator Sulla falsa riga di questo articolo ho deciso d'informarvi su un pacchetto veramente utile per compilare...
Come rimediare al bug di sicurezza in openssl su Debian ed Ubuntu Come già avrete appreso da diverse fonti, è stato rilevato un bug nel pacchetto openssl su debian (e...
Pacchettizziamo in maniera semplice con DebCreator Stamani grazie a bergs sono venuto a conoscenza di un software molto utile per chi smanetta spesso e...
Creare un pacchetto debian – parte 1° Sempre lo stesso lettore del post precedente ha anche richiesto una guida su come pacchettizzare i sorgenti...

About the Author

M0rF3uS al secolo Alex è un ggiovine 25enne appassionato di informatica e linux. Lavora come Network and System Administrator e nel tempo libero gioca un pò con la sua fotocamera (Canon EOS 1000D) riuscendo a volte, per sbaglio, a fare qualche scatto decente. Completano il corredo, degli hobbies "vorrei ma non posso" ossia l'astronomia e l'astronautica....si è uno di quelli che da grande vorrebbe fare l'astronauta (povero coglione vero?).