packaging: le premier pas la distribution dÕun logiciel€¦ · packaging et d veloppement...

Post on 02-Oct-2020

2 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Packaging: le premier pas à la distribution d’un

logiciel

Konrad HINSEN

Centre de Biophysique Moléculaire (Orléans)et

Synchrotron Soleil (St Aubin)

Le packaging: c’est quoi?

Préparation d’un logiciel pour la distribution

Résultat: un seul fichier qui permet l’installation idéalement sur n’importe quel ordinateur

Définit la première impression qu’aura l’utilisateur !

Questions à se poser avant de commencer

Pour quelles plateformes veux-je packager mon logiciel?

Que veux-je proposer? Le code source? Des exécutables? La documentation?

Quelles sont les dépendances externes?

Quels outils sont les mieux adaptés à mes besoins?

L’utilisateur...

cherche d’abord un fichier README et/ou un fichier INSTALL pour avoir des instructions

aime bien suivre des procédures qu’il connaît déjà

apprécie une liste de dépendances courte

Packaging et développement

Idéalement: deux aspects d’un même processus

Utilisez pour le développement

la même structure de fichiers

les mêmes outils de gestion (compilation etc.)

que pour l’installation chez l’utilisateur.

Il n’y a pas de distinction nette entre outils de développement et outils de packaging.

Etapes du packaging

1.Mettre en place une procédure d’installation facile et universelle.

2.Préparer la documentation du logiciel.

3.Documenter l’installation, sans oublier une liste des dépendances.

4.Créer un fichier archive pour la distribution.

Les outils de packaging couvrent surtout les points 1 et 4.

Outils de packagingPlateforme classique: C, C++, Fortran, ...- autoconf/automake- CMake- Qmake- SCons

Plateforme Python- distutils (module de la bibliothèque standard)- setuptools- bento

Plateforme Java- ant- maven- gradle

Ce ne sont que les outils les plus populaires!

Génération d’exécutables

Linux Debian/Ubuntu- dpkg --build

Linux Redhat/SuSE- rpmbuild

MacOS X- PackageMaker (fait partie de Xcode)

Windows- WinInstall

Les exécutables (binaires) sont très spécifiques àune plateforme, qu’il convient de très bien connaître!

Quelques outils:

Cet aspect dépassele cadre de cette formation.

Autoconf

Description des caractéristiquesdont a besoin le logiciel. configure.ac

configureScript qui vérifie le systèmede l’utilisateur pour préparerl’installation du logiciel.

auto

conf

Automake

Description des fichiers sourceet des bibliothèques utilisées. Makefile.am

MakefilePermet la compilation, l’installation,la suppression, le test, ...

auto

mak

e

Python distutils

Description des modules Python,modules C/Cython, scripts,fichiers documentation, ...

setup.pypython setup.py sdist

installation

compilation

packaging

python

setu

p.py buildpython setup.py install

top related