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
projets:paquets:creer_un_paquet_avec_cdbs [Le 26/11/2008, 00:51]
Id2ndR lien interne
projets:paquets:creer_un_paquet_avec_cdbs [Le 11/09/2022, 13:17] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 3: Ligne 3:
 Merci à Gloubiboulga pour la relecture et corrections. Merci à Gloubiboulga pour la relecture et corrections.
  
-====== CDBS, un outil de création de paquets debian ====== ​+====== CDBS, un outil de création de paquets debian ======
  
 ===== Présentation ===== ===== Présentation =====
Ligne 10: Ligne 10:
  
 ==== Pré requis ==== ==== Pré requis ====
-Pour pouvoir suivre cette documentation un certain nombre de pré-requis sont nécessaires :  +Pour pouvoir suivre cette documentation un certain nombre de pré-requis sont nécessaires : 
-  * Avoir suivi (ou lu) les cours précédents sur la [[tutoriel:​creer_un_paquet|création de paquets]] et la [[projets:paquets:compiler_un_programme|compilation d'un programme]]+  * Avoir suivi (ou lu) les cours précédents sur la [[tutoriel:​creer_un_paquet|création de paquets]] et la [[:tutoriel:compilation|compilation d'un programme]]
   * Installer sur votre ordinateur les paquets suivants :   * Installer sur votre ordinateur les paquets suivants :
     * devscripts     * devscripts
Ligne 20: Ligne 20:
     * fakeroot     * fakeroot
  
-Afin d'​installer rapidement ces paquets, exécuter la commande suivante ​+Afin d'​installer rapidement ces paquets :
  
