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 | ||
projets:paquets:creer_un_paquet_avec_cdbs [Le 19/10/2008, 17:22] CircleCode Changed gauvain's files url from http://gauvain.tuxfamily.org/ to http://gauvain.pocentek.net/ |
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 [[http://doc.ubuntu-fr.org/tutoriel/creer_un_paquet|création de paquets]] et la [[http://doc.ubuntu-fr.org/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> |