diff options
| author | herbelin | 2000-12-22 09:15:55 +0000 |
|---|---|---|
| committer | herbelin | 2000-12-22 09:15:55 +0000 |
| commit | 577c08bfbec0f7c4d7b459795813b6283fd3b7c6 (patch) | |
| tree | 29faf8772c14e15030bc7246448260626e140a7b /distrib/RELEASE | |
| parent | c0981d2372d6a5950fc4c5b52264ff18f9a292f2 (diff) | |
Pour créer les archives distribuées
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1189 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'distrib/RELEASE')
| -rw-r--r-- | distrib/RELEASE | 353 |
1 files changed, 353 insertions, 0 deletions
diff --git a/distrib/RELEASE b/distrib/RELEASE new file mode 100644 index 0000000000..8290856dc9 --- /dev/null +++ b/distrib/RELEASE @@ -0,0 +1,353 @@ +(**************************************************************************) +(* Liste des choses à faire pour une release *) +(**************************************************************************) + +PLAN + +A) LE LOGICIEL (SOURCES ET BINAIRES) +B) LES CONTRIBS +C) LA DOC +D) LE SERVEUR WEB +E) LE CDROM (indépendant de la release) + +(**************************************************************************) +A) LE LOGICIEL + +A1) VÉRIFICATIONS + + S'assurer que les choses suivantes été réalisées et COMMITÉES. + + - Changement du magic number dans src/meta/library.ml si la syntaxe + interne des .vo a changé + + - Changement des variables en tête du fichier "configure" et + vérification du numéro de versions de OCaml et Camlp4 demandées + - Mise à jour des champs Version, Source et Require et vérifier la + liste des "%files" dans "distrib/coq.spec" + - Relecture des fichiers "README", "README.win", en particulier, + vérification du numéro de version, des adresses internet et des + coordonnées de Coq + - Relecture des fichiers "INSTALL", "INSTALL.win" en particulier numéro + de version de coq et numéros des versions de OCaml et Camlp4 demandées + + - S'assurer après un "make cleanall" que "make world" et "make + world-opt" commutent # Caduc pour la V7 + + - Mise à jour/nettoyage du fichier CHANGES et du fichier ANNONCE + + EN CAS DE MODIFICATION DE L'ARCHIVE, REPRENDRE EN A3 + (ou en A2 si la date ou le numéro de version a changé) + + Dans le cas simple d'une recompilation sur une autre architecture, +sauter A3. Sauter aussi A4 s'il est possible de mettre le fichier +coq-6.2.5.tar.gz à la main dans distrib. + +A2) CONFIGURATION DES PARAMETRES DE LA DISTRIBUTION + + Se placer dans le répertoire distrib et faire + + ./configure.distrib + + pour positionner les paramètres de la distrib (les paramètres par +défaut sont obtenus via le fichier "../configure". Si celui-ci n'est +pas conforme à l'archive (sans doute peu probable, mais cela m'est +arrivé), il faut donner les valeurs à la main. + +A3) ESTAMPILLAGE DE L'ARCHIVE + + Toujours dans le répertoire distrib, faire + + make tag + + pour (on suppose que le numéro de version donné dans +configure.distrib est V6.2.5) poser le tag V6-2-5 à l'archive V6-2. + + La commande "make tag" peut être refaite plusieurs fois auquel cas +l'ancienne marque est supprimée avant d'être remise à la nouvelle +place. + + Pour ne modifier qu'un fichier isolément sans retagger toute +l'archive faire "cvs tag -F V6-2-5 nom_du_fichier". + + +A4) CREATION DU PACKAGE SOURCE + + Créer le coq-6.2.5.tar.gz des sources à partir d'un extrait tout +frais (obtenu par cvs export) de l'archive avec + + make tar-gz + + En particulier, les fichiers à ne pas distribuer (dont la doc) sont +retirés. Cette commande fait dérouler une check-list. Si on +l'interrompt ou qu'elle échoue, le tar-gz reste créé et c'est à la +charge de l'utilisateur de s'assurer que les paramètres sont corrects. + + Pour l'installation sous ftp voir A7. + + +A5) CREATION DES PACKAGES BINAIRES (ad libitum) + (prévoir pour chaque package près de 100Mo dispo sur la partition) + +A5a) Création d'un package binaire tar.gz + + make arch-tar-gz + + dans le répertoire distrib sous l'architecture ARCH avec le système SYS +crée un fichier coq-6.2.5-SYS-ARCH.tar.gz (ex : coq-6.2.5-alpha-OSF1.tar.gz). + + Pour compiler sur plusieurs machines en parallèle, il faut des +répertoires "distrib" distincts pour que les compilations ne se +téléscopent pas. Sur une 2ème machine dans un autre répertoire +"distrib", refaire "make tar-gz" en interrompant la check-list (ou +simplement copier le coq-6.2.5.tar.gz déjà fait) puis "make arch-tar-gz". + + Pour l'installation sous ftp voir A7. + + Remarque : ce binaire est prévu pour être dé-tar-ré dans / avec une +installation dans /usr/local/bin. + +A5b) Création du source rpm et du premier package rpm + + make rpm + + dans le répertoire distrib sous l'architecture ARCH crée un package +source coq-6.2.5-1.src.rpm et un package binaire coq-6.2.5-1.ARCH.rpm +(ex : coq-6.2.5-1.i386.rpm). + + Remarques : 1) Les packages Intel s'appellent i386 même si +l'architecture est i586 ou i686 (faux avec rpm 3.0). 2) Les rpm sont +prévus pour une installation dans /usr/bin (!). + + Pour l'installation sous ftp voir A7. + +A5c) Création d'un second package rpm à partir des sources rpm + + Refaire + + make rpm + + sous une autre architecture pour créer un deuxième package rpm binaire. + + Pour l'installation sous ftp voir A7. + +A6) CREATION DU FICHIER DE PATCH (attention ne marche pas sur DEC je crois) + + make patch (pas déboggué) + + Pour créer un fichier de patch entre la version à distribuer et la +version précédente se trouvant dans l'archive (supposée être la même +que celle taggée V6-2-4 (version -1) dans l'archive CVS...). + +Remarque: On peut faire un patch aussi par + + cvs rdiff -r V6-2-4 -r V6-2-5 V6-2 > patch-coq-6.2.4-6.2.5 + + Mais il faut alors éditer pour supprimer les références aux +répertoires distrib et doc, aux fichiers TODO, KNOWNBUGS, ANNONCE et +les .cvsignore . + + +A7) INSTALLATION SOUS FTP + + make ftp-install # Avec les droits du groupe coq + + - crée le dossier /net/pauillac/infosystems/ftp/coq/coq/V6.2.5, le + lie symboliquement à /net/pauillac/infosystems/ftp/coq/coq/current. + + - installe sous ftp tous les fichiers tar.gz ou .rpm du répertoire + distrib (sources et binaires), ainsi que le fichier CHANGES + + Pour installer seulement un des packages, faire au choix + + make tar-gz-ftp-install + make src-rpm-ftp-install + make arch-rpm-ftp-install + make arch-tar-gz-ftp-install + + À faire : ne mettre le lien current qu'au dernier moment. + +A8) VÉRIFICATION GÉNÉRALE + + Télécharger et utiliser 24 heures la version FTP + + # sur SunOS, Next, ... + ncftp ftp://ftp.inria.fr/INRIA/coq/V6.2.5/V6.2.5.tar.gz + tar xvzf V6.2.5.tar.gz + cd V6.2.5 + yes "" | ./configure + make world-opt world + make cleanall world world-opt + make install + + # sur i586 + ncftp ftp://ftp.inria.fr/INRIA/coq/V6.2.5/coq-6.2.5-1.i586.rpm + rpm -Uvh coq-6.2.5-1.i586.rpm + coqtop # etc... + coqtop -opt # etc... + + # sur linux ppc et apx + ncftp ftp://ftp.inria.fr/INRIA/coq/V6.2.5/coq-6.2.5-1.src.rpm + rpm --recompile coq-6.2.5-1.src.rpm + coqtop # etc... + coqtop -opt # etc... + + Cliquer un peu partout sur le serveur coq.inria.fr (rubrique coq +proof assistant). + + Si jamais quelque chose ne va pas, reprendre à l'étape A2 en retaggant +l'archive après les modifications (le tag est automatiquement déplacé) + +A9) DIFFUSION + + Préparer les contribs (B), la doc (C), le serveur web (D) + + Ouf, c'est prêt... faire l'annonce sur coq-club + + +(**************************************************************************) +B) LES CONTRIBS + +B1) PRÉPARATION + + - se placer dans une version à jour des contribs (si pas déjà fait, +le faire avec un "cvs checkout contrib" quelque part en dehors de +l'archive V6). + + - positionner les variables COQTOP et COQBIN (avec un / à la fin !!) +sur une version à jour de l'archive V6 et s'assurer que make opt et +make passent. + +B2) POSE DU TAG + + Dans le répertoire distrib, faire + + make contrib-tag + + pour poser le tag V6-2-5 + (ceci est équivalent à "cvs rtag -F V6-2-5 contrib") + +B3) CRÉATION DU PACKAGE + + Dans le répertoire distrib, faire + + make contrib-tar-gz + + pour créer contrib-6.2.5.tar.gz + +B4) INSTALLATION SOUS FTP + + Dans le répertoire distrib, faire + + make contrib-ftp-install + + pour installer le package contrib-6.2.5.tar.gz en ftp + + +(**************************************************************************) +C) LA DOC + + Dans l'état actuel des choses, la doc est compilée dans le +répertoire doc d'une copie locale des sources de Coq. Il n'y a pas +pour la doc d'export relatif au tag V6-2-5 comme c'est le cas pour la +creation de l'exécutable. + +C1) PRÉPARATION + + S'assurer que les outils suivants sont disponibles + + Dvi: latex (latex2e), bibtex, makeindex, dviselect (rpm dviutils) + Ps: dvips, psselect (package psutils) + Pdf: pdflatex (optionnel) + Html: hevea (par Luc Maranget), htmlsplit (par David Delahaye) + + Mettre à jour les fichiers suivants : + + - Tutorial.tex : numéro de version (2 fois) et date + - title.tex : numéro de version + - cover.html : numéro de version et date (2 fois) + - README : numéros de version (3 fois) + - macros.tex : numéro de version + + Vérification que "CHANGES" est à jour par rapport à "Changes.tex" + + Faire un make clean; grep V6 *.{tex,sty,html} pour s'assurer +qu'aucun autre V6.? ne traine. + + Les fichiers Tutorial-cover.tex et RefMan-cover.tex ne servent que +pour faire des rapports INRIA. + + Si un fichier Anomaly.dvi doit être distribué, s'en occuper à la main +(ou modifier le Makefile en conséquence). + +C2) COMPILATION + + Pour compiler l'ensemble des fichiers de documentation à installer +sous ftp et/ou sur le serveur web, faire dans le répertoire doc + + make distrib + + qui crée les versions dvi.gz, ps.gz, pdf.gz de la doc, les packages +all-ps-doc.tars.gz et doc-html.tar.gz ainsi qu'un répertoire www +recopiable sur le site web + + Si la doc est modifiée après le tagguage des sources Coq, retagguer +la doc séparemment depuis le répertoire doc avec + + cvs tag -F V6-2-5 * library/* + +C3) INSTALLATION SOUS FTP + + Après avoir positionner la variable VERSION à V6.2.5, installer +la doc sous ftp depuis le répertoire doc avec + + make doc-ftp-install + + On retrouve alors sous ftp avec le README, plusieurs couples + .dvi.gz et .ps.gz, le tar de la doc html, le tar des docs en ps. + + +(**************************************************************************) +D) LE SERVEUR WEB + +D1) PRÉPARATION + + Cela se fait sous CVS : faire un check-out ou update du module +"www" quelque part chez soi en dehors de l'archive V6, puis + + - mettre à jour les fichiers (numéro de version, version + nécessaires de ocaml et camlp4, date de mise à jour) + distrib1-fra.html et distrib1-eng.html, + contribs1-fra.html et contribs1-eng.html + assis1-eng.html et assis1-fra.html + tools1-eng.html et tools1-fra.html (pas de V devant le numéro) + + - commiter + + - À partir de votre copie locale du répertoire www, faire + + (cd contribs; make pages) + + - Puis positionner la variables THEORIES sur le repertoire theories + d'une copie fraîche de l'archive et faire (sur PAUILLAC et avec + gmake parce que fabrique un binaire devant tourner sur pauillac) + + (cd library; gmake pages) + +D2) ACTUALISATION DU SERVEUR WEB + + Enfin, faites-en part au monde entier : + + make install + (cd contribs; make install) + (cd library; make install) + + +(**************************************************************************) +E) LE CDROM + + Tout est en place dans /net/pauillac/constr/cdrom. S'y rendre et + + - mettre à jour les fichiers prog/{unix,pc,mac}/coq/{fra,eng}.htm + - mettre à jour les liens dans ftp/coq + (1 lien pour la version Mac, 1 lien pour les autres architectures). + - vérifier que projs/coq/{fra,eng}.htm sont corrects |
