Compilare Mozilla Minimo in Slackware 11
Introduzione
Negli ultimi anni, con il veloce sviluppo e la sempre maggiore diffusione dei dispositivi mobili, sempre più spesso gli sviluppatori si trovano nella condizione di dover testare applicazioni web sviluppate appositamente per questi nuovi device. Non sempre però si dispone degli strumenti necessari, sia per il costo ancora eccessivo dei palmari sia per l’eterogeneità dei sistemi operativi preinstallati sui dispositivi.
Per risolvere parzialmente questi problemi vedremo come installare il browser web di casa Mozilla per dispositivi mobili, nome in codice Minimo (MINIMOzilla), sulla nostra linux box (Slackware 11 installata di fresco).
Checkout del codice e Configurazione
Il codice che ci serve si trova nel repository CVS di mozilla, in diversi interventi sui vari forum dedicati si consiglia di non utilizzare il trunk ma basarsi sul più stabile branch 1.8. Per fare questo posizionarsi da qualche parte nel filesystem (io ho utilizzato l’utente root per poter operare direttamente da /opt
), creare una directory per contenere i sorgenti (mkdir minimo
) e posizionarsi al suo interno (cd minimo
, a questo punto ci troviamo in /opt/minimo
). Di norma non si effettua mai direttamente il checkout dei sorgenti di progetti mozilla ma si utilizza il client.mk
che si prende carico di tutte le fasi, per questo scaricheremo inizialmente dal repository soltanto pochi file:
export CVSROOT=':pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot'
cvs co -r MOZILLA_1_8_BRANCH mozilla/client.mk mozilla/minimo/config/
l’output di questi comandi dovrebbe assomigliare a:
U mozilla/client.mk
cvs checkout: Updating mozilla/minimo/config
U mozilla/minimo/config/Makefile.in
U mozilla/minimo/config/linux_package.sh
U mozilla/minimo/config/version.txt
U mozilla/minimo/config/wince_buildinstaller.sh
U mozilla/minimo/config/wince_package.sh
cvs checkout: Updating mozilla/minimo/config/mozconfig
U mozilla/minimo/config/mozconfig/linux_x86
U mozilla/minimo/config/mozconfig/win32x86
U mozilla/minimo/config/mozconfig/wince_mozconfig
cvs checkout: Updating mozilla/minimo/config/wince
U mozilla/minimo/config/wince/eula.txt
U mozilla/minimo/config/wince/minimo.ico
U mozilla/minimo/config/wince/minimo.inf
U mozilla/minimo/config/wince/minimo_installer.ini
U mozilla/minimo/config/wince/readme.txt
A questo punto possiamo personalizzare i parametri di compilazione:
cp mozilla/minimo/config/mozconfig/linux_x86 mozilla/mozconfig
cd mozilla
pico -w mozconfig
abilitiamo la modalità debug (di default è disabilitata):
ac_add_options --enable-debug
se si dispone di un processore dual core si può impostare il multithreaded building per velocizzare la compilazione:
mk_add_options MOZ_MAKE_FLAGS=-j3
Il checkuot vero e proprio viene eseguito a questo punto con il comando:
make -f client.mk checkout
e dopo un’attesa più o meno lunga (con un 56k circa 4 ore) avremo i sorgenti pronti per la compilazione.
Compilazione
Per compilare i sorgenti è sufficente eseguire questo comando:
make -f client.mk build_all
ed attendere la fine del processo. Se non si verificano errori avremo il browser minimo pronto all’uso.
Esecuzione
Prima di poter eseguire minimo dobbiamo impostare alcune variabili d’ambiente:
export MOZILLA_FIVE_HOME=$(pwd)/dist/bin
export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME
ed in seguito, con il comando:
dist/bin/minimo
potremo finalmente eseguire il browser.
Goodies
Se, come me, avete un solo utente sulla linux box con la necessità di utilizzare minimo potreste valutare di offrire a questo utente maggiori diritti sulla directory /opt/minimo:
chown -R [your user]:users /opt/minimo
e, dopo essersi assicurati che la directory ~/bin esista e sia nel path (eseguire echo $PATH
da utente), trovo comodo creare un semplice script bash per settare le variabili d’ambiente ed avviare minimo (come utente normale):
cd ~/bin
pico -w minimo
inserire nel file quanto segue:
#!/bin/bash
export MOZILLA_FIVE_HOME=/opt/minimo/mozilla/dist/bin; export LD_LIBRARY_PATH=$MOZILLA_FIVE_HOME; /opt/minimo/mozilla/dist/bin/minimo
e rendere lo script eseguibile:
chmod 755 minimo
Ora per lanciare minimo dovrebbe bastare eseguire il comando minimo
da terminale.
Altre Risorse Alternative
Opera Mini Simulator – This is a live demo of Opera Mini 4 beta that functions exactly like it would when installed on a handset.
Maemo – Maemo provides an open source development platform for Nokia Internet Tablets and other Linux-based devices.
Bibliografia
Minimo Home Page
Building Minimo for Linux – Mozilla Official Page
Building Minimo on x86 Linux – MozillaZine Forum
Note: sebbene io abbia utilizzato slackware 11 con kernel 2.6.17.13 è molto probabile che questa guida permetta di installare minimo in tutte le distribuzioni linux recenti.