Apt-file: ricerca all'interno dei pacchetti: differenze tra le versioni

Vai alla navigazione Vai alla ricerca
m
nessun oggetto della modifica
m (→‎Configurazione: formattazione)
mNessun oggetto della modifica
Riga 1: Riga 1:
==Introduzione==
In questa categoria sono presenti le guide riguardanti l''''Advanced Packaging Tool'''.
 
In questo howto vedremo come sia possibile applicare una patch ad un pacchetto
ufficiale Debian.
Prima di proseguire, per�, vedremo quando non � possibile farlo:
* il pacchetto non � stato distribuito anche in forma di sorgenti (capita per
qualche repository non ufficiale e per alcuni pecchetti uff. (una volta mi era
successo...).
 
 
==Preparazione del sistema==
 
Per prima cosa bisogna assicurarsi di avere, in '''/etc/apt/sources.list''',
le sorgenti per scaricare i pacchetti di tipo deb-src:
<pre>
#--CUT HERE--#
#per stable
deb-src http://ftp2.it.debian.org/debian/ stable main non-free contrib
deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib
non-free
 
#per testing
deb-src http://ftp2.it.debian.org/debian/ testing main non-free contrib
deb-src http://non-us.debian.org/debian-non-US testing/non-US main contrib
non-free
 
#per unstable
deb-src http://ftp2.it.debian.org/debian/ sid main non-free contrib
deb-src http://non-us.debian.org/debian-non-US sid/non-US main contrib non-free
#--CUT HERE--#
</pre>
ora aggiorniamo il contenuto del database dei pacchetti:
<pre>
# apt-get update
</pre>
 
 
==PROCEDIAMO==
 
===METODO 1: `apt-get source && dpkg-buildpackage`===
 
Per scaricare i sorgenti, seguiamo questa procedura:
Per avere tutto in ordine, creiamo una cartella di lavoro
<pre>
$ mkdir nomepacchetto && cd nomepacchetto
</pre>
 
Ora possiamo scaricare i sorgenti:
<pre>
$ apt-get source nomepacchetto
</pre>
 
cos� facendo, scaricheremo 3 file, che verranno decompressi in una cartella
(nomepacchetto-ver.sio.ne)
 
Ora possiamo entrare in questa cartella, scaricare la patch e applicarla:
<pre>
$ cd nomepacchetto-ver.sio.ne
$ wget http://indirizzo/per/la/patch.patch
</pre>
 
supponendo che la patch non sia compressa...
<pre>
$ patch -p1 < patch.patch
</pre>
 
se � compressa:
<pre>
$ zcat patch.patch | patch -p1
</pre>
 
Una volta applicata la patch, se non riceviamo errori, siamo pronti a
compilare il pacchetto.
Per fare questo utilizzeremo un altro tool Debian: dpkg-buildpackage
<pre>
# dpkg-buildpackage
</pre>
 
Il comando prover� a compilare il pacchetto, ed in caso di errori ci chieder�
di sistemare le dipendenze (se l'errore � dovuto alla mancanza di alcune
librerie) elencando tutti i pacchetti necessari, installabili con un normale
<pre>
# apt-get buid-dep 'nomepacchetto_da_installare'
</pre>
 
una volta giunta a termine la compilazione, troveremo (nella cartella
nomepacchetto da noi creata) una serie di file .deb!
ora possiamo installarli:
<pre>
# dpkg -i nomepacchetto_ver.sio.ne.deb
</pre>
 
Bene, se non riceviamo errori...il pacchetto � installato.
 
 
===METODO 2: `apt-build`===
 
Prima di iniziare, � d'obbligo una introduzione su apt-build.
Questo tool � abbastanza giovane, e consente di compilare i pacchetti Debian
ottimizzandoli per la propria macchina. Durante l'installazione vengono poste
delle domande (tipo di processore, livello di ottimizzazione), e rispondendo
nel modo opportuno, sar� possibile compilare i pacchetti ottimizzandoli per la
propria macchina, cosa che, nel METODO 1 non avviene.
 
Apt-build ci mette a disposizione una opzione, '''--patch''', che consente di applicare delle patch al pacchetto da installare.
Vediamo, ora, come fare.
Scarichiamo la patch:
<pre>
$ wget http://indirizzo/per/la/patch.patch
</pre>
 
ora diamo il semplice comando:
<pre>
# apt-build -p 0 --patch patch.patch install 'pacchetto'
</pre>
 
ora mettiamoci comodi, armati di tazzona di caff� (rigorosamente marchiata con un bel Tux) e controlliamo a video mentre:
* vengono scaricate i pacchetti *-dev per la compilazione;
* viene aggiornato l'elenco dei pacchetti dei vari repository (usare l'opzione '''--noupdate''' per evitarlo);
* vengono scaricati i sorgenti del pacchetto;
* viene applicata la patch;
* inizia la compilazione del pacchetto:
* viene/vengono installato/i il/i pacchetto/i generato/i.
 
Bene, ora il pacchetto � installato nel vostro sistema!
1 760

contributi

Menu di navigazione