doc:devel:memos
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
doc:devel:memos [2013/02/19 12:04] – [Je commite en 10 leçons] dotreppe | doc:devel:memos [2016/03/30 15:23] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Mémos de PP ====== | ||
+ | ce document n'est pas à jour FIXME | ||
+ | ===== Je commite en 10 leçons ===== | ||
+ | |||
+ | Quand on essaie de faire des commit, on oublie toujours une chose ou l' | ||
+ | |||
+ | On considère que : | ||
+ | * les sources PC sont dans le répertoire ''/ | ||
+ | * les sources stations vont être dans ''/ | ||
+ | |||
+ | - au préalable : pour se connecter sur les stations sans mot de passe | ||
+ | - sur le pc (cygwin) : | ||
+ | '' | ||
+ | '' | ||
+ | - sur la machine : copier le contenu de '' | ||
+ | - Se mettre à jour et compiler son projet, attention à bien updater aussi les fichiers '' | ||
+ | - Transférer les sources sur les stations : | ||
+ | - Dans '' | ||
+ | - On zippe les sources : avec WinRar, faire un fichier '' | ||
+ | - On transfère sur les stations : | ||
+ | * Méthode compliquée : | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Méthode moins compliquée : | ||
+ | * '' | ||
+ | * Méthode simple : avec winscp | ||
+ | - Faire passer la batterie sous PC dans cygwin ou l' | ||
+ | - Regénérer les crasses du projet (on les a effacées pour ne pas que le zippifiage et le transfert prennent 3h) | ||
+ | - Si on n'a pas '' | ||
+ | * '' | ||
+ | * Les fichiers qu'il faut absolument ramener sont les '' | ||
+ | - Dans '' | ||
+ | - Vérifier avec AraxisMerge les différences | ||
+ | - Petit conseil : avoir deux versions de Metafor sur le PC : | ||
+ | * Une version officielle à laquelle on ne touche pas et la version de développement. | ||
+ | * On lance une batterie avec la version officielle et une avec la version de développement. | ||
+ | * On compare les résultats de ces deux batteries et aussi avec ceux du Repository. | ||
+ | - Dans le même temps, compiler les sources et lancer la batterie sous Gaston (Linux64, compilateur gcc) et Blueberry (Linux64, compilateur icc) ((Dans ce qui suit, on considère qu'on travaille dans ''/ | ||
+ | - Si on n' | ||
+ | * On se met dans ''/ | ||
+ | * Sur toutes les machines : '' | ||
+ | * Bien nettoyer tout : effacer le repertoire ''/ | ||
+ | * Construction des Makefile : dans le répertoire '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * Sur les machines n' | ||
+ | * Générer les fichiers '' | ||
+ | * Zipper le répertoire '' | ||
+ | * Copier le fichier '' | ||
+ | * Sur la machine cible, effacer le répertoire '' | ||
+ | * Lancer la batterie. Dans apps : '' | ||
+ | - Si on utilise le (magnifique) script de Romain : | ||
+ | * '' | ||
+ | * voici le tableau qui permet de choisir les paramètres | ||
+ | |||
+ | | ^ OS ^ nb cpu ^ Bacon ^ GUI ^ Battery ^ | ||
+ | ^ gaston | ||
+ | ^ blueberry| Linux64 | 4 | oui | oui | oui | | ||
+ | |||
+ | - Une fois que la batterie est passée, | ||
+ | - Si on utilise le script de Romain, on a reçu un mail avec les diff | ||
+ | - Si on n' | ||
+ | * Sur gaston : < | ||
+ | svn diff STP-Linux64-gcc.txt | ||
+ | svn diff ITE-Linux64-gcc.txt | ||
+ | svn diff INW-Linux64-gcc.txt | ||
+ | svn diff EXW-Linux64-gcc.txt | ||
+ | svn diff EXT-Linux64-gcc.txt </ | ||
+ | * Sur blueberry: < | ||
+ | svn diff STP-Linux64-icc.txt | ||
+ | svn diff ITE-Linux64-icc.txt | ||
+ | svn diff INW-Linux64-icc.txt | ||
+ | svn diff EXW-Linux64-icc.txt | ||
+ | svn diff EXT-Linux64-icc.txt </ | ||
+ | - On répète 2,3 et 4 jusqu' | ||
+ | - On commite!!!! ((:!: Ne pas oublier de commiter '' | ||
+ | - '' | ||
+ | - Faire un zip du Repository pour eviter les couilles... : | ||
+ | * '' | ||
+ | * '' | ||
+ | - Dans TortoiseSVN (seul que j' | ||
+ | * Avec les "show missing", | ||
+ | * Avec les " | ||
+ | * On se met dans oo_meta/ | ||
+ | - Sur les stations, on se met dans apps/verif | ||
+ | * Sur blueberry: svn commit *Linux64-icc*.txt, | ||
+ | * Sur gaston : svn commit *Linux64-gcc*.txt, | ||
+ | - Sinon, on utilise le (magnifique) script de Pierre-Paul (compPP_N.sh). Ce script permet de rassembler tous les fichiers de verif de toutes les machines. Il ne reste que de les mettre aux bons endroits (par exemple, '' | ||
+ | - ((A présent, le commit est supposé terminé, les étapes suivantes sont de la vérification.)) On recompile les sources sur toutes les machines (Linux, OSF1, PC) : | ||
+ | - Sur PC : refaire un checkout des sources, puis recompiler le projet | ||
+ | - Faire un backup CD de la version PC, y compris projet | ||
+ | - Sur les stations, effacer tous les répertoires dans le répertoire '' | ||
+ | - On fait un checkout ('' | ||
+ | - On refait 3e) et 3f) si on n' | ||
+ | - On lance '' | ||
+ | - Si 7 est OK, on fait un Tag de sa version : dans WinCVS : Dans '' | ||
+ | - Mettre le site à jour et envoyer 1 mail | ||
+ | - Mettre à jour le fichier '' | ||
+ | - Ajouter les lignes pour les nouveaux cas-tests avec les noms et ajouter 2 colonnes pour le nouveau commit. | ||
+ | - Copier-coller la colonne des temps du fichier CPU-OSF1-All.txt dans le fichier Excel après les avoir triés par ordre alphabétique! | ||
+ | - Faire '' | ||
+ | - Surligner les nouveaux cas-tests en jaune. | ||
+ | ===== Petites commandes diverses ===== | ||
+ | |||
+ | Sont regroupées ici toute une série de remarques diverses sur wincvs, l' | ||
+ | |||
+ | Quelques commandes utiles en vrac pour Metafor | ||
+ | |||
+ | * Pour lancer la batterie sur un seul répertoire : | ||
+ | * On se place dans ledit répertoire et on tape '' | ||
+ | * Dans '' | ||
+ | |||
+ | * Pour lancer la batterie sur un seul fichier : | ||
+ | * On se place dans le répertoire dudit fichier et on tape '' | ||
+ | * Dans '' | ||
+ | |||
+ | * Sur station, si des fichiers transférés foirent sans raison, faire un '' | ||
+ | |||
+ | * Parfois, il y a des lignes de ^@ qui s' | ||
+ | |||
+ | * Avec '' | ||
+ | * ''<'' | ||
+ | * ''>'' | ||
+ | |||
+ | * Pour utiliser Araxis Merge pour faire des diff de fichiers dans Wincvs : | ||
+ | * Aller dans '' | ||
+ | * Quand on fait '' | ||
+ | |||
+ | * Pour effacer des répertoires non vides : rm -rf * | ||
+ | |||
+ | * Pour lancer une batterie en priorité basse sur PC : | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | * Dans Wincvs : | ||
+ | * Path unix pour '' | ||
+ | * Path unix pour '' | ||
+ | |||
+ | * Sur station, pour killer une batterie : '' | ||
+ | |||
+ | * Pour nettoyer tous les makefiles, fichiers.o et exécutables sur les stations : dans oo_meta, '' | ||
+ | |||
+ | * Lancer le débogger : (! lancer xwin !) | ||
+ | * Sur Chinook | ||
+ | |||
+ | export DISPLAY=nomPC: | ||
+ | ladebug -gui & | ||
+ | |||
+ | * sur Spirou/ | ||
+ | |||
+ | export DISPLAY=nomPC: | ||
+ | ddd & | ||
+ | |||
+ | * Quand on a des problèmes de répertoires qu'il ne trouve pas : '' | ||
+ | |||
+ | * Sur station, quand la compilation merde à cause des options de compilation, | ||
+ | |||
+ | * Pour imprimer par exemple le '' | ||
+ | |||
+ | import castest | ||
+ | domain = getDomain(' | ||
+ | nodeset = domain.getNodeSet() | ||
+ | print nodeset | ||
+ | |||
+ | * Pour imprimer le '' | ||
+ | |||
+ | import castest | ||
+ | domain = getDomain(' | ||
+ | pointset = domain.getGeometry().getPointSet() | ||
+ | print pointset | ||
+ | |||
+ | * Et ainsi de suite pour chaque '' | ||
+ | |||
+ | * Pour générer les fichiers '' | ||
+ | * On va sur Chinook | ||
+ | * On lance '' | ||
+ | * On transfère le répertoire '' | ||
+ | |||
+ | |||
+ | ===== Pseudo interactif en batch ===== | ||
+ | |||
+ | Petit truc de Ludo pour faire du pseudo interactif en batch : Usage de la commande screen sur les stations | ||
+ | |||
+ | Utilité : faire un '' | ||
+ | |||
+ | Si nécessaire, | ||
+ | ps -u user | ||
+ | kill -9 numero | ||
+ | |||
+ | Ensuite : | ||
+ | * Dans un fichier '' | ||
+ | |||
+ | restart(' | ||
+ | |||
+ | * Ne pas oublier de le rendre exécutable : '' | ||
+ | * Ouvrir une fenêtre Gaston (chinook n'a pas de mode screen) | ||
+ | * Dans cette fenêtre, taper | ||
+ | |||
+ | screen | ||
+ | ssh chinook | ||
+ | cd oo_meta | ||
+ | metafor -nogui <inp.txt &> | ||
+ | |||
+ | * Pour sortir du mode screen, taper '' | ||
+ | |||
+ | :!: L' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ |