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:[email protected]:/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.
- 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:[email protected]:/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:[email protected]:/cvsroot co mozilla/browser/config/mozconfig
- Thunderbird
-
cvs -d :pserver:[email protected]:/cvsroot co mozilla/mail/config/mozconfig
Une branche spécifique
Si vous voulez obtenir le code source d'une branche CVS particulière, utilisez plutôt :
$ cvs -d :pserver:[email protected]:/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.
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