Apt-build: ottimizzazione dei pacchetti: differenze tra le versioni

spostata sezione da guida "Applicare_una_patch_ad_un_pacchetto_Debian" relativa ad apt-build
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: [http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Options.html lista] (nel mio caso, su un Compaq Presario 2100, athlon-xp).
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.
3 581

contributi