-  ​sudo apt-get install devscripts build-essential cdbs debhelper lintian fakeroot+[[apt://​devscripts,​build-essential,​cdbs,​debhelper,​lintian,​fakeroot|{{apt.png}}]] ou en console : 
 +<​code>​sudo apt-get install devscripts build-essential cdbs debhelper lintian fakeroot</​code>​
  
  
Ligne 38: Ligne 39:
 Quand vous téléchargez un logiciel, 3 commandes suffisent souvent à le compiler/​installer (les fameuses commandes ./​configure,​ make et make install) mais vous pouvez aussi faire vous même la compilation en utilisant directement gcc ou g++. Quand vous téléchargez un logiciel, 3 commandes suffisent souvent à le compiler/​installer (les fameuses commandes ./​configure,​ make et make install) mais vous pouvez aussi faire vous même la compilation en utilisant directement gcc ou g++.
 C'est ce que font les 3 commandes, mais pour vous c'est beaucoup plus simple. C'est ce que font les 3 commandes, mais pour vous c'est beaucoup plus simple.
-C'est le même principe avec debhelper et cdbs, vous pouvez tout faire manuellement avec debhelper mais vous pouvez aussi utiliser cdbs qui fera le même boulot avec 2 lignes de code (en utilisant debhelper 99 fois sur 100). +C'est le même principe avec debhelper et cdbs, vous pouvez tout faire manuellement avec debhelper mais vous pouvez aussi utiliser cdbs qui fera le même boulot avec 2 lignes de code (en utilisant debhelper 99 fois sur 100).
  
 **Attention** : Notez que seul le debian/​rules est concerné par CDBS, le reste des fichiers de debian/ reste identique suivant que vous utilisiez debhelper ou CDBS. **Attention** : Notez que seul le debian/​rules est concerné par CDBS, le reste des fichiers de debian/ reste identique suivant que vous utilisiez debhelper ou CDBS.
  
-===== Création d'un paquet avec CDBS ===== +===== Création d'un paquet avec CDBS =====
 ==== Préparation ==== ==== Préparation ====
 On va aujourd'​hui empaqueter libtextcat (http://​software.wise-guys.nl/​libtextcat/​). On va procéder en 2 étapes. D'​abord en créant un paquet très laid, mais qui nous permettra de nous faire la main, puis en créant un vrai paquet, tout beau, et qui nous donnera plusieurs .debs. On va aujourd'​hui empaqueter libtextcat (http://​software.wise-guys.nl/​libtextcat/​). On va procéder en 2 étapes. D'​abord en créant un paquet très laid, mais qui nous permettra de nous faire la main, puis en créant un vrai paquet, tout beau, et qui nous donnera plusieurs .debs.
Ligne 58: Ligne 59:
 ./​get_files.sh init ./​get_files.sh init
 </​code>​ </​code>​
 +<note important>​Il faut modifier le script get_files.sh,​ et remplacer à la ligne 6 la valeur de BASE_URL par :
 +  BASE_URL="​http://​gauvain.pocentek.net/​u-classroom/​2006-10-31/​textcat"​
 +</​note>​
 Ceci va vous permettre de récupérer le paquet source orig.tar.gz de libtextcat et un dossier debian/ contenant les fichiers nécessaires à la création d'un paquet tout moche ;) Ceci va vous permettre de récupérer le paquet source orig.tar.gz de libtextcat et un dossier debian/ contenant les fichiers nécessaires à la création d'un paquet tout moche ;)
  
Ligne 66: Ligne 70:
 Puis choisir « b » pour la création d'un paquet en utilisant cdbs. Ceci générera le dossier debian/ ainsi que les fichiers au « format » cdbs. Puis choisir « b » pour la création d'un paquet en utilisant cdbs. Ceci générera le dossier debian/ ainsi que les fichiers au « format » cdbs.
  
-Pour le détail sur les fichiers contenus dans le dossier debian/ rapporter vous au précédent tutoriel : [[http://​doc.ubuntu-fr.org/​projets/​paquets/​creer_un_paquet|Créer un paquet]]+Pour le détail sur les fichiers contenus dans le dossier debian/ rapporter vous au précédent tutoriel : [[tutoriel:​creer_un_paquet|Créer un paquet]]
  
 === Contenu du dossier debian/ === === Contenu du dossier debian/ ===
Ligne 92: Ligne 96:
 CDBS saura qu'une page man existe, et dans quel paquet l'​installer lors de la construction du paquet binaire (en utilisant en fait dh_installman). CDBS saura qu'une page man existe, et dans quel paquet l'​installer lors de la construction du paquet binaire (en utilisant en fait dh_installman).
  
-Il n'y a pas d'​intérêt à détailler toutes les variables utilisables avec CDBS (il y en a des tonnes). Regarder ce qui se passe dans les fichiers .mk est certainement une meilleure idée. Vous pouvez pour cela utiliser grep pour rechercher quelque chose : +Il n'y a pas d'​intérêt à détailler toutes les variables utilisables avec CDBS (il y en a des tonnes). Regarder ce qui se passe dans les fichiers .mk est certainement une meilleure idée. Vous pouvez pour cela utiliser grep pour rechercher quelque chose :
 <code bash> <code bash>
 $ grep -Ri manpage /​usr/​share/​cdbs/​1 $ grep -Ri manpage /​usr/​share/​cdbs/​1
 </​code>​ </​code>​
-Ce qui vous donnera en retour :  +Ce qui vous donnera en retour :
 <code bash> <code bash>
 /​usr/​share/​cdbs/​1/​rules/​debhelper.mk: ​  ​dh_installman -p$(cdbs_curpkg) $(DEB_INSTALL_MANPAGES_$(cdbs_curpkg)) /​usr/​share/​cdbs/​1/​rules/​debhelper.mk: ​  ​dh_installman -p$(cdbs_curpkg) $(DEB_INSTALL_MANPAGES_$(cdbs_curpkg))
Ligne 123: Ligne 127:
 debuild -us -uc debuild -us -uc
 </​code>​ </​code>​
-Ce script utilise les fichiers téléchargés tout à l'​heure pour créer un vrai paquet (simplement en copiant le dossier textcat/​debian dans le dossier source décompressé). ​+Ce script utilise les fichiers téléchargés tout à l'​heure pour créer un vrai paquet (simplement en copiant le dossier textcat/​debian dans le dossier source décompressé).
 Contrairement à ce que nous avons fait lors de la première session, on ne passe pas par l'​étape paquet source puis [[:​pbuilder]],​ puisque vous savez tous faire ça, que c'est long, et que ça n'a aucun intérêt aujourd'​hui ;) Contrairement à ce que nous avons fait lors de la première session, on ne passe pas par l'​étape paquet source puis [[:​pbuilder]],​ puisque vous savez tous faire ça, que c'est long, et que ça n'a aucun intérêt aujourd'​hui ;)
  
Ligne 171: Ligne 175:
 Le debian/​rules est quasiment identique à celui de notre premier paquet, seul le paquet cible pour l'​installation de la page man et pour le renommage de bin en sbin est changé. Pas besoin d'​appeler dh_install explicitement,​ debhelper.mk s'en charge. Le debian/​rules est quasiment identique à celui de notre premier paquet, seul le paquet cible pour l'​installation de la page man et pour le renommage de bin en sbin est changé. Pas besoin d'​appeler dh_install explicitement,​ debhelper.mk s'en charge.
  
-=== Compilation du paquet === +=== Compilation du paquet ===
 Nous allons maintenant compiler les paquets : Nous allons maintenant compiler les paquets :
 <code bash> <code bash>
  • projets/paquets/creer_un_paquet_avec_cdbs.1227657115.txt.gz
  • Dernière modification: Le 26/11/2008, 00:51
  • par Id2ndR