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
tutoriel:creer_un_paquet [Le 20/04/2012, 10:56]
93.5.15.57 typo
tutoriel:creer_un_paquet [Le 09/10/2021, 16:45] (Version actuelle)
88.166.188.193 [Création du paquet source] Makefile à la racine du projet
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 72: 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 243: Ligne 241:
   * build: correspond au `make` ($(MAKE))   * build: correspond au `make` ($(MAKE))
   * install: correspond au `make install`   * install: correspond au `make install`
 +
 +<note important>//​ATTENTION//​ : si l'on met un fichier Makefile à la racine de son projet, rules lancera la première cible ce qui est potentiellement catastrophique (si la 1ère cible est "​debuild",​ il tournera en boucle par exemple)</​note>​
  
 Ici l'​installation se fait dans "​$(CURDIR)/​debian/​epdfview",​ donc dans le dossier « debian/​ » créé tout à l'​heure. Ici l'​installation se fait dans "​$(CURDIR)/​debian/​epdfview",​ donc dans le dossier « debian/​ » créé tout à l'​heure.
Ligne 468: Ligne 468:
 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.1334912201.txt.gz
  • Dernière modification: Le 20/04/2012, 10:56
  • par 93.5.15.57