+33 (0)7 81 63 46 11

contact@hupstream.com

Contribuer

Plus de 15 ans de contribution dans le milieu Open Source 

Former

Accompagner nos clients et de les rendre autonomes sur les techonologies Open Source

Industrialiser

Accompagner dans l’intégration et l’industrialisation 

Mobiliser

Mobiliser des acteurs au service de nos clients ou dans le cadre de conférences

NOS FORMATIONS

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

      Le répertoire debian

      • 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

      votre session

      vos formateurs

      votre inscription

      accessibilité

      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

        La formation alternera apports théoriques et mise en applications de chaque notion abordée. La formation comprendra également un cas pratique complet qui s’appuiera sur le packaging un logiciel proposé par le participant ou le formateur.
        hupstream propose une infrastructure de build de packages permettant l’exécution des projets d’école proposés lors des cas pratiques. Les participants pourront également soumettre des cas de figure concrets, des problématiques auxquels ils feraient face.

        Prochaines dates de formation

        Packaging RPM

         programmation sur demande, contactez-nous !

        Packaging debian

         programmation sur demande, contactez-nous !

         

        Demander un devis