3 581
contributi
Nessun oggetto della modifica |
(spostata sezione da guida "Applicare_una_patch_ad_un_pacchetto_Debian" relativa ad apt-build) |
||
(9 versioni intermedie di 5 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Versioni compatibili|Squeeze|Wheezy|Jessie}} | |||
==Introduzione== | ==Introduzione== | ||
Riga 43: | Riga 44: | ||
Qui possiamo passare delle opzioni aggiuntive a gcc.Eccone alcune: | Qui possiamo passare delle opzioni aggiuntive a gcc.Eccone alcune: | ||
-jX X indica il numero di compilazioni parallele consentite | ;<code>-jX</code>: X indica il numero di compilazioni parallele consentite | ||
-pipe Riduce l'accesso al disco (velocizzando l'operazione) utilizzando il pipe (|) invece dei file temporanei | ;<code>-pipe</code>: Riduce l'accesso al disco (velocizzando l'operazione) utilizzando il pipe (|) invece dei file temporanei | ||
'''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 63: | Riga 64: | ||
deb http://ftp.it.debian.org/debian/ sid main | deb http://ftp.it.debian.org/debian/ sid main | ||
</pre> | </pre> | ||
diventerà | diventerà: | ||
<pre> | <pre> | ||
deb http://ftp.it.debian.org/debian/ sid main | deb http://ftp.it.debian.org/debian/ sid main | ||
Riga 71: | 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 81: | 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 136: | Riga 136: | ||
che permette la ricompilazione di tutti i pacchetti correntemente installati sul computer! | che permette la ricompilazione di tutti i pacchetti correntemente installati sul computer! | ||
Allo stesso modo è possibile aggiornare il sistema direttamente, tramite un semplice | Allo stesso modo è possibile aggiornare il sistema direttamente, tramite un semplice: | ||
<pre> | <pre> | ||
# apt-build upgrade | # apt-build upgrade | ||
Riga 144: | 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. | ||
Riga 157: | Riga 178: | ||
'''Q: Ho spostato la directory della cache di apt-build, ma ora apt mi dà degli errori.'''<br/> | '''Q: Ho spostato la directory della cache di apt-build, ma ora apt mi dà degli errori.'''<br/> | ||
'''A:''' Beh...sarebbe stato utile, dopo lo spostamento, eseguire un | '''A:''' Beh...sarebbe stato utile, dopo lo spostamento, eseguire un: | ||
<pre> | <pre> | ||
# dpkg-reconfigure apt-build | # dpkg-reconfigure apt-build | ||
Riga 170: | Riga 191: | ||
'''Q: Mi sono accorto di non aver configurato correttamente apt-build, come posso fare a modificare la configurazione??'''<br/> | '''Q: Mi sono accorto di non aver configurato correttamente apt-build, come posso fare a modificare la configurazione??'''<br/> | ||
'''A:''' Certamente con il comando | '''A:''' Certamente con il comando: | ||
<pre> | <pre> | ||
# dpkg-reconfigure apt-build | # dpkg-reconfigure apt-build | ||
Riga 187: | Riga 208: | ||
* [http://debian-i586.sourceforge.net/]: interessante progetto di ricompilazione di Debian. Ora sembrerebbe un po'...`smorto`...magari si potrebbe dargli una mano... | * [http://debian-i586.sourceforge.net/]: interessante progetto di ricompilazione di Debian. Ora sembrerebbe un po'...`smorto`...magari si potrebbe dargli una mano... | ||
{{Autori | |||
|Autore=[[User:MaXeR|MaXeR]] | |||
}} | |||
[[Categoria:Apt]] | [[Categoria:Apt]] | ||
[[Categoria: | [[Categoria:Creare e modificare pacchetti]] |
contributi