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édentesRévision précédente
Prochaine révision
Révision précédente
tutoriel:creation_deb [Le 07/08/2009, 12:37] 213.95.41.13tutoriel: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''
-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''+
  
  
Ligne 25: 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 [[http://doc.ubuntu-fr.org/firefox#versions_en_developpement|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]].
  
Ligne 35: 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 "DEBIANqui 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 
-  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.+IceCat est un fork totalement libre de Firefox, maintenu par le projet GnuZilla.</file>
 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.
  
 <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> <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>
  
-On peut créer le lanceur dans usr/bin +On peut créer le lanceur dans **usr/bin** : <code>nano usr/bin/icecat</code> 
-  nano usr/bin/icecat +Et y coller : <file bash> 
-Et y coller : +#!/bin/bash 
-  #!/bin/bash +cd /opt/icecat 
-  cd /opt/icecat +sh run-icecat.sh</file>
-  sh run-icecat.sh+
  
-Puis le rendre exécutable+Puis le rendre exécutable :
   chmod +x usr/bin/icecat   chmod +x usr/bin/icecat
  
-Ainsi que l'entrée dans le menu : +Ainsi que l'entrée dans le menu : <code>nano usr/share/applications/icecat.desktop</code> 
-  nano usr/share/applications/icecat.desktop +Et y coller : <file .desktop> 
-Et y coller : +#!/usr/bin/env xdg-open
-  #!/usr/bin/env xdg-open+
      
-  [Desktop Entry] +[Desktop Entry] 
-  Version=3.5.1 +Version=3.5.1 
-  Encoding=UTF-8 +Encoding=UTF-8 
-  Name=IceCat +Name=IceCat 
-  GenericName=IceCat +GenericName=IceCat 
-  Comment=Navigateur Web (Firefox totalement libre) +Comment=Navigateur Web (Firefox totalement libre) 
-  Exec=icecat +Exec=icecat 
-  Icon=/opt/icecat/icons/mozicon128.png +Icon=/opt/icecat/icons/mozicon128.png 
-  Terminal=false +Terminal=false 
-  Type=Application +Type=Application 
-  Categories=Application;Network; +Categories=Application;Network; 
-  Name[fr_FR]=IceCat +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 105: 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]]
Ligne 112: Ligne 104:
  
   * IceCat, [[http://www.gnu.org/software/gnuzilla/|the GNU version of the Firefox browser]]   * 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.+
  
 ---- ----