En vrac’ rapide et libre ;)

Un petit en vrac’ rapide et libre.

C’est tout pour aujourd’hui !

Sortie de Lanikai alpha1 et nouvelles illustrations pour Shredder.

Commençons par le commencement, à savoir traduire les noms :

Aujourd’hui, la première alpha de Lanikai (alias Mozilla Thunderbird 3.1) est sortie. Parmi les nouveautés :

  • Basé sur Gecko 1.9.2, en clair, le même moteur que celui de Mozilla Firefox 3.6
  • Des améliorations sur le plan des dossiers intelligent, du support IMAP, des filtres de message, de la gestion des pièces jointes.
  • Des corrections au niveau de l’interface.
  • Des bugs corrigés ici et là.

Etant donné que c’est la première alpha, elle est déconseillée pour le grand public et reste réservée aux personnes qui aiment faire mumuse avec leurs courriers ou qui savent utiliser à bon escient les notes de publications 🙂

Pour Shredder, les illustrations qui dataient de l’époque des version 0.x de Mozilla Thunderbird (soit en gros cinq bonnes années) commençaient à dater. C’est pour cela que le bug 433630 avait été ouvert il y a un an et demi.

On peut traduire Shredder par… destructeur. Et l’icone officielle des versions de développement est assez claire à ce sujet :

Nouvelles illustrations dans Shredder

Maintenant, attendons patiemment la sortie des futures versions du client de messagerie de la Fondation Mozilla 😉

Compiler Minefield sur les distributions linux « moins grand publics » – Partie 3 – ArchLinux.

Après la Frugalware Linux et la Slackware Linux, voici le dernier volet : La ArchLinux. J’ai installé et mis à jour une ArchLinux 64 bits. J’ai installé dessus un Xfce 4.6.1 à la place d’un Gnome. Pourquoi ? Simplement que je voulais utiliser un environnement basé sur gtk2 assez léger 😉

Sur Archlinux, le problème lié au bug 104642 sur le bugzilla de Mozilla se résout facilement.

Avec une installation par défaut d’Archlinux avec Xfce (ou encore Gnome), on a la quasi-totalité des dépendances de compilation. Seul manque autoconf 2.13, mercurial et zip. En utilisant l’excellent yaourt, le problème se résout en… 2 minutes :

yaourt -S autoconf-compat mercurial zip

Installation d'autoconf 2.13 sur Archlinux

Pour gagner du temps, j’ai utilisé le paquet du code source que j’utilise dans ma machine réelle. Il faut dire que le code source pèse quelque chose comme 600 MiO décompressé.

Sinon, pour récupérer le code source en entier :

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

Le code source est localisé dans ~/fox/src

Le fichier de configuration .mozconfig utilisé est le 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

Ensuite on verifie que le code source est bien à jour :

hg --verbose pull -u

Et la compilation proprement dite :

make -f client.mk build

La compilation dure environ 90 minutes. Sur ma machine réelle, la compilation prend 25 minutes de moins, environ.

Le résultat est disponible dans le répertoire objdir-fx/dist/firefox/

Il suffit d’entrer un ./firefox & pour avoir le résultat.

Minefield sur Archlinux

Maintenant à vous d’adapter les instructions pour votre propre distribution, tant qu’elle est assez peu « grand public » 😉

Compiler Minefield sur les distributions linux « moins grand publics » – Partie 2 – Slackware Linux.

Après la Frugalware Linux, voici le deuxième volet : La Slackware Linux. J’ai installé et mis à jour une slackware64 13.0. J’ai installé une version allégée, remplaçant le KDE 4.2.x proposé par défaut par un Xfce 4.6.1.

Le point ennuyeux ? L’absence d’autoconf 2.13 qui est indispensable pour lancer la compilation du code source. Cf le bug 104642 sur le bugzilla de Mozilla.

N’ayant pas pu trouver le paquet pour autoconf 2.13 sur http://www.slackbuild.org/, j’ai été obligé de le faire compiler à la main. Pas très propre mais fonctionnel !

J’ai du rajouté le paquet libnotify (en forçant l’architecture dans le fichier de slackbuild) depuis http://www.slackbuild.org/.

Pour gagner du temps, j’ai utilisé le paquet du code source que j’utilise dans ma machine réelle. Il faut dire que le code source pèse quelque chose comme 600 MiO décompressé.

Sinon, pour récupérer le code source en entier :

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

Le code source est localisé dans ~/fox/src

Le fichier de configuration .mozconfig utilisé est le suivant :

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

export AUTOCONF=autoconf2.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

Ensuite on verifie que le code source est bien à jour :

hg --verbose pull -u

Et la compilation proprement dite :

make -f client.mk build

Erreur compilation de Minefield dans une Slackware 13.0 64 bits

Et impossible de dépasser la compilation du moteur javascript, la compilation s’arrête avec une histoire de cible « -pthread » introuvable. Je me suis aperçu de la présence de 2 répertoires dans /usr :

  • /usr/lib
  • /usr/lib64

J’ai tenter de rajouter le second dans le fichier /etc/ld.so.conf, mais après un redémarrage, aucun changement. J’avoue avoir « googler » mais sans grande réussite. A croire que la version de développement ne se compilera dans une Slackware Linux 13.0 64 bits 🙁

A croire que ce commentaire sur l’article précédent était un brin prémonitoire.

Dommage !

Compiler Minefield sur les distributions linux « moins grand publics » – Partie 1 – Frugalware Linux.

