Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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écompressionde 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>​
  
 ---- ----
  • tutoriel/creer_un_paquet.txt
  • Dernière modification: Le 23/10/2023, 12:12
  • par polobuntu