5.1.4. Packaging¶
5.1.4.1. Principes communs¶
Tout package doit respecter les principes suivants :
- Nom des packages :
vitam-<id>
du package - Version du package : Numéro de « release » du projet Vitam
Les dossiers (ainsi que les droits associés) compris dans les packages doivent respecter les principes dictés dans la section dédiée.
Note
Les limitations associés au format de packaging choisi (packaging natif, rpm / deb selon l’OS cible) sont :
- L’instanciation d’une seule instance d’un même moteur par machine (il n’est ainsi pas possible d’installer 2 moteurs d’exécution sur le même OS) ;
- La redondance de certains contenus dans les packages (ex: les librairies Java sont embarquées dans les packages, et non tirées dans les dépendances de package)
Les fichiers de configuration sont gérés par l’outil de déploiement de manière externe aux packages ; ils ne sont pas inclus dans les packages.
Les composants de la solution logicielle VITAM sont tous disponibles sous forme de packages natifs aux distributions supportées (rpm pour CentOS 7, deb pour Debian 10 (buster)) ; ceci inclut notamment :
- L’usage des pré-requis (au sens Require ou Depends) nativement inclus dans la distribution concernée ;
- L’arborescence des répertoires OS de la distribution concernée ;
- L’usage du système de démarrage systemd.
Note
Seuls les paquets binaires cibles sont disponibles ; les paquets sources (SRPM pour CentOS, par exemple) ne seront pas fournis, les sources étant disponibles dans le dépôt git public.
5.1.4.2. Dépôts¶
Note
La typologie des dépôts présentée ci-dessous a notamment pour but de permettre l’installation de VITAM sur des environnements présentant un accès restreint à Internet (i.e. limité aux miroirs des dépôts d’update standard des distributions linux). Par conséquent, aucun dépôt externe autre que les dépôts natifs des distributions Linux n’est requis.
L’installation de VITAM s’appuie sur 2 dépôts internes différents :
vitam-product
: ce dépôt héberge les packages des logiciels développés dans le cadre de VITAM ; ces packages sont maintenus par VITAM, et les licences d’utilisations associées sont celles de VITAM.vitam-external
: ce dépôt héberge les packages des logiciels requis par l’installation de VITAM mais non présents dans les dépôts natifs de la distribution. Ces packages sont fournis par VITAM, mais sont redistribués sans modifications de la part de VITAM. Ils ne sont en particulier pas maintenus par VITAM, et les licences d’utilisation restent celles des packages originaux.
Le contenu de ces dépôts est présent dans la distribution de la solution VITAM.
Note
Un dépôt supplémentaire, pour les griffins, permet de déployer également les briques logicielles relatives à la préservation.
Note
La création, configuration et initialisation des dépôts internes à partir des packages livrés est un pré-requis à l’installation de VITAM ; ces tâches ne sont pas incluses dans l’installation de la solution logicielle afin de pouvoir respecter la manière d’héberger des dépôts natifs de distributions Linux qui varie grandement selon les différents gestionnaires d’infrastructure.
Astuce
En outre, le programme VITAM mettra à disposition un miroir externe accessible sur Internet comportant les paquets à jour pour les dépôts internes mentionnés ci-dessus.
En plus des paquets logiciels livrés, l’installation de la solution VITAM requiert des dépôts nativement disponibles dans les distributions cibles.
5.1.4.2.1. CentOS¶
VITAM s’appuie sur les dépôts suivants :
- Centos 7 (Base, Extras) : il s’agit des dépôts standard de la distribution
- EPEL 7 (Extra Packages for Enterprise Linux) : il s’agit d’un dépôt maintenu par Fedora et fournissant un ensemble de packages complétant ceux de RHEL/Centos
5.1.4.2.2. Debian¶
VITAM s’appuie sur les dépôts suivants :
- Debian buster (dépôts main dans buster, buster-updates et security) : il s’agit des dépôts standard de la distribution
- buster-backports : il s’agit d’un backport de paquets plus récents non disponibles au moment de la publication de la version Debian
Avertissement
Pour l’installation des packages mongoDB, il est nécessaire de mettre à disposition le package libcurl3
des dépôts stretch (le package libcurl4
sera désinstallé).
Avertissement
Le package curl
est installé depuis les dépôts stretch
.
5.1.4.3. Prise en compte de la configuration dans le packaging¶
5.1.4.3.1. CentOS¶
Conformément aux usages RPM de Centos/RHEL, les packages ne contiennent pas dans les pré/post action d’arrêt/démarrage/redémarrage de services.
Note
La configuration de démarrage des services et leur démarrage (a minima initial) est de la responsabilité de l’outillage de déploiement.
Contrairement aux usages de RPM, les fichiers de configuration ne seront pas gérés dans RPM. En effet, les fichiers de configuration seront instanciés par l’outil de déploiement. Pour éviter la génération de fichier .rpmnew ou .rpmsave, il ne sera pas utilisé la directive %config.
Prudence
A ce jour, les fichiers de configuration ne sont pas listés dans les fichiers de configuration des fichiers RPM ; par conséquent, ils n’apparaissent pas dans le résultats de commandes telles que rpm -ql
.
5.1.4.3.2. Debian¶
Tout comme pour CentOS, les paquets Debian n’intègrent pas les fichiers de configuration, et ne sont donc pas connus de dpkg ; en outre, ils ne s’intègrent pas dans debconf.