Depuis l’an 2000 (en gros), j’ai pu faire compiler à mes différentes machines (PC sous Windows ou Linux, ou encore mon MacMini à l’époque de MacOS-X Tiger) le code source de la suite Mozilla (devenue SeaMonkey) puis de Mozilla Firefox et de Mozilla Thunderbird, ce qui m’a permis de vivre leur évolution depuis près de 10 ans.

Pour fêter ces 10 ans (déjà !), j’ai décidé de faire une série de tutoriels pour montrer comment faire compiler Mozilla Firefox – du moins le code du tronc connu comme MineField (champ de mines) – sur les distributions linux moins « grand public ».

Le premier article est consacré à la Frugalware Linux. Je ferais aussi des articles pour la Slackware et pour la ArchLinux. Les distributions plus « connues » que sont Ubuntu Linux ou encore la Fedora sont déjà couverte via le biais de la debian et de la RedHat sur cette page consacrée aux développeurs sur le site de la Fondation Mozilla : https://developer.mozilla.org/En/Developer_Guide/Build_Instructions/Linux_Prerequisites

La Frugalware Linux est une version 1.1 en 64 bits que j’ai fait passé vers current. L’ayant installé depuis le DVD, j’ai rajouté le groupe « devel » ce qui me permet d’avoir 99% des outils de compilation.

Le point ennuyeux ? L’absence d’autoconf 2.13 qui est indispensable pour lancer la compilation du code source. Cf le bug 104642 sur le bugzilla de Mozilla.

Continuer la lecture de « Compiler Minefield sur les distributions linux « moins grand publics » – Partie 1 – Frugalware Linux. »

En vrac’ rapide et libre avant le week-end

Un petit en vrac’ matinal avant un week-end qui s’annonce froid.

  • Sortie de la 5ième et ultime (??) version bêta de Mozilla Firefox 3.6.  Une grosse centaine de correctifs appliqués sur le code source. Ce qui reporte la sortie début 2010 comme je le pensais depuis quelques temps 😉
  • Sortie de la première RC du noyau linux 2.6.33 qui sortira normalement d’ici deux mois et demi environ. Et Linus pousse une petite gueulante : « The two-week merge window is _not_ supposed to be « one day merge window after thirteen days of silence ». In fact, I think that next time around I’ll make the merge window be 11-12 days instead, and people who try to game the system and do a last-minute pull request will get a surprise, and get unceremoniously bumped to 2.6.35 instead. » ce qui donne traduit : « La période de fusion de code de deux semaines n’est pas supposée être ‘un jour d’ajouts après treize jours de silence’. Dans les faits, je pense que la prochaine fois je réduirais la période à 11-12 jours, et les personnes qui essayeront de jouer avec le système et voudront faire des ajouts de dernière minute seront surpris et envoyés sans autre forme de procès dans la liste d’attente jusqu’au 2.6.35 »
  • Arrivée de Mozilla SeaMonkey 2.0.1, avec son habituel lot de correctifs.
  • Encore un nouveau liveCD pour Arch. DwmArch avec le gestionnaire de fenêtre dwm.
  • CtkArchLive propose désormais une iso pour x86_64 mais aussi pour i586. Merci à LinuxFr pour l’info. Miam 😉
  • Arrivée de Gnome 2.28.2 sur Archlinux. Cela fait plaisir de voir ce bon vieux Gnome être mis à jour sans arrachage de cheveux 😉

gnome 2.28.2 sur Archlinux

Allez, bon week-end à toutes et à tous !

Arrivée d’Electrolysis sur le code de développement de Mozilla Firefox.

La version 3.7 (qui sortira courant 2010) de Mozilla Firefox proposera une technologie déjà implémentée par Microsoft Internet Explorer 8 et Google Chrome : un processus par onglet.

La technologie dans le monde mozillien s’appelle Electrolysis – électrolise en bon français – et vient juste d’atterir sur le code source du tronc de Mozilla Firefox. En effet, quand j’ai mis à jour le code source ce soir, j’ai eu droit à un message m’annonçant la modification de… 1242 fichiers d’un coup.

electrosys arrive !

A l’heure où je rédige cet article, le code source se compile. Je pense qu’il y aura une augmentation de la mémoire vive demandée, mais si cela permet de fermer un onglet fautif sans crash du navigateur, je vote pour 😉

Un aperçu de Seamonkey 2.0.

A l’origine, en 1998, quand le projet Mozilla fut lancé, le code était celui de la suite internet complète : navigateur, courrier, forums, client irc et éditeur de pages html. En 2004, la suite est plus ou moins laissée à l’abandon, au profit du duo Mozilla Firefox et Mozilla Thunderbird. Le projet fut repris par la suite, et voici enfin la version 2.0 de SeaMonkey.

Continuer la lecture de « Un aperçu de Seamonkey 2.0. »

Vers le bout du tunnel pour Mozilla Thunderbird 3.0 ?

Depuis la sortie de la version 2.0 de Mozilla Thunderbird (en avril 2007, deux ans et demi déjà), deux versions majeures de Mozilla Firefox (son pendant pour la navigation internet) sont sorties : les versions 3.0 et 3.5.

Même si 23 révisions mineures sont sorties depuis, la version 3.0 de Mozilla Thunderbird semblait repoussée aux calendes grecques. Cependant, en lisant ceci via le site Planet Mozilla, il semblerait que la première version RC soit assez proche. Et cela fait plaisir à lire.

D’ailleurs, voici ce que donne une compilation du code du tronc, qui donnera d’ici deux ans (soyons optimistes !) Mozilla Thunderbird 3.1 😉

Shredder 3.1-prealpha1

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 😉