Dis, cela prend combien de temps pour compiler un Mozilla Firefox ?

Adepte des versions de développement des logiciels de la Fondation Mozilla depuis Mozilla 0.8 (en gros depuis février 2001), j’ai toujours voulu connaître le temps nécessaire à la compilation d’une version « from scratch », en clair, en repartant de zéro.

Ayant récupéré le code source en utilisant les instructions disponibles à l’adresse https://developer.mozilla.org/En/Developer_Guide/Source_Code/Mercurial, en clair en entrant sur une ligne de commande :

hg clone http://hg.mozilla.org/mozilla-central/ src
cd src

Puis en actualisant le code source avec un petit :

hg --verbose pull -u

J’ai ensuite utilisé le fichier .mozconfig suivant :

#
# See http://www.mozilla.org/build/ for build instructions.
#

export AUTOCONF=autoconf-2.13

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-fx

# Options for ‘configure’ (same as command-line options).
ac_add_options –enable-optimize
ac_add_options –disable-debug
ac_add_options –disable-tests

Pour des raisons techniques, il faut installer l’ancienne version d’autoconf, connue sous le nom d’autoconf-compat sur Archlinux.

J’ai divisé la compilation en deux temps : un pour les dépendances, l’autre pour la compilation proprement dite.

Pour les dépendances :

make -f client.mk depend

Pour la compilation :

make -f client.mk build

Et le temps nécessaire ? Il suffit d’ajouter la commande time devant les commandes make.

Pour les dépendances :

real    2m49.202s
user    1m30.977s
sys    0m44.534s

Pour la compilation :

real    43m33.043s
user    39m33.562s
sys    3m38.266s

Pour info, ma configuration :

Acer Aspire 5520, donc :

  • AMD Athlon X2 TK 55 (800 à 1800 Mhz)
  • 2 GiO de mémoire vive
  • 120 GiO de disque dur
  • Circuit vidéo GeForce7000M

Sur le plan logiciel :

  • Archlinux 2009.02 à jour avec le dépot testing activé
  • Gnome 2.28.0
  • gcc / g++ 4.4.1

45 minutes, sur un portable acheté en février 2008, ce n’est pas si mal que cela 😉

Sortie de Mozilla Firefox 3.5.1.

Suite à la publication d’un code exploitant une faille dans le moteur de compilation du Javascript TraceMonkey, la Fondation Mozilla sort une version corrigé du navigateur internet.

Il suffira d’attendre la mise à jour automatique (ou de la forcer) – sur MacOS-X et MS-Windows ou encore d’attendre la mise à jour des dépots de votre distribution linux.

Notes de publications de cette version corrigée :

http://www.mozilla-europe.org/fr/firefox/3.5.1/releasenotes/

Bon téléchargement.

Tabu Audio Player pour Archlinux… Merci AUR ;)

Lisant le blog de Devil505, celui ci a parlé de Tabu Audio Player.

J’en ai donc profité pour écrire mon premier « vrai » PKGBUILD pour aur.archlinux.org, celui-ci concernant la version 1.4.1 de Tabu Audio Player.

Voici le code, que j’ai copié sur le modèle proposé. Peut-être pas encore très propre, mais il fonctionne très bien sur ma machine 😉

# Contributor: FredBezies

pkgname=tabu-audio-player
_pkgname=tabu_audio_player
pkgver=1.4.1
pkgrel=1
pkgdesc= »Simple gstreamer audio player with client-side decorations and playback controls drawn with cairo. »
arch=(‘i686’ ‘x86_64’)
url= »http://www.kalmbach.com.ar/tabu.html »
license=(‘GPL’)
groups=()
depends=(‘taglib>=1.5’ ‘gtk2’ ‘gstreamer0.10’)
makedepends=(‘gettext’)
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
source=(http://www.kalmbach.com.ar/download/$_pkgname-$pkgver.tar.gz)
noextract=()
md5sums=(af5fbd1625fdc2f708c2ebdb24b272c9)

build() {
cd $srcdir/$_pkgname-$pkgver
./configure –prefix=/usr
make || return 1
make DESTDIR=$pkgdir install || return 1
}

L’installation : un petit yaourt -S tabu-audio-player

Le résultat ? Ci-dessous :

Tabu Audio Player 1.4.1 sous Archlinux

Profiter de Mozilla Firefox 3.5rc2 sous linux 64 bits.

Cet article est écrit à titre « pédagogique » et de culture générale informatique. Etant donné qu’il n’y a pas de version officielle de Mozilla Firefox 3.5rc2 en 64 bits pour linux, j’ai décidé de montrer comment faire.

Mozilla Firefox 3.5rc2 pour linux en 64 bits

Je me base sur une ArchLinux 64 bits, à jour, avec Xfce 4.6.1 (installé en utilisant le wiki anglophone. D’ailleurs, pour faire une digression rapide, si vous avez des problèmes avec le volume, installer le paquet oss et rajouter le daemon oss à la ligne DAEMONS du fichier /etc/rc.conf est radical pour corriger le problème).

Bref, en me basant sur la documentation disponible ici (notamment les pré-requis), on peut se faire un environnement de compilation facilement.

Pour autoconf-2.13, il faut utiliser le paquet autoconf-compat, disponible sur aur.archlinux.org via l’outil yaourt :

yaourt -S autoconf-compat

Une fois le code source récupéré depuis http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.5rc2/source/, il suffit de décompacter le code source et de rajouter le fichier .mozconfig suivant :


export AUTOCONF=autoconf-2.13

. $topsrcdir/browser/config/mozconfig

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../objdir-fx

ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --disable-tests

Pour lancer la compilation. On se rend dans le répertoire du code source, à savoir mozilla-1.9.1 puis dans un terminal :


make -f client.mk depend
make -f client.mk build

Il faut compter entre 45 minutes et une heure.

Ensuite, il faut aller dans le répertoire objet où se trouve le code compilé :


cd ../objdir-fx
make package

Le logiciel se trouve dans le répertoire objdir-fx/mozilla/dist/. Une archive tar.bz2 est disponible. Il suffit de la décompacter dans un répertoire ailleurs pour obtenir un firefox indépendant du code source. Par exemple dans un répertoire applications 😉

Le plus simple est de créer un lanceur.

On peut récupérer le paquet de traduction française ici :

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

Une fois le paquet installé, il faut modifier une valeur dans about:config, il s’agit de general.useragent.locale à modifier en fr.

Une fois Mozilla Firefox relancé, la VF nous accueille.

J »aurais très bien pu utiliser le paquet proposé par AUR, mais je voulais avoir une version aussi proche que possible du code officiel.

En vrac’ rapide et plutôt libre ;)

Un petit en vrac’ rapide et plus ou moins consacré au logiciel libre.

Pour finir, l’obligatoire capture d’écran : Liferea 1.6rc4 sous Archlinux 64 bits.

liferea 1.6rc4 sous Archlinux 64 bits