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 | ||
tutoriel:creation_deb [Le 31/07/2009, 09:21] 213.95.41.13 |
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'' | |
- | 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 "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. | ||
<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 | + | |
- | Ainsi que l'entrée dans le menu : | + | Puis le rendre exécutable : |
- | nano usr/share/applications/icecat.desktop | + | chmod +x usr/bin/icecat |
- | Et y coller : | + | |
- | #!/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 | + | |
+ | 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 103: | 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 110: | 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. | + | |
---- | ---- |