jouvence des scripts d'installations
Évolutions du script d'installation
L'objectif est d'avoir une méthode d'installation automatique simple à maintenir et faire évoluer.
L'ensemble doit permettre :
- l'installation (actuellement script-install.sh) ;
- la désinstallation, y compris en cas d'installation interrompue (script-desinstall.sh) ;
- la vérification que l'installation s'est bien déroulée (verif_env_thomx.sh).
Paramètres
L'installation doit permettre de préciser :
-
la méthode d'installation (dans l'ordre de préférence) :
- par paquets apt (ex : mercurial)
- par paquets pip (ex : dulwich)
- par paquet conda (ex : Lima)
- par installation manuelle wheel (ex : hg-git)
- par compilation (ex : libyat)
-
la version d'installation, pour permettre la réinstallation un ancienne version (2 ? 3 ? toutes ?)
- debian 9
- debian 10
remarque : une version debian stable est réinstallable mais pas forcément les logiciels non APT (ex : fin de support python 2 pour pip)
-
le type d'installation :
- DOWNLOAD_ONLY (téléchargement des logiciels, pour test hors réseau)
- DEPENDENCIES (active automatiquement les dépendances entre les types d'installation)
- DATABASE (BD)
- TANGO (client TANGO)
- CLIENT (client logiciel)
- TANGO_DB (serveur TANGO)
- ARCHIVING (archivage)
Tests
les tests doivent être facilités voire automatisables car de multiples configurations sont possibles (version de la distribution, type d'installation), l.
Un langage de script non compilé, avec des fichiers de configurations séparés est donc favorisé (bash, python, etc.).
Configuration
le système retenu doit permettre pour chaque paquet d'identifier :
- s'il faut l'installer (selon type d'installation, version de distribution)
- comment il faut l'installer (méthode d'installation)
Un tableau en CSV ne suffit donc pas (langage de type YAML ou JSON ?).