Come sicuramente sapete, è possibile installare software precompilato nella vostra Linux Box basata su Debian, scaricandolo dai vari repository tramite il comodo apt-get. In alcuni casi potrebbe essere utile compilare il software manualmente, perché è necessario modificare qualche parametro di configurazione, oppure aggiungere qualche funzionalità oppure installare una particolare patch. La procedura non è molto complessa e ci si può basare sui sorgenti utilizzati nei repository Debian per i pacchetti precompilati.
Vediamo come procedere compilando un pacchetto di esempio. Scegliamo di compilare apache2 a cui aggiungiamo una patch.
Innanzitutto bisogna assicurarsi di avere il riferimento a deb-src nel file /etc/apt/sources.list. Nel caso non ci sia nessuna riga di questo tipo, se ne può aggiungere una come segue:
1 |
deb-src http://ftp.it.debian.org/debian/ testing/updates main contrib non-free |
Installiamo intanto alcuni tools che ci serviranno successivamente per la compilazione:
1 |
apt-get install dpkg-dev build-essential devscripts |
Ora creiamo le cartelle in cui lavorare:
1 |
# mkdir /usr/src/apache2-src |
1 |
# cd /usr/src/apache2-src |
1 |
# apt-get source apache2 |
Ora nella cartella troverete diversi file:
1 |
# ls |
1 |
<pre>apache2_2.2.9 apache2_2.2.9-10+lenny2.diff.gz apache2_2.2.9-10+lenny2.dsc apache2_2.2.9.orig.tar.gz |
A questo punto possiamo spostarci nella cartella apache2-2.2.9 con i sorgenti ed effettuare le necessarie modifiche.
Bene, ora scarichiamo i pacchetti che contendono le librerie necessarie per la compilazione con:
1 |
# apt-get build-dep apache2 |
Ora entriamo nella cartella con i sorgenti ed installiamo la patch che ipotizziamo sia /tmp/apache2.patch
1 |
# cd apache2_2.2.9 |
1 |
# patch -p1 < <em>/tmp/apache2.patch</em> |
Infine, per avviare la compilazione vera e propria, dalla cartella dove sono i sorgenti del pacchetto che abbiamo appena personalizzato, digitiamo:
1 |
# dpkg-buildpackage -rfakeroot -uc -b |
dove le opzioni servono per:
b = Crea solo il pacchetto binario e non quello dei sorgenti
-uc = Non crea il file .changes
ATTENZIONE: Per passare opzioni aggiuntibe alla procedura di compilazione, si può inizializzare la variabile d’ambiente DEB_BUILD_OPTIONS
1 |
DEB_BUILD_OPTIONS="--enable-gui --enable-radio" fakeroot debian/rules binary |
Per passare parametri al MakeFile, come ad esempio l’uso del gcc 3.4:
1 |
CC=gcc-3.4 DEB_BUILD_OPTIONS="--enable-gui --enable-radio" fakeroot debian/rules binary |
A questo punto i pacchetti (binario e librerie) sono pronti e sono stati creati nella cartella di livello superiore. Spostiamoci in tale cartella ed installiamo il pacchetto di cui abbiamo bisogno tra quelli disponibili:
1 |
# cd .. |
1 |
# ls |
1 |
# dpkg -i XXXXXXX.deb |
dove XXXXXXX.deb è chiaramente il pacchetto da noi scelto per l’installazione
Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario 🙂
Commenta