El teu blog de Linux en català

Recentment hem vist en molts webs com podem instal·lar el nou Firefox 3.5. Una opció es fer-ho des dels repositoris, ja sigui la versió de continuu desnvolupament o amb un repositori exclusiu per a la versió 3.5. També tenim l’opció de descarregar-nos el paquet executable, tal i com s’explica des de somgnu.

Afegint el repositori de desenvolupament, tenim l’avantatge que sempre disponem de l’última versió però amb el desavantatge que aquest mateix fet ens suposa, que moltes extensions no seran compatibles amb la versió més nova, i que al tractar-se d’una versió de desenvolupament pot contenir errors. Descarregant-nos l’executable tenim l’avantatge que no haurem d’esperar que el mantenidor del repositori l’actualitzi cada cop que surt una versió nova de la branca 3.5, ja que serà el mateix programa el que s’encarregarà d’actualitzar-se per si mateix.

Bé doncs, ens centraren en aquesta darrera opció, que és la que trobem més interessant. Però no ens descarregarem l’executable de la web, sinó que crearem l’executable nosaltres mateixos a partir del codi font, i només amb les opcions que més ens interessin. D’aquest procés se’n diu “compilar un programa”. Perquè ho fem així? Perquè si compilem el programa a partir del codi font, obtindrem un firefox que s’engega molt més ràpid al estar optimitzat per a la nostra màquina. Particularment, i comprada la versió del firefox compilada amb la que et pots baixar ja compliada des de la web de mozzila, he aconseguit que el firefox se m’engegui quasi instantaniament, i mira que utilitzo extencions!

Anem a veure com ho fem per compilar el firefox 3.5. Ja veureu com és un procés molt senzill que l’únic que necessiteu és una mica de temps perquè el procés de compliació pot durar una bona mitja horeta, així que anar a fer un café mentres l’ordinador treballa pot ser una bona opció.

Primer de tot instal·lem les llibreries necessaries per compilar el programa.

sudo apt-get build-dep firefox
sudo apt-get install libcairo2 libcairo2-dev libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libasound2-dev

Ara ens descarregarem el codi font del firefox

wget ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.5/source/firefox-3.5-source.tar.bz2

El descomprimim tenint present que la descompressió tardarà una miqueta

tar -xvf firefox-3.5-source.tar.bz2

Entrem al directori on hi tenim el codi preparat per a ser compilat

cd mozilla-1.9.1/

Ara hem d’aplicar un pedaç al codi font per tal que pugui ser compilat usant el motor gràfic “cairo”, que ens permetrà gaudir d’unes tipografies ben boniques

wget -O - http://hg.mozilla.org/mozilla-central/raw-file/9eca240fc4b8/gfx/thebes/src/gfxASurface.cpp > gfx/thebes/src/gfxASurface.cpp

Ara que ja tenim preparat el codi, prepararem les opcions de compilació que volem

gedit mozconfig

Hi hi escrivim aquestes opcions de compilació. Guardarem el document i el tanquem. Aquestes opcions són per compilar el firefox sense que reporti errors en cas de fallida, sense opcions pel desenvolupament, optimitzat, sense fer tests durant la compilació, amb el que estalviareu molt de temps, amb suport criptogràfic i usant el cairo com a motor gràfic. Podeu trobar més opcions de compilació al final d’aquesta web.

mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-opt
ac_add_options --enable-application=browser
ac_add_options --disable-tests
ac_add_options --enable-optimize --disable-debug
ac_add_options --enable-default-toolkit=cairo-gtk2 --enable-system-cairo
ac_add_options --disable-crashreporter
ac_add_options --enable-crypto

Ara li diem on està el fitxer de configuració al sistema. Val la pena comentar que el símbol “~” en gnu/linux equival a escriure la ruta cap a la teva carpeta d’usuari, en el meu cas equivaldria a escriure “/home/guillem”

export MOZCONFIG=~/mozilla-1.9.1/mozconfig

I bé, ara ja només cal compilar-lo. Agafeu una tassa de te i mireu un capítol de lost. Tingueu present que necessitareu força memòria RAM per fer la compilació i una memòria lliure de 500 Mb al disc dur.

make -f client.mk build

Si teniu dos processadors, per exemple, podeu utilitzar-ne la potència compilant amb aquesta comanda. Noteu que per a dos processadors l’opció és “-j (N+1)”

make -j 3 -f client.mk build

Ara ja teniu el programa compilat, felicitats! El podeu provar anant al directori

cd ff-opt/dist/bin

I executant el firefox. Quan feu això assegureu-vos que no tingueu cap firefox obert, sinó només us obirarà una finestra més de la versio que estigueu fent servir.

./firefox

Ara només ens queda fer-ne l’executable independent de la resta de llibreries que hi ha a la carpeta mozzila-1.9.1, que ja deveu haver vist que ocupa quasi 500 Mb. Això ho farem amb l’orde següent.

cd mozilla-1.9.1/ff-opt/
make package

Ara haurem obtingut el programa executable en aquesta carpeta, llest per ser passat als vostres amics.

~/mozilla-1.9.1/ff-opt/dist/firefox-3.5.en-US.linux-i686.tar.bz2

Us el podeu instal·lar, per exemple, creant una carpeta per al vostre usuari que es digui “bin”, o a on més us agradi. A tall d’exemple

mkdir ~/bin
cp ~/mozilla-1.9.1/ff-opt/dist/firefox-3.5.en-US.linux-i686.tar.bz2 ~
tar -xvf ~/firefox-3.5.en-US.linux-i686.tar.bz2
mv ~/firefox ~/bin/firefox

Perquè quan crideu el firefox se us obri sempre el firefox 3.5 que acabeu de compilar i que l’heu ficat a la carpeta ~/bin

unlink /usr/bin/firefox
ln -s ~/bin/firefox/firefox /usr/bin/firefox

Ara que ja us funciona el Firefox 3.5, només és ens queda catalantizar-lo. Això ho farem un cop obert, anirem a aquesta web i ens instal·larem el paquet de traducció pel català. Un cop fet, reiniciarem el Firefox.

http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5/linux-i686/xpi/ca.xpi

Ara si volem, podem optimitzar el firefox perquè navegui més ràpid, tal i com s’explica en aquest article.

Nota de l’autor pels més Geeks

Altres opcions que he pensat que també podrien estar bé són aquestes, encara que jo no ho he provat. Us recomano que les afegiu si heu aconseguit ja compilar-lo un cop, llavors us podeu dedicar a optimitzar-lo més al vostre gust. Aquestes opcions són per deshabilitar l’accessibilitat que suposo que no necessito, per deshabilitar el lector de feeds del firefox que tampoc utilitzo, el viso d’ajuda, qui l’utilitza?, els constrols parentals??, i els perfils que tampoc crec que utilitzi massa gent, i un nivell d’optimització superior, podeu provar també amb -O2.

--disable-accessibility
--disable-feeds
--disable-help-viewer
--disable-parental-controls
--disable-profile-modules
--disable-profilelocking
--disable-profilesharing
--enable-optimize=-O3

I segur que em deixo moltes coses, així que si en sabeu d’altres o en descobriu de noves, no dubteu en deixar-ho escrit als comentaris. 😉

Referències per compilar el firefox: Font 1, Font 2

firefoxlogo