Pbuilder: compilazione in ambienti puliti: differenze tra le versioni

nessun oggetto della modifica
m (rimosso lo stub)
Nessun oggetto della modifica
Riga 12: Riga 12:
== pbuilder ==
== pbuilder ==
; --basetgz [base.tgz] : permette di indicare una locazione, per il [[tarball]] dell'ambiente da gestire, diverso da quello di default
; --basetgz [base.tgz] : permette di indicare una locazione, per il [[tarball]] dell'ambiente da gestire, diverso da quello di default
; --buildplace [location of build] : permette di specificare un directory, diversa da quella di default, dove ricreare l'ambiente ed eseguire le compilazioni
; --buildplace [location of build] : permette di specificare una directory, diversa da quella di default, dove ricreare l'ambiente ed eseguire le compilazioni
; --mirror [mirror location] : permette di specificare un [[mirror]] Debian diverso da quello predefinito
; --mirror [mirror location] : permette di specificare un [[mirror]] Debian diverso da quello predefinito
; --othermirror [other mirror location in apt deb-line format, delimited with | signs] : permette di aggiungere altri mirror (o repository)
; --othermirror [other mirror location in apt deb-line format, delimited with | signs] : permette di aggiungere altri mirror (o repository)
Riga 18: Riga 18:
; --distribution [distribution(potato|woody|sarge|sid|etch|experimental)] : imposta la distribuzione
; --distribution [distribution(potato|woody|sarge|sid|etch|experimental)] : imposta la distribuzione
; --buildresult [location-to-copy-build-result] : permette di specificare una directory diversa in cui posizionare i pacchetti creati
; --buildresult [location-to-copy-build-result] : permette di specificare una directory diversa in cui posizionare i pacchetti creati
; --aptcache [location of retrieved package files] : permette di specificare una directory in cui immagazzinare i pacchetti debian scaricati (e usati) per soddisfare le dipendenze per la compilazione
; --aptcache [location of retrieved package files] : permette di specificare una directory in cui immagazzinare i pacchetti Debian scaricati (e usati) per soddisfare le dipendenze per la compilazione
; --configfile [configuration file to load] : specifica un file di configurazione alternativo
; --configfile [configuration file to load] : specifica un file di configurazione alternativo
; --debemail [mail address] : imposta l'indirizzo email
; --debemail [mail address] : imposta l'indirizzo email
Riga 33: Riga 33:
== Azioni ==
== Azioni ==
; create : creazione di un nuovo ambiente
; create : creazione di un nuovo ambiente
; update : aggiornametno di un ambiene esistente
; update : aggiornamento di un ambiente esistente
; build : compilazione
; build : compilazione
; clean : pulizia di un ambiente
; clean : pulizia di un ambiente
Riga 39: Riga 39:
; execute : esecuzione di un comando all'interno di un ambiente
; execute : esecuzione di un comando all'interno di un ambiente
; dumpconfig : mostra a video la configurazione dell'ambiente specificato, utile per le operazioni di debug
; dumpconfig : mostra a video la configurazione dell'ambiente specificato, utile per le operazioni di debug


= Utilizzo =
= Utilizzo =
== Creazione Ambiente ==
== Creazione Ambiente ==
In questo esempio creeremo un ambiente per la distribuzione sid, con i repository Debian '''main''', '''contrib''' e '''non-free'''.
In questo esempio creeremo un ambiente per la distribuzione Sid, con i repository Debian '''main''', '''contrib''' e '''non-free'''.


<pre>
<pre>
Riga 61: Riga 60:


== Aggiornamento Ambiente ==
== Aggiornamento Ambiente ==
L'aggiornamento di un ambiente è utile per le release diversa da Stable, nelle quali sono spesso presenti degli aggiornamenti, che potrebbero portare ad una modifica delle dipendenze (si pensi, ad esempio, alla migrazione da xfree ad xorg).
L'aggiornamento di un ambiente è utile per le release diversa da Stable, nelle quali sono spesso presenti degli aggiornamenti, che potrebbero portare ad una modifica delle dipendenze (si pensi, ad esempio, alla migrazione da Xfree ad Xorg).


Per aggiornare i pacchetti ed il database dei repository, è sufficiente un
Per aggiornare i pacchetti ed il database dei repository, è sufficiente un:
<pre> # pbuider update --basetgz /home/maxer/pbuilder/sid.tgz</pre>
<pre># pbuider update --basetgz /home/maxer/pbuilder/sid.tgz</pre>


== Compilazione di pacchetti ==
== Compilazione di pacchetti ==
Riga 74: Riga 73:
Questa procedura funziona se si dispone di un pacchetto Debian in formato ''sorgente''... la procedura è usabile, ad esempio, per ricompilare un pacchetto presente in testing o unstable per una distribuzione stable (tecnica chiamata [[backport]]).
Questa procedura funziona se si dispone di un pacchetto Debian in formato ''sorgente''... la procedura è usabile, ad esempio, per ricompilare un pacchetto presente in testing o unstable per una distribuzione stable (tecnica chiamata [[backport]]).


<pre> # pbuild build --basetgz /home/maxer/pbuilder/sid.tgz file_0.0-1.dsc </pre>
<pre># pbuild build --basetgz /home/maxer/pbuilder/sid.tgz file_0.0-1.dsc </pre>


Questo comando avvierà la compilazione, esattamente secondo le seguenti fasi:
Questo comando avvierà la compilazione, esattamente secondo le seguenti fasi:
Riga 86: Riga 85:
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 ''debian/'', 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 ''debian/'', che gestisce la creazione dei pacchetti.


Una volta posizionati nella directori contenente i sorgenti, è sufficiente eseguire questo comando:
Una volta posizionati nella directory contenente i sorgenti, è sufficiente eseguire questo comando:
<pre> # pdebuild build --basetgz /home/maxer/pbuilder/sid.tgz</pre>
<pre># pdebuild build --basetgz /home/maxer/pbuilder/sid.tgz</pre>


In questo caso, invece, la procedura seguita da pbuilder sarà leggermente diversa:
In questo caso, invece, la procedura seguita da pbuilder sarà leggermente diversa:
Riga 104: Riga 103:
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, ...) che altrimenti non sarebbero supportate dal pbuilder dispnibile in Debian.
Un altro vantaggio, inoltre, consiste nel poter specificare altre distribuzioni (come ubuntu, knoppix, ...) che altrimenti non sarebbero supportate dal pbuilder disponibile in Debian.


I link seguenti portano a dei file di configurazione ad hoc per le distribuzioni indicate:
I link seguenti portano a dei file di configurazione ad hoc per le distribuzioni indicate:
Riga 114: Riga 113:
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 ''/root/.bashrc'' delle righe simili alle seguenti:
Per fare questo, è sufficiente inserire nel file <code>/root/.bashrc</code> delle righe simili alle seguenti:
<pre>
<pre>
# comandi per la compilazione
# comandi per la compilazione
6 999

contributi