3 581
contributi
S3v (discussione | contributi) m (+ template "Autori") |
(spostata sezione da guida "Applicare_una_patch_ad_un_pacchetto_Debian" relativa ad apt-build) |
||
(3 versioni intermedie di 2 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili}} | {{Versioni compatibili|Squeeze|Wheezy|Jessie}} | ||
==Introduzione== | ==Introduzione== | ||
Riga 50: | Riga 50: | ||
'''What is your architecture?''' | '''What is your architecture?''' | ||
Ora ci verrà mostrata una lista di famiglie di processori, relative alla 'marca' del nostro processore (nel mio caso tutte AMD): scegliamo quella adeguata prendendo spunto da questa lista: [ | Ora ci verrà mostrata una lista di famiglie di processori, relative alla 'marca' del nostro processore (nel mio caso tutte AMD): scegliamo quella adeguata prendendo spunto da questa lista: [https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html#x86-Options lista] (nel mio caso, su un Compaq Presario 2100, athlon-xp). | ||
Riga 72: | Riga 72: | ||
'''NB:''' le due righe possono coesistere tranquillamente. | '''NB:''' le due righe possono coesistere tranquillamente. | ||
Ora siamo pronti ad iniziare! | Ora siamo pronti ad iniziare! | ||
==Opzioni== | ==Opzioni== | ||
Riga 82: | Riga 81: | ||
; <code>upgrade</code>: esegue un aggiornamento del sistema, scaricando i pacchetti e compilandoli; | ; <code>upgrade</code>: esegue un aggiornamento del sistema, scaricando i pacchetti e compilandoli; | ||
; <code>install</code>: scarica e compila il pacchetto indicato; | ; <code>install</code>: scarica e compila il pacchetto indicato; | ||
; <code>source</code>: scarica e decomprime il pacchetto nella directory di compilazione (di solito <code>/var/cache/apt-build/build<code>); | ; <code>source</code>: scarica e decomprime il pacchetto nella directory di compilazione (di solito <code>/var/cache/apt-build/build</code>); | ||
; <code>remove</code>: come <code>apt-get remove</code>; | ; <code>remove</code>: come <code>apt-get remove</code>; | ||
; <code>clean-sources</code>: esegue un debian/rules clean, che rimuove solamente i prodotti della compilazione; | ; <code>clean-sources</code>: esegue un debian/rules clean, che rimuove solamente i prodotti della compilazione; | ||
Riga 145: | Riga 144: | ||
Una precisazione è d'obbligo: non tutti i repository offrono i pacchetti contenenti i sorgenti, e per questo ci si può trovare di fronte ad alcuni errori. | Una precisazione è d'obbligo: non tutti i repository offrono i pacchetti contenenti i sorgenti, e per questo ci si può trovare di fronte ad alcuni errori. | ||
Qui sta a voi risolverli, o installando il pacchetto binario o cercando un altro mirror. | Qui sta a voi risolverli, o installando il pacchetto binario o cercando un altro mirror. | ||
=== Applicare una patch === | |||
Come abbiamo già visto '''apt-build''' ci mette a disposizione una opzione, <code>--patch</code>, che consente di applicare delle patch al pacchetto da installare.<br/> | |||
Vediamo, ora, come fare. | |||
Scarichiamo la patch: | |||
<pre> | |||
$ wget http://indirizzo/per/la/patch.patch | |||
</pre> | |||
e 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 <code>--noupdate</code> 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 con la patch desiderata! | |||
==Conclusioni== | ==Conclusioni== | ||
Lo strumento è veramente potente, anche se non esente da bug. | Lo strumento è veramente potente, anche se non esente da bug. |
contributi