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 | |||
projets:paquets:creer_un_paquet_avec_cdbs [Le 21/02/2010, 16:43] draco31.fr lien mort |
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 [[:tutoriel:compilation|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 : | ||
Ligne 39: | 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 96: | 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 127: | 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 175: | 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> |