Code source de Mozilla (CVS)

 

Cette page est relativement obsolète. Le développement de Gecko 1.9.1/Firefox 3.1 et au-delà utilise le système de contrôle de code source Mercurial. Si vous cherchez à accéder au code source de Gecko 1.9.0 ou plus ancien, poursuivez votre lecture.

Ceux qui font du développement actif peuvent récupérer les dernières sources à l'aide de CVS. Il s'agit de la méthode idéale si vous envisagez de fournir des patches et de résoudre des bogues, étant donné qu'elle vous permet d'obtenir les derniers changements à la minute près et de les fusionner avec les vôtres.

Si vous désirez compiler un produit en vue de le distribuer, il est généralement plus facile de télécharger des archives du code source.

Premiers pas

CVS signifie « système de versions simultanées » ( Concurrent Versioning System ). Pour en savoir plus sur CVS en général, visitez ximbiot.com, ou lisez le tutoriel CVS (en anglais).

Tout le monde peut récupérer ( check out ) les sources via CVS, mais seules certaines personnes ont la possibilité de les modifier ( check in ou commit ). Ces personnes sont les responsables de modules et leurs délégués. Lisez notre document hacking mozilla pour découvrir comment obtenir la possibilité de modifier les fichiers. Vous aurez également besoin de consulter [[Utilisation de SSH pour se connecter à CVS].

Préalables

Pour récupérer les sources, vous aurez besoin de CVS 1.11 ou d'une version plus récente. La version 1.12.13 ne fonctionne pas avec le serveur CVS et provoque des blocages, cependant la version 1.12.9 est connue pour fonctionner. De plus, vous devrez utiliser GNU make pour récupérer l'ensemble et compiler Mozilla. Aucun autre programme « make » ne fonctionnera. Sous Windows, Mac OS et les systèmes GNU (comme GNU/Linux), utilisez la commande « make » pour lancer GNU make ; sur la plupart des systèmes Unix non GNU (comme Solaris, etc.), utilisez « gmake ».

Paramètres du client CVS

Le « cvsroot » (chaîne d'identification du dépôt) utilisé pour l'accès anonyme au CVS de Mozilla CVS est :

:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot

Si vous utilisez un environnement de développement intégré s'interfaçant avec CVS, utilisez les données de serveur suivantes :

  • hôte : « cvs-mirror.mozilla.org »
  • chemin du dépôt : « /cvsroot »
  • utilisateur : « anonymous »
  • mot de passe : « anonymous »
  • type de connexion : pserver
  • port : par défaut (2401)

Sélection d'un projet à récupérer

Étant donné que plusieurs applications différentes sont générées depuis le même code source de base, vous devez choisir quelle application récupérer sur la ligne de commande à l'aide de la variable MOZ_CO_PROJECT. Cette information doit être fournie au moment de la récupération du code source lui-même (consultez la section récupération appropriée ci-dessous, suivant la branche à récupérer). Parmi les options possibles figurent les suivantes :

browser 
Le navigateur « Firefox » seul.
mail 
Le client de courrier électronique/nouvelles « Thunderbird » seul.
suite 
La suite "Mozilla" SeaMonkey traditionnelle composée d'un navigateur, d'un client de courrier électronique, du composeur HTML et d'autres applications.
minimo 
Le navigateur pour périphériques légers.
composer 
Le composeur HTML seul.
calendar 
L'application d'agenda « Sunbird » seule.
xulrunner 
Le lanceur d'applications XUL de nouvelle génération.
camino 
Le navigateur natif « Camino » pour Macintosh.
tamarin 
La machine virtuelle EcmaScript d'Adobe
all 
Récupérer les sources de tous les projets ci-dessus, plus certains outils utilitaires.

Plusieurs projets peuvent être spécifiés à l'aide de virgules : MOZ_CO_PROJECT=suite,browser,xulrunner. Notez que si vous utilisez un fichier <tt>.mozconfig</tt> personnalisé, vous pouvez également y spécifier MOZ_CO_PROJECT au lieu de l'ajouter à la ligne de commande.

Récupération d'un nouvel arbre de sources

Vérifier les tinderbox

Avant de récupérer un arbre, il vaut toujours mieux vérifier la Tinderbox liée pour s'assurer que la compilation ne sera pas impossible. Si des tinderbox sont rouges, il est en général préférable d'attendre qu'elles repassent au vert avant de tenter une récupération des sources.

La branche HEAD

Pour obtenir un nouvel arbre de sources à partir de rien, commencez par récupérer le fichier <tt>client.mk</tt> qui contient les instructions de makefile utilisées pour récupérer le reste de l'arbre :

$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/client.mk

Note : si vous avez déjà mis en place un fichier <tt>.mozconfig</tt>, il peut également être nécessaire de récupérer les fichiers suivants :

Firefox 
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/browser/config/mozconfig
Thunderbird 
cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co mozilla/mail/config/mozconfig

Note : La dernière version de Thunderbird sur HEAD était une compilation nocturne post-3.0a2. La dernière version de SeaMonkey sur HEAD était une compilation nocturne 2.0a1pre. Plus aucun développement de Thunderbird ou SeaMonkey ne se déroule sur la branche HEAD de CVS

Une branche spécifique

Si vous voulez obtenir le code source d'une branche CVS particulière, utilisez plutôt :

$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r BRANCH mozilla/client.mk

Par exemple, pour obtenir la branche de développement de Firefox 2.0/Thunderbird 2.0/SeaMonkey 1.1, remplacez BRANCH dans la ligne ci-dessus par MOZILLA_1_8_BRANCH. Pour la liste des branches de Mozilla disponibles, consultez les balises CVS.

Les informations sur la récupération de fichiers .mozconfig spécifiques à certains projets tels que listés dans la section précédente s'appliquent évidemment de même aux autres branches que HEAD.

La récupération

Après avoir choisi la branche correcte, exécutez :

$ cd mozilla
$ make -f client.mk checkout MOZ_CO_PROJECT=option,option

Comme mentionné plus haut, si vous utilisez un fichier .mozconfig personnalisé où vous avez déjà spécifié la variable MOZ_CO_PROJECT, il n'est pas nécessaire de la répéter dans la ligne de commande.

Utilisez toujours <tt>client.mk</tt> pour récupérer les sources de Mozilla : ne récupérez pas le module <tt>mozilla/</tt> directement. Divers sous-projets comme NSS, NSPR et le SDK LDAP C sont récupérés depuis des balises de versions stables, même lorsque le développement normal de mozilla se poursuit sur le tronc.

Un moment précis

Si vous désirez obtenir le code source tel qu'il était à un moment donné, vous pouvez utiliser la variable MOZ_CO_DATE. Par exemple <tt>MOZ_CO_DATE="20 Oct 2006 17:00 PDT"</tt>.

Ceci peut soit être ajouté à votre fichier <tt>.mozconfig</tt>, ou spécifié sur la ligne de commande, comme ceci :

$ cd mozilla
$ make -f client.mk checkout MOZ_CO_DATE="20 Oct 2006 17:00 PDT"

Passage à une branche différente d'un arbre de sources

La branche HEAD

Pour mettre à jour un arbre de sources (qu'il soit de la branche HEAD ou d'une branche spécifique) vers la dernière version de la branche HEAD, exécutez d'abord :

$ cd mozilla
$ cvs up -A client.mk

L'option -A enlève toute information de type « sticky branch », ce qui aura pour effet de mettre à jour l'arbre vers HEAD.

Une branche spécifique

Pour mettre à jour un arbre de sources provenant d'une branche spécifique, commencez par :

$ cd mozilla
$ cvs up -r BRANCH client.mk

Remplacez BRANCH par la balise de la branche que vous désirez mettre à jour.

Mise à jour d'un arbre de sources

Pour mettre à jour votre arbre de sources, faites simplement ce qui suit :

$ make -f client.mk checkout MOZ_CO_PROJECT=option,option

Comme toujours, si vous utilisez un fichier .mozconfig personnalisé où MOZ_CO_PROJECT est déjà défini, il n'est pas nécessaire de le répéter sur la ligne de commande.

Création d'un fichier diff

Pour créer un diff (un fichier reprenant les différences entre deux fichiers, servant également à présenter un patch à appliquer) entre un fichier localement modifié et le fichier courant sur le dépôt, utilisez :

$ cvs diff -u8p NOMFICHIER

Consultez Création d'un patch pour plus d'informations.

Conversion d'un arbre de sources téléchargé

Les arbres de source téléchargés depuis mozilla.org (les tarballs de source) contiennent déjà les informations CVS nécessaires, comme s'il s'agissait de fichiers récupérés normalement via CVS. Vous pouvez mettre à jour ces arbres normalement vers le code le plus récent, sans aucune action spéciale. Consultez la section précédente pour la manière de mettre à jour un arbre de sources.

interwiki link

 

 

Étiquettes et contributeurs liés au document

Contributeurs ayant participé à cette page : Sheppy, BenoitL, aymenca4, teoli, Mgjbot
Dernière mise à jour par : teoli,