Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
tutoriel:creer_un_paquet [Le 29/01/2012, 00:50] 88.174.68.60 [Création du paquet source] |
tutoriel:creer_un_paquet [Le 09/10/2018, 17:17] 176.133.45.15 pas de rm -rf si cd fail ... |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
====== Comment créer des paquets ? ====== | ====== Comment créer des paquets ? ====== | ||
- | ===== Présentation ===== | ||
<note>Ici il est expliqué comment créer un paquet .deb depuis des sources, pour créer un .deb depuis une archive binaire voir [[tutoriel:creation_deb|Création d'un paquet deb à partir d'une archive]]</note> | <note>Ici il est expliqué comment créer un paquet .deb depuis des sources, pour créer un .deb depuis une archive binaire voir [[tutoriel:creation_deb|Création d'un paquet deb à partir d'une archive]]</note> | ||
- | Dans une version récente d'un système [[:GNU]]/[[:Linux]] comme peut l'être Ubuntu, l'installation de logiciels est devenue extrêmement facile grâce aux outils [[:apt-get]] (en ligne de commande) ou [[:Synaptic]] (Gnome) ou [[:Adept]] et [[:Kpackagekit]] (KDE) ou [[:Aptitude]]. Ces outils donnent accès à des dépôts contenant pas loin de 28000 paquets. Pourtant, la richesse de l'univers des logiciels libres fait que, malgré ce nombre important, il existe encore des applications qui ne sont pas packagées. Nous allons donc nous intéresser ici à la création de paquets Debian (les fameux fichiers « .deb », utilisés aussi dans Ubuntu) à partir des sources d'une application existante. | + | Dans une version récente d'un système [[:GNU]]/[[:Linux]] comme peut l'être Ubuntu, l'installation de logiciels est devenue extrêmement facile grâce à [[:software-center|La logithèque]] ou aux outils [[:apt-get]] (en ligne de commande) ou [[:Synaptic]] (Gnome) ou [[:Muon]] (KDE). Ces outils donnent accès à des [[:dépôts]] contenant plus de 49000 paquets (([[https://launchpad.net/ubuntu/vivid/amd64|Ubuntu Vivid (15.04) dispose de 49031 paquets pour l'architecture amd64]])). Pourtant, la richesse de l'univers des [[wpfr>logiciels libres]] fait que, malgré ce nombre important, il existe encore des applications qui ne sont pas empaquetées. Nous allons donc nous intéresser ici à la création de paquets Debian (les fameux fichiers « .deb », utilisés aussi dans Ubuntu) à partir des sources d'une application existante. |
+ | <note aide>Il est aussi possible de créer un paquet d'une façon très simple avec [[:checkinstall]]. Cette est décrit la procédure détaillée pour une validation sur des dépôts officiels que ne permet pas checkinstall.</note> | ||
- | + | ===== Pré-requis ===== | |
- | ==== Pré-requis ==== | + | |
Pour pouvoir suivre cette documentation un certain nombre de pré-requis sont nécessaires : | Pour pouvoir suivre cette documentation un certain nombre de pré-requis sont nécessaires : | ||
* Les dépôts source doivent être disponibles dans synaptic (décommentez les lignes qui commencent par deb-src dans /etc/apt/sources.list) | * Les dépôts source doivent être disponibles dans synaptic (décommentez les lignes qui commencent par deb-src dans /etc/apt/sources.list) | ||
- | * [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap** ([[apt://debhelper,cdbs,lintian,build-essential,fakeroot,devscripts,pbuilder,dh-make,debootstrap|en 1 clic]]). | + | * [[tutoriel:comment_installer_un_paquet|Installez les paquets]] **[[apt>debhelper,cdbs,lintian,build-essential,fakeroot,devscripts,pbuilder,dh-make,debootstrap|debhelper cdbs lintian build-essential fakeroot devscripts pbuilder dh-make debootstrap]]** |
Ligne 23: | Ligne 22: | ||
==== Paquet binaire et paquet source ==== | ==== Paquet binaire et paquet source ==== | ||
- | Commençons par une petite précision technique. Les paquets binaires sont les paquets (.deb) qui contiennent les fichiers nécessaires à l'application pour pouvoir fonctionner sur votre ordinateur. C'est ce que nous allons nous efforcer de créer. Tous les paquets binaires disponibles dans les dépôts Ubuntu ont été construits à partir de paquets sources. Un paquet source est un ensemble de fichiers (attention le terme de paquet est utilisé par analogie. Il n'y a pas ici de fichier conteneur comme peut l'être le .deb pour les binaires) contenant les sources originelles de l'application, ainsi que les indications des modifications nécessaires à la création du paquet debian. | + | Commençons par une petite précision technique : |
+ | |||
+ | - Un paquet binaire est un paquet (.deb) qui contient les fichiers nécessaires à l'application pour pouvoir fonctionner sur votre ordinateur. C'est ce que nous allons nous efforcer de créer. | ||
+ | Tous les paquets binaires disponibles dans les dépôts Ubuntu ont été construits à partir de paquets sources. | ||
+ | |||
+ | - Un paquet source est un ensemble de fichiers (attention le terme de paquet est utilisé par analogie. Il n'y a pas ici de fichier conteneur comme peut l'être le .deb pour les binaires) contenant les sources originelles de l'application, ainsi que les indications des modifications nécessaires à la création du paquet debian. | ||
==== Étude d'un exemple de paquet source ==== | ==== Étude d'un exemple de paquet source ==== | ||
Ligne 47: | Ligne 51: | ||
<note>Vous obtiendrez exactement ces fichiers si vous êtes sous Dapper, peut-être une autre version sous d'autres versions d'Ubuntu.</note> | <note>Vous obtiendrez exactement ces fichiers si vous êtes sous Dapper, peut-être une autre version sous d'autres versions d'Ubuntu.</note> | ||
- | Le fichier **xfce4-xkb-plugin_0.4.1.orig.tar.gz** est en fait l'archive contenant les fichiers sources tels que l'on peut les obtenir sur le site du projet (typiquement ceux que l'on installe avec « ''./configure && make && make install'' »). Le répertoire est d'ailleurs issu de la décompression, de cette archive. Seul le nom du fichier a été changé pour des raisons que nous préciserons plus tard. | + | Le fichier **xfce4-xkb-plugin_0.4.1.orig.tar.gz** est en fait l'archive contenant les fichiers sources tels que l'on peut les obtenir sur le site du projet (typiquement ceux que l'on installe avec « ''./configure && make && make install'' »). Le répertoire est d'ailleurs issu de la décompression de cette archive. Seul le nom du fichier a été changé pour des raisons que nous préciserons plus tard. |
Le fichier **xfce4-xkb-plugin_0.4.1-0ubuntu5.dsc** contient la description du paquet source (et des deux autres fichiers, avec leur taille et leur somme MD5). | Le fichier **xfce4-xkb-plugin_0.4.1-0ubuntu5.dsc** contient la description du paquet source (et des deux autres fichiers, avec leur taille et leur somme MD5). | ||
Ligne 67: | Ligne 71: | ||
<note warning>Faites attention à bien être dans **~/packaging** : ''rm -rf'' efface tout sans confirmation !</note> | <note warning>Faites attention à bien être dans **~/packaging** : ''rm -rf'' efface tout sans confirmation !</note> | ||
- | cd ~/packaging | + | cd ~/packaging && rm -rf * # on nettoie :-) |
- | rm -rf * # on nettoie :-) | + | |
mkdir epdfview && cd epdfview | mkdir epdfview && cd epdfview | ||
wget http://gauvain.pocentek.net/u-classroom/2006-08-31/epdfview-0.1.5.tar.gz | wget http://gauvain.pocentek.net/u-classroom/2006-08-31/epdfview-0.1.5.tar.gz | ||
Ligne 463: | Ligne 466: | ||
FIXME | FIXME | ||
<note tip>Une des solutions pour tester est d'utiliser un système virtualisé (à l'aide de [[::virtualbox|VirtualBox]] par exemple). En utilisant correctement les //snapshots//, on peut facilement faire un rollback du système virtualisé avant l'installation du paquet.</note> | <note tip>Une des solutions pour tester est d'utiliser un système virtualisé (à l'aide de [[::virtualbox|VirtualBox]] par exemple). En utilisant correctement les //snapshots//, on peut facilement faire un rollback du système virtualisé avant l'installation du paquet.</note> | ||
+ | |||
+ | <note tip>Une autre solution est d'utiliser Docker.</note> | ||
---- | ---- |