11. Mise à niveau aux nouvelles versions

[Avertissement]Avertissement

Mettre à niveau est une opération à sens unique. Il est conseillé de faire une copie de sauvegarde de votre base de données et répertoire courant Bugzilla avant de tenter une mise à niveau. Si vous souhaitez repasser à la version précédente pour une raison quelconque, vous devrez restaurer à partir de ces copies de sauvegarde.

Mettre à niveau Bugzilla est une chose que nous voulons tous faire de temps en temps, que ce soit pour récupérer de nouvelles fonctionnalités ou les dernières failles de sécurité. La facilité à télécharger dépend de quelques facteurs :

Il existe trois manières différentes de mettre à jour votre installation.

  1. En utilisant un CVS (Exemple 3.1, « Mise à niveau par le CVS »)

  2. En téléchargeant une nouvelle archive (Exemple 3.2, « Mettre à niveau avec le tarball »)

  3. En appliquant les programmes de correction appropriés (Exemple 3.3, « Mise à niveau avec les correctifs »)

Chacune de ces options a ses propres avantages et inconvénients; celle qui vous correspond dépend du temps écoulé depuis la dernière fois que vous avez fait une installation et/ou de votre configuration réseau.

Les révisions sont normalement officialisées seulement lorsque des points faibles au niveau sécurité sont en cause; ils se distinguent par une augmentation du troisième chiffre. Par exemple, lorsque 2.16.6 est sorti, c'était une amélioration de la 2.16.5.

Les versions intermédiaires sont généralement émises lorsque l'équipe de développement Bugzilla estime que suffisamment de progrès a été fait globalement. Elles sont souvent obtenus par une période de stabilisation et de ***release candidates***, par contre, l'utilisation des versions de développement et de ***release candidates*** échappe à la portée de ce document. Les versions intermédiaires se distinguent par une augmentation dans le deuxième numéro, celui de version mineure. Par exemple, 2.18.0 est une version intermédiaire plus récente que 2.16.5.

Les exemples des chapitres suivants sont rédigés comme si l'utilisateur passait à la version 2.18.1, mais les procédures sont les mêmes que l'on passe à une nouvelle version intermédiaire ou que l'on essaie simplement de récupérer une nouvelle version bugfix. Par contre, le risque d'avoir des problèmes est plus grand lorsque 'on passe à une version intermédiaire, surtout si des modifications locales ont été effectuées.

Dans ces exemples, l'installation Bugzilla de l'utilisateur se trouve à /var/www/html/bugzilla. Si ce n'est pas le même emplacement pour votre installation Bugzilla, vous n'avez qu'à remplacer par les chemins qui conviennent là où c'est nécessaire.

Exemple 3.1. Mise à niveau par le CVS

Chaque version de Bugzilla, que ce soit une version intermédiaire ou un bugfix, est marquée dans le CVS. Ainsi, chaque tarball qui a été distribué depuis la version 2.12 a été créé de telle sorte qu'il peut être utilisé avec le CVS une fois dépaqueté. Une telle manière de procéder exige cependant que vous puissiez accéder à cvs-mirror.mozilla.org sur le port 2401.

[Astuce]Astuce

Si vous en avez la possibilité, la mise à jour par le CVS est probablement la méthode la moins pénible, particulièrement si vous avez beaucoup de modifications locales.

bash$ cd /var/www/html/bugzilla
bash$ cvs login
Logging in to :pserver:anonymous@cvs-mirror.mozilla.org:2401/cvsroot
CVS password: anonymous
bash$ cvs -q update -r BUGZILLA-2_18_1 -dP
P checksetup.pl
P collectstats.pl
P globals.pl
P docs/rel_notes.txt
P template/en/default/list/quips.html.tmpl

[Attention]Attention

Si une ligne en sortie de cvs update commence avec un C, cela indique un fichier avec des modifications locales que le CVS a été incapable d'intégrer. Vous avez besoin de résoudre ces conflits manuellement avant que Bugzilla (ou au moins la partie utilisant ce fichier) devienne utilisable.

[Note]Note

vous aurez besoin d'exécuter ./checksetup.pl avant que votre mise à niveau de Bugzilla soit achevée.

Exemple 3.2. Mettre à niveau avec le tarball

Si vous être dans l'incapacité ou n'avez pas envie d'utiliser le CVS, une autre option toujours possible est d'obtenir la dernière archive tar. Ceci est la plus difficiles des options à utiliser, surtout si vous avez des modifications locales.

bash$ cd /var/www/html
bash$ wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.1.tar.gz
Affichage omis
bash$ tar xzvf bugzilla-2.18.1.tar.gz
bugzilla-2.18.1/
bugzilla-2.18.1/.cvsignore
bugzilla-2.18.1/1x1.gif
Affichage tronqué
bash$ cd bugzilla-2.18.1
bash$ cp ../bugzilla/localconfig* .
bash$ cp -r ../bugzilla/data .
bash$ cd ..
bash$ mv bugzilla bugzilla.old
bash$ mv bugzilla-2.18.1 bugzilla
bash$ cd bugzilla
bash$ ./checksetup.pl
Affichage omis

[Avertissement]Avertissement

Si les commandes cp terminent toutes les deux par un point, ce qui est un détail important, cela indique à la console que le répertoire de destination est le répertoire de travail courant. De la même façon, le point au début de la commande ./checksetup.pl est important et ne doit pas être omis.

[Note]Note

Vous devrez rétablir à la main toute modification locale que vous avez faite.

Exemple 3.3. Mise à niveau avec les correctifs

L'équipe de développement Bugzilla rend généralement disponible un correctif pour aller d'une révision donnée à la nouvelle. Vous pouvez aussi lire les release notes et utiliser les correctifs attachés aux bogues décrits mais il est plus simple de prendre le correctif publié car les correctifs sont quelques fois modifiés avant d'être intégré. Il est aussi théoriquement possible de parcourir la liste des bogues corrigés et de choisir les correctifs d'une révision qu'on veut appliquer mais ceci n'est pas recommandé non plus car on obtient un Bugzilla qui ne correspond a aucune version officielle. Ceci rend les mises à niveau futures plus compliqués.

bash$ cd /var/www/html/bugzilla
bash$ wget ftp://ftp.mozilla.org/pub/mozilla.org/webtools/bugzilla-2.18.0-to-2.18.1.diff.gz
Affichage omis
bash$ gunzip bugzilla-2.18.0-to-2.18.1.diff.gz
bash$ patch -p1 < bugzilla-2.18.0-to-2.18.1.diff
patching file checksetup.pl
patching file collectstats.pl
patching file globals.pl

[Attention]Attention

N'oubliez pas que mettre à jour à partir d'un fichier correctif ne modifie pas les entrées de votre répertoire CVS. Cela peut rendre plus difficile une future mise à niveau par le CVS (Exemple 3.1, « Mise à niveau par le CVS »).