Packaging logiciel
Packagez vous-même vos applications sous Linux
Nos formations sont proposées en inter-entreprise selon le calendrier proposé ci-dessous. Nous pouvons aussi nous déplacer au sein de votre entité. N’hésitez pas à nous demander plus d’information !

Objectifs du cours
L’une des grandes forces des systèmes Linux repose sur le packaging logiciel. Il facilite l’installation, l’utilisation, la maintenance et la mise à jour des applications logicielles. Les distributions majeures proposent fréquemment à leurs futurs packagers un système de mentoring pour appréhender l’ensemble des aspects techniques et organisationnels nécessaires pour intégrer les équipes officielles.
Les objectifs de la formation :
- Connaître la structure d’un paquet logicel
- Comprendre les enjeux liés à la maintenance et à la sécurité
- Connaître les éléments des fichiers control et spec
- Construire un premier paquet logiciel
Public ciblé
La formation s’adresse à un public ayant une connaissance des systèmes Linux et de la ligne de commande, souhaitant comprendre les logiques du packaging logiciel sous Linux, et mettre en application.
JOUR 1
Prérequis et convention
- La norme FHS : définir les conventions liées à l’arborescence
- Conventions de nommage des rpm
- L’importance d’une architecture de build définie
- La libification ou packaging des librairies
- Importance des Makefile dans le packaging
- Les principales différences des distributions
- Les différents types de packaging : sources et binaires
Les grandes sections du fichier .spec
- en-têtes : revue des tags utilisables
- La section prep
- La section build
- La section install
- La section files : impact sur les mises à jour et la désinstallation
- La section changelog : de l’importance de la documentation
- Scripts de pre et post-installation
Build du RPM
- Les commandes à disposition
- Optimisation du build
- Décoder les erreurs : les sources d’information
Gestion avancée des paquets
- Paquets et sous-paquets
- Renommage d’un paquet
JOUR 2
Aller plus loin : les macros
- Les macros génériques
- Les macros prédéfinies pour la distribution
- Ajouter ses propres macros
- La section check
Utiliser des options de build
- Options de build conditionnelles
- Reconstruire un paquet en utilisant une option spécifique
- Ajouter des options dans un fichier spec
- Outre-passer la gestion automatique des dépendances
Gestion avancée des mises à jour
- Impact sur la configuration et les données
- Gestion du retour arrière
- Gestion du retour arrière
- Installation simultanée de plusieurs versions
Options avancées de la commande RPM
- Gestion des requêtes d’information
- Option d’installation
Packaging et sécurité
- Signature des paquets
- Vérification de la signature d’un paquet
- Ajouter des options dans un fichier spec
- Vérification de l’intégrité des fichiers installés
JOUR 1
Prérequis et convention
- La norme FHS : définir les conventions liées à l’arborescence
- Les formats de paquet deb
- pré-versions
- Conventions de nommage et versioning de paquet
- Préparation de l’environement de build
Le packaging des librairies
- Control
- Copyright
- Chantelog
- Compat
- Source/format
- .*install
- Rules (cibles, valeurs par défaut, personnalisation)
- Source et patches
- Autres fichiers du répertoire debian
Construction du paquet
- Création d’un nouveau paquet avec dh_make
- Reconstruction complète avec dpkg-buildpackage
- Automatiser avec la commande debuild
- Construire proprement ses paquets avec pbuilder/cowbuilder
- Tester / debugger son build
JOUR 2
Simplifier le packaging avec dh ou cdbs
- La commande dh
- Common Debian Build System
Vérifier la construction d’un package debian
- Les scripts devscripts
- Outils de vérification de paquet : lintian
- Tester l’installation, l’upgrade et la désinstallation : piu-part
- Check-list du packager
- Boîte à outils du packager : debdiff, interdiff
Modifier le code source
- Configurer et utiliser quilt
Utilisation de git pour gérer ses paquets source
- Introduction à git-buildpackage
- Créer un dépôt git à partir du paquet source avec git-import-dsc
- Importer un nouveau fichier .orig avec git-import-orig
- Créer le paquet avec git-buildpackage
Mettre en place son propre dépôt APT
- Structure du dépôt
- Un outil simple : apt-ftarchives
- Importer un nouveau fichier .orig avec git-import-orig
- Gestion avancée du dépôt avec des uploads avec reprepro et dupload
Détails pratiques
- Durée : 2 jours
- Niveau : débutant
- Objectif : les participants seront capables de modifier des paquets logiciels existants, produire de nouveaux paquets et disposer des éléments pour mettre en place une politique de packaging au sein de l’entreprise
- Prix : 1 300€ HT
La méthode
Prochaines dates de formation
Packaging RPM
programmation sur demande, contactez-nous !
Packaging debian
programmation sur demande, contactez-nous !