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:creation_deb [Le 30/07/2009, 23:05]
SkeRoy ancienne révision restaurée
tutoriel:creation_deb [Le 31/03/2023, 20:52] (Version actuelle)
88.168.124.25
Ligne 5: Ligne 5:
  
 ====== Création d'un paquet deb à partir d'une archive ====== ====== Création d'un paquet deb à partir d'une archive ======
- +<​note>​Ici il est expliqué comment créer un paquet .deb depuis une archive, pour créer un .deb depuis les sources, voir [[:​tutoriel/​creer_un_paquet|Création d'un paquet deb à partir des sources]]</​note>​ 
-Il peut être pratique de créer soit-même des paquets deb. Cela permet une diffusion plus pratique des programmes et surtout une désinstallation rapide dudit programme. La manière la plus commune de créer un paquet est de [[http://​doc.ubuntu-fr.org/​tutoriel/compilation|compiler les sources]] du programmes. Mais parfois, il n'y a rien à compiler.+Il peut être pratique de créer soit-même des paquets deb. Cela permet une diffusion plus pratique des programmes et surtout une désinstallation rapide dudit programme. La manière la plus commune de créer un paquet est de [[:tutoriel:compilation|compiler les sources]] du programmes. Mais parfois, il n'y a rien à compiler.
  
 Le cas m'est arrivé avec un programme python et avec des programmes simplement archivés. Le cas m'est arrivé avec un programme python et avec des programmes simplement archivés.
Ligne 14: Ligne 14:
 Le programme en question ne demande qu'à être installé avec la fonction : ''​python setup.py install''​ Le programme en question ne demande qu'à être installé avec la fonction : ''​python setup.py install''​
  
-L'​idée ici est de créer une archive au lieu de l'​installer,​ pour pouvoir par la suite créer son paquet deb. On va donc taper +L'​idée ici est de créer une archive au lieu de l'​installer,​ pour pouvoir par la suite créer son paquet deb. On va donc dans un [[:​terminal]] saisir la [[:​commande_shell|commande]] suivante
-  python setup.py bdist --format=gztar+<​code>​python setup.py bdist --format=gztar</​code>​ 
 +Une fois l'​archive créée, on procède comme pour le programme archivé. Ici, le format est tar.gz. On le décompressera en tapant: ''​tar xvzf xxxx.tar.gz''​ 
 + 
 [[http://​www.python.org/​doc/​2.0.1/​dist/​built-dist.html|documentation python]] [[http://​www.python.org/​doc/​2.0.1/​dist/​built-dist.html|documentation python]]
  
Ligne 21: Ligne 24:
 ===== Le programme archivé ===== ===== Le programme archivé =====
  
-Le second cas que j'ai rencontré est celui du programme archivé. Qui n'a jamais vu un tuto pour installer la dernière version de firefox en le désarchivant dans /opt ? +Le second cas que j'ai rencontré est celui du programme archivé. Qui n'a jamais vu un tuto pour [[:firefox|installer la dernière version de firefox]] en le désarchivant dans /opt ?\\
 Au lieu de cela, on va créer un paquet deb pour pouvoir l'​installer et le désinstaller correctement. En lieu et place de firefox, j'en choisi pour l'​exemple la version libre [[http://​www.gnu.org/​software/​gnuzilla/​|icecat]]. Au lieu de cela, on va créer un paquet deb pour pouvoir l'​installer et le désinstaller correctement. En lieu et place de firefox, j'en choisi pour l'​exemple la version libre [[http://​www.gnu.org/​software/​gnuzilla/​|icecat]].
  
-Une fois l'​archive ​récupérer, on la décompresse :+Une fois l'​archive ​récupérée, on la décompresse :
   wget http://​ftp.gnu.org/​gnu/​gnuzilla/​3.5.1/​icecat-3.5.1-i386.tar.bz2 ​     wget http://​ftp.gnu.org/​gnu/​gnuzilla/​3.5.1/​icecat-3.5.1-i386.tar.bz2 ​  
   tar xvjf icecat-3.5.1-i386.tar.bz2   tar xvjf icecat-3.5.1-i386.tar.bz2
Ligne 31: Ligne 33:
 Le principe du fichier est le suivant : Le principe du fichier est le suivant :
  
-  * un dossier de travail +  * un dossier de travail, 
-  * dans ce dossier, un dossier ​"DEBIAN" ​qui comporte un fichier ​"control". Ce fichier comporte la description du paquet, ses dépendances,​ son nom...+  * dans ce dossier, un dossier ​**DEBIAN** qui comporte un fichier ​''​control''​. Ce fichier comporte la description du paquet, ses dépendances,​ son nom...
   * dans ce même dossier de travail, l'​arborescence comme si l'on partait de /   * dans ce même dossier de travail, l'​arborescence comme si l'on partait de /
  
-Créons le dossier de travail, et rendons-nous y : +Créons le dossier de travail, et rendons-nous y :
   mkdir travail   mkdir travail
   cd travail   cd travail
  
-Créons le dossier DEBIAN et l'​arborescence souhaitée : +Créons le dossier ​**DEBIAN** et l'​arborescence souhaitée : ​<​code>​ 
-  mkdir DEBIAN +mkdir DEBIAN 
-  mkdir opt +mkdir opt 
-  mkdir usr +mkdir -p usr/​share/​applications 
-  mkdir usr/share +mkdir usr/bin</​code>​
-  ​mkdir usr/​share/​applications +
-  mkdir usr/bin+
   ​   ​
-Déplaçons le dossier décompressé dans notre opt de travail : +Déplaçons le dossier décompressé dans notre **opt** de travail : <​code>​mv ../​icecat-3.5.1-i386 opt/icecat</​code>​
-  ​mv ../​icecat-3.5.1-i386 opt/icecat+
  
-Créons le fichier control : +Créons le fichier ​''​control'' ​<​code>​nano DEBIAN/​control</​code>​
-  ​nano DEBIAN/​control+
  
-Ce fichier comporte une multitude de champs plus ou moins importants : +Ce fichier comporte une multitude de champs plus ou moins importants : ​<​file>​ 
-  Package: icecat +Package: icecat 
-  Version: 3.5.1 +Version: 3.5.1 
-  Architecture:​ i386 +Architecture:​ i386 
-    Maintainer: Gnuzilla Project +Maintainer: Gnuzilla Project 
-  ​Depends:​ fontconfig, psmisc, debianutils (>= 1.16), xulrunner-1.9.1 (>= 1.9.1), libasound2 (>> 1.0.18), libatk1.0-0 (>= 1.20.0), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.16.0), libnspr4-0d (>= 4.7.3-0ubuntu1~),​ libpango1.0-0 (>= 1.14.0), libstdc++6 (>= 4.1.1) +Section: web 
-  ​Section: web +Priority: optional 
-  Priority: optional +Installed-Size:​ 29700 
-  Installed-Size:​ 29700 +Description:​ Decouvrez une version totalement libre de firefox 
-  Description:​ Decouvrez une version totalement libre de firefox +IceCat est un fork totalement libre de Firefox, maintenu par le projet GnuZilla.</​file>​
-   ​IceCat est un fork totalement libre de Firefox, maintenu par le projet GnuZilla.+
 En l'​occurrence,​ "​Package"​ et "​Version"​ permettront de remplacer un paquet d'un même nom par une version supérieure. En l'​occurrence,​ "​Package"​ et "​Version"​ permettront de remplacer un paquet d'un même nom par une version supérieure.
  
-On peut créer le lanceur dans usr/bin +<note important>​A cette étape, si on voulait installer la dernière version sans effacer la version officielle des dépôts, on pourrait remplacer ''​icecat''​ par ''​icecat-3.5.1''​ par exemple. Ainsi pourraient cohabiter les deux versions d'un même programme. De même, à l'​étape d'​après,​ on remplacerait ''​usr/​bin/​icecat''​ par ''​usr/​bin/​icecat-3.5.1''​ etc.</​note>​
-  nano usr/​bin/​icecat +
-Et y coller : +
-  #!/bin/bash +
-  cd /opt/icecat +
-  sh run-icecat.sh+
  
-Ainsi que l'​entrée ​dans le menu : +On peut créer le lanceur ​dans **usr/​bin** <​code>​nano usr/bin/icecat</code> 
-  ​nano usr/share/applications/icecat.desktop +Et y coller : ​<file bash> 
-Et y coller : +#!/bin/bash 
-  #!/usr/bin/env xdg-open +cd /opt/icecat 
-   +sh run-icecat.sh<​/file>
-  [Desktop Entry] +
-  Version=3.5.1 +
-  Encoding=UTF-8 +
-  Name=IceCat +
-  GenericName=IceCat +
-  Comment=Navigateur Web (Firefox totalement libre) +
-  Exec=icecat +
-  Icon=/​opt/​icecat/​icons/​mozicon128.png +
-  Terminal=false +
-  Type=Application +
-  Categories=Application;​Network;​ +
-  Name[fr_FR]=IceCat+
  
 +Puis le rendre exécutable :​
 +  chmod +x usr/​bin/​icecat
 +
 +Ainsi que l'​entrée dans le menu : <​code>​nano usr/​share/​applications/​icecat.desktop</​code>​
 +Et y coller : <file .desktop>​
 +#​!/​usr/​bin/​env xdg-open
 +  ​
 +[Desktop Entry]
 +Version=3.5.1
 +Encoding=UTF-8
 +Name=IceCat
 +GenericName=IceCat
 +Comment=Navigateur Web (Firefox totalement libre)
 +Exec=icecat
 +Icon=/​opt/​icecat/​icons/​mozicon128.png
 +Terminal=false
 +Type=Application
 +Categories=Application;​Network;​
 +Name[fr_FR]=IceCat
 +</​file>​
 Enfin, tous les ingrédients pour créer le paquet deb sont prêts. Il suffit de le créer par la fonction : Enfin, tous les ingrédients pour créer le paquet deb sont prêts. Il suffit de le créer par la fonction :
   cd ..   cd ..
Ligne 97: Ligne 97:
 Voilà, le paquet est créé et peut être installé normalement : ''​sudo dpkg -i icecat_3.5.1_i386.deb''​ Voilà, le paquet est créé et peut être installé normalement : ''​sudo dpkg -i icecat_3.5.1_i386.deb''​
  
-De la même manière, il est plus facilement ​diffusible ​sur les autres ordinateurs de votre famille ​voir à d'​autres sur internet.+De la même manière, il est plus facilement ​diffusable ​sur les autres ordinateurs de votre famille ​voire à d'​autres sur internet.
  
 [[http://​www.linuxfordevices.com/​c/​a/​Linux-For-Devices-Articles/​How-to-make-deb-packages/​|How to make deb packages]] [[http://​www.linuxfordevices.com/​c/​a/​Linux-For-Devices-Articles/​How-to-make-deb-packages/​|How to make deb packages]]
  
-==== Ressources ====+===== Ressources ​=====
  
 +  * IceCat, [[http://​www.gnu.org/​software/​gnuzilla/​|the GNU version of the Firefox browser]]
   * [[http://​www.python.org/​doc/​2.0.1/​dist/​built-dist.html|documentation python]]   * [[http://​www.python.org/​doc/​2.0.1/​dist/​built-dist.html|documentation python]]
- 
   * [[http://​www.linuxfordevices.com/​c/​a/​Linux-For-Devices-Articles/​How-to-make-deb-packages/​|How to make deb packages]]   * [[http://​www.linuxfordevices.com/​c/​a/​Linux-For-Devices-Articles/​How-to-make-deb-packages/​|How to make deb packages]]
- +  ​* [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=334554|Le paquet de billou]] pour l'​exemple spécifique de firefox/​icecat que je voulais mettre en avant.
-  ​* [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=334554|Le paquet de billou]] pour l'​exemple spécifique de firefox/​icecat que je voulais mettre en avant.+
  
 ---- ----
  • tutoriel/creation_deb.1248987912.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)