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 Prochaine révision Les deux révisions suivantes | ||
tutoriel:creer_un_paquet [Le 24/04/2017, 20:09] 78.217.56.69 archives désormais au format lzma (xz) |
tutoriel:creer_un_paquet [Le 09/10/2018, 17:17] 176.133.45.15 pas de rm -rf si cd fail ... |
||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
<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 à [[:software-center|La logithèque]] ou aux outils [[:apt-get]] (en ligne de commande) ou [[:Synaptic]] (Gnome) ou [[:Apper]] (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. | + | 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> | <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> | ||
Ligne 45: | Ligne 45: | ||
* un répertoire xfce4-xkb-plugin-0.4.1 | * un répertoire xfce4-xkb-plugin-0.4.1 | ||
* et les fichiers suivants : | * et les fichiers suivants : | ||
- | * xfce4-xkb-plugin_0.4.1.orig.tar.xz | + | * xfce4-xkb-plugin_0.4.1.orig.tar.gz |
* xfce4-xkb-plugin_0.4.1-0ubuntu5.dsc | * xfce4-xkb-plugin_0.4.1-0ubuntu5.dsc | ||
* xfce4-xkb-plugin_0.4.1-0ubuntu5.diff.gz | * xfce4-xkb-plugin_0.4.1-0ubuntu5.diff.gz | ||
Ligne 51: | 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.xz** 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.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 71: | 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 429: | Ligne 428: | ||
=== Après avoir exécuté `debuild -S -sa`, je n'ai pas de .diff.gz ! === | === Après avoir exécuté `debuild -S -sa`, je n'ai pas de .diff.gz ! === | ||
- | C'est que la syntaxe de votre .orig.tar.xz n'est pas correcte. Vérifiez bien qu'il est de la forme : nomDuPaquet**_**x.y.z.orig.tar.xz | + | C'est que la syntaxe de votre .orig.tar.gz n'est pas correcte. Vérifiez bien qu'il est de la forme : nomDuPaquet**_**x.y.z.orig.tar.gz |
Notez le '_' (pas de '-'), qui est souvent source d'erreur. | Notez le '_' (pas de '-'), qui est souvent source d'erreur. | ||
- | Lors de l'exécution de `debuild -S -sa`, vous pouvez vérifier qu'il a bien créé le .diff.gz et tenu compte de votre .orig.tar.xz en cherchant les lignes suivantes : | + | Lors de l'exécution de `debuild -S -sa`, vous pouvez vérifier qu'il a bien créé le .diff.gz et tenu compte de votre .orig.tar.gz en cherchant les lignes suivantes : |
- | dpkg-source: building foo using existing foo_x.y.z.orig.tar.xz | + | dpkg-source: building foo using existing foo_x.y.z.orig.tar.gz |
dpkg-source: building foo in foo_x.y.z-0ubuntu1.diff.gz | dpkg-source: building foo in foo_x.y.z-0ubuntu1.diff.gz | ||
Ligne 447: | Ligne 446: | ||
gzip -9 foo-x.y.z.tar | gzip -9 foo-x.y.z.tar | ||
- | Renommez enfin votre archive pour avoir un .orig.tar.xz correct. | + | Renommez enfin votre archive pour avoir un .orig.tar.gz correct. |
=== De nombreuses applications sous Ubuntu sont disponibles via plusieurs paquets notamment app.deb et app-common.deb. Comment cela est il obtenu ? === | === De nombreuses applications sous Ubuntu sont disponibles via plusieurs paquets notamment app.deb et app-common.deb. Comment cela est il obtenu ? === | ||
Ligne 467: | 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> | ||
---- | ---- |