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 :
Si la nouvelle version est une révision ou version intermédiaire
Le nombre de modifications en local (s'il y en a) qui ont été faites
Il existe trois manières différentes de mettre à jour votre installation.
En utilisant un CVS (Exemple 3.1, « Mise à niveau par le CVS »)
En téléchargeant une nouvelle archive (Exemple 3.2, « Mettre à niveau avec le tarball »)
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édiare 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édiare, surtout si des modifications locales ont été éffectué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.
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
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.
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 Output omitted bash$ tar xzvf bugzilla-2.18.1.tar.gz bugzilla-2.18.1/ bugzilla-2.18.1/.cvsignore bugzilla-2.18.1/1x1.gif Output truncated 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 Output omitted
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.
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
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 »).