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 Les deux révisions suivantes
tutoriel:creer_un_paquet [Le 24/04/2017, 20:13]
78.217.56.69 archives désormais au format lzma (xz)
tutoriel:creer_un_paquet [Le 25/07/2017, 21:19]
fabux ancienne révision (Le 08/03/2017, 15:27) restaurée
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 74: Ligne 74:
   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.xz+  wget http://​gauvain.pocentek.net/​u-classroom/​2006-08-31/​epdfview-0.1.5.tar.gz
  
 On utilise ici le site de Gloubiboulga en lieu et place du site officiel, car ce dernier est particulièrement lent. On utilise ici le site de Gloubiboulga en lieu et place du site officiel, car ce dernier est particulièrement lent.
-Une fois les sources récupérées,​ la **première** chose à faire est de renommer le tarball, afin de pouvoir créer un paquet source correct par la suite. Attention le format de ce nom est important. Une erreur ici n'est pas particulièrement désastreuse,​ mais met en péril la qualité du paquet source. La syntaxe est //​paquet_version.orig.tar.xz// (notez le « _ » à la place du « - » d'​origine).+Une fois les sources récupérées,​ la **première** chose à faire est de renommer le tarball, afin de pouvoir créer un paquet source correct par la suite. Attention le format de ce nom est important. Une erreur ici n'est pas particulièrement désastreuse,​ mais met en péril la qualité du paquet source. La syntaxe est //​paquet_version.orig.tar.gz// (notez le « _ » à la place du « - » d'​origine).
 Il faut donc exécuter dans le terminal : Il faut donc exécuter dans le terminal :
  
-  mv epdfview-0.1.5.tar.gz epdfview_0.1.5.orig.tar.xz+  mv epdfview-0.1.5.tar.gz epdfview_0.1.5.orig.tar.gz
  
 Notez le nom similaire au fichier correspondant que nous avons trouvé dans le chapitre précédent. Notez le nom similaire au fichier correspondant que nous avons trouvé dans le chapitre précédent.
Ligne 86: Ligne 86:
 Puis on décompresse cette archive et on entre dans le répertoire contenant les sources : Puis on décompresse cette archive et on entre dans le répertoire contenant les sources :
  
-  tar zxvf epdfview_0.1.5.orig.tar.xz+  tar zxvf epdfview_0.1.5.orig.tar.gz
   cd epdfview-0.1.5   cd epdfview-0.1.5
  
 Une règle d'or dans la création de paquets est de **ne pas toucher au tarball d'​origine**. La seule chose autorisée est de le renommer (c'est même nécessaire). Ne pas modifier le tarball permet de bien distinguer le travail de l'​auteur de celui du packageur (empaqueteur). Une règle d'or dans la création de paquets est de **ne pas toucher au tarball d'​origine**. La seule chose autorisée est de le renommer (c'est même nécessaire). Ne pas modifier le tarball permet de bien distinguer le travail de l'​auteur de celui du packageur (empaqueteur).
-Maintenant que les sources sont là, ainsi que le « .orig.tar.xz », on va pouvoir créer le paquet. Pour cela il faut créer le dossier « debian/​ » dans le dossier des sources (je vous rappelle que c'est ce dossier « debian » qui va donner les différents fichiers contenus dans notre paquet source (cf. [[#​etude_du_contenu_d_un_paquet_debian_source|chap1]])).+Maintenant que les sources sont là, ainsi que le « .orig.tar.gz », on va pouvoir créer le paquet. Pour cela il faut créer le dossier « debian/​ » dans le dossier des sources (je vous rappelle que c'est ce dossier « debian » qui va donner les différents fichiers contenus dans notre paquet source (cf. [[#​etude_du_contenu_d_un_paquet_debian_source|chap1]])).
 Pour créer un squelette de dossier « debian/​ »,​ utilisez dh_make installé disponible dans le paquet dh-make (cf. [[#​pré-requis]]). Pour créer un squelette de dossier « debian/​ »,​ utilisez dh_make installé disponible dans le paquet dh-make (cf. [[#​pré-requis]]).
  
Ligne 280: Ligne 280:
 </​code>​ </​code>​
  
-Le '​-S'​ permet de construire un paquet source, le '​--lintian-opts -i' donne une information sur les messages d'​erreur de lintian, le '​-sa'​ permet d'​inclure le .orig.tar.xz dans l'​upload vers une archive (à retenir lorsque vous uploaderez votre premier paquet sur [[http://​revu.tauware.de| REVU]], le système de QA d'​Ubuntu,​ permettant aux contributeurs de faire rentrer des paquets et surtout, comme son nom l'​indique,​ de les faire vérifier par des MOTUs).+Le '​-S'​ permet de construire un paquet source, le '​--lintian-opts -i' donne une information sur les messages d'​erreur de lintian, le '​-sa'​ permet d'​inclure le .orig.tar.gz dans l'​upload vers une archive (à retenir lorsque vous uploaderez votre premier paquet sur [[http://​revu.tauware.de| REVU]], le système de QA d'​Ubuntu,​ permettant aux contributeurs de faire rentrer des paquets et surtout, comme son nom l'​indique,​ de les faire vérifier par des MOTUs).
 La commande utilise automatiquement fakeroot (commande simulant les privilèges super-utilisateur) si rien est précisé (voir le man de debuild). La commande utilise automatiquement fakeroot (commande simulant les privilèges super-utilisateur) si rien est précisé (voir le man de debuild).
  
Ligne 429: Ligne 429:
 === 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 447:
   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 ? ===
  • tutoriel/creer_un_paquet.txt
  • Dernière modification: Le 23/10/2023, 12:12
  • par polobuntu