source: install/scripts/upgrades/README @ 307

Revision 307, 1.7 KB checked in by anarcat, 7 years ago (diff)

[project @ alternc: changeset 2004-05-31 05:40:22 by anonymous]
une autre note

Original author: anonymous
Date: 2004-05-31 05:40:22

Line 
1Fonctionnement des scripts de mise-à-jour d'AlternC
2===================================================
3
4Il a été décidé que des mises-à-jour pourront être "accrochées" à
5certaines versions en les mettant dans le dossier upgrades. Un script
6(probablement alternc.install) examinera ce dossier et appliquera les
7mises-à-jour nécessaires, en se basant sur les numéros de version. Les
8scripts considérés seront ceux terminés par .php, .sh ou .sql, et seront
9interprétés avec php, /bin/sh ou mysql.
10
11Pour être considéré, le script doit aussi avoir un nom conforme. Le nom
12du fichier doit être sous la forme \d(\.\d+)* (en expression régulière),
13par exemple: 0.9.1.sh, 1.0.php, etc. De plus, le fichier est considéré
14seulement si la version avec laquelle il est nommé tombe entre la
15version de départ et d'arrivée du package.
16
17Plus formellement, maintenant. Soit un upgrade d'une version X à une
18version Y. Les fichiers du dossier d'upgrade sont examinés un à un. Pour
19chaque fichier dont le nom N.php, N.sh ou N.sql est X >= N <= Y, le
20fichier est exécuté ou passé à mysql, selon le cas approprié. Les
21versions sont comparées avec dpkg --compare-versions.
22
23Il est donc capital de nommer correctement ce fichier.
24
25Ces scripts devront être idempotents, car ils peuvent être exécutés à
26plusieurs reprises, comme tous les scripts postinst et config.
27
28Mise en situation
29-----------------
30
31Exemple: 0.9.1 sera exécuté lors d'une mise à jour de 0.9 à 0.9.1 (ou
321.0), mais pas d'une mise à jour de 0.9.1 à 1.0.
33
34Autre exemple: on procède à une mise à jour de alternc-0.9-20031009 vers
35alternc-0.9.1. On trouve le script upgrades/0.9.1.sh. Celui-ci est
36exécuté car 0.9-20031009 >= 0.9.1 <= 0.9.1. Il serait aussi exécuté pour
37une mise à jour vers 0.9.2, 1.0, etc.
Note: See TracBrowser for help on using the repository browser.