Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| projets:paquets:creer_un_paquet_avec_cdbs [Le 05/11/2006, 01:31] – DvP | projets:paquets:creer_un_paquet_avec_cdbs [Le 11/09/2022, 13:17] (Version actuelle) – 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) moths-art | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | Article mis en forme par DvP suite à la séance de formation organisée par Gloubiboulga sur le canal IRC # | ||
| - | Article mis en forme par DvP suite à la séance de formation organisée par Gloubiboulga | + | 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 ===== | ||
| - | CDBS, pour Common Debian Build System, est un outil qui permet de simplifier votre debian/ | + | CDBS, pour Common Debian Build System, est un outil qui permet de simplifier votre debian/ |
| ==== 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 création de paquets et la compilation | + | * Avoir suivi (ou lu) les cours précédents sur la [[tutoriel: |
| * Installer sur votre ordinateur les paquets suivants : | * Installer sur votre ordinateur les paquets suivants : | ||
| * devscripts | * devscripts | ||
| Ligne 17: | Ligne 20: | ||
| * fakeroot | * fakeroot | ||
| - | Afin d' | + | Afin d' |
| + | |||
| + | [[apt:// | ||
| + | < | ||
| - | sudo apt-get install devscripts build-essential cdbs debhelper lintian fakeroot | ||
| ===== Initiation à CDBS ===== | ===== Initiation à CDBS ===== | ||
| Une fois les paquets nécessaires à la création de paquets avec CDBS installés, regardez ensuite dans / | Une fois les paquets nécessaires à la création de paquets avec CDBS installés, regardez ensuite dans / | ||
| - | Regardons le fichier / | + | Regardons le fichier / |
| Tous les fichiers .mk livrés avec CDBS ont ce profil (debhelper.mk est un exemple assez complexe, gnome.mk est beaucoup plus simple). | Tous les fichiers .mk livrés avec CDBS ont ce profil (debhelper.mk est un exemple assez complexe, gnome.mk est beaucoup plus simple). | ||
| Ligne 34: | Ligne 39: | ||
| Quand vous téléchargez un logiciel, 3 commandes suffisent souvent à le compiler/ | Quand vous téléchargez un logiciel, 3 commandes suffisent souvent à le compiler/ | ||
| 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/ | **Attention** : Notez que seul le debian/ | ||
| - | ===== Création d'un paquet avec CDBS ===== | + | ===== Création d'un paquet avec CDBS ===== |
| ==== Préparation ==== | ==== Préparation ==== | ||
| On va aujourd' | On va aujourd' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| ==== 1 - Création du paquet « pas beau » ==== | ==== 1 - Création du paquet « pas beau » ==== | ||
| Pour aller vite, Gloubiboulga a préparé un petit script qui va vous permettre de récupérer tous les fichiers nécessaires sur son site. Placez vous dans un dossier (le dossier ~/packaging de la première session fera très bien l' | Pour aller vite, Gloubiboulga a préparé un petit script qui va vous permettre de récupérer tous les fichiers nécessaires sur son site. Placez vous dans un dossier (le dossier ~/packaging de la première session fera très bien l' | ||
| <code bash> | <code bash> | ||
| - | wget http:// | + | wget http:// |
| chmod a+x get_files.sh | chmod a+x get_files.sh | ||
| ./ | ./ | ||
| </ | </ | ||
| + | <note important> | ||
| + | BASE_URL=" | ||
| + | </ | ||
| 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 57: | 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:// | + | Pour le détail sur les fichiers contenus dans le dossier debian/ rapporter vous au précédent tutoriel : [[tutoriel: |
| === Contenu du dossier debian/ === | === Contenu du dossier debian/ === | ||
| Ligne 77: | Ligne 90: | ||
| Ces deux lignes pourraient suffire à faire le paquet, mais essayons d' | Ces deux lignes pourraient suffire à faire le paquet, mais essayons d' | ||
| - | Première chose : installer une page man. On a vu tout à l' | + | Première chose : installer une page man. On a vu tout à l' |
| Pour assigner une valeur à la variable, on utilise le symbole ": | Pour assigner une valeur à la variable, on utilise le symbole ": | ||
| Ligne 83: | Ligne 96: | ||
| CDBS saura qu'une page man existe, et dans quel paquet l' | CDBS saura qu'une page man existe, et dans quel paquet l' | ||
| - | Il n'y a pas d' | + | Il n'y a pas d' |
| <code bash> | <code bash> | ||
| $ grep -Ri manpage / | $ grep -Ri manpage / | ||
| </ | </ | ||
| - | Ce qui vous donnera en retour : | + | Ce qui vous donnera en retour : |
| <code bash> | <code bash> | ||
| / | / | ||
| Ligne 93: | Ligne 106: | ||
| **Note sur grep** : -R permet de chercher dans tous les fichiers, -i de ne pas tenir compte de la casse. Cela donne une indication sur les variables à utiliser. Les noms des variables sont généralement suffisamment explicites pour permettre une recherche avec grep. | **Note sur grep** : -R permet de chercher dans tous les fichiers, -i de ne pas tenir compte de la casse. Cela donne une indication sur les variables à utiliser. Les noms des variables sont généralement suffisamment explicites pour permettre une recherche avec grep. | ||
| - | La documentation sur CDBS n'est pas très riche. La meilleure pour le moment est : http:// | + | La documentation sur CDBS n'est pas très riche. La meilleure pour le moment est : [[http:// |
| === Customisation du paquet === | === Customisation du paquet === | ||
| Ligne 102: | Ligne 115: | ||
| Voyez http:// | Voyez http:// | ||
| - | __Petit rappel__ : Quand on lance le make install en construisant un paquet, | + | __Petit rappel__ : Quand on lance le make install en construisant un paquet, |
| === Compilation du paquet === | === Compilation du paquet === | ||
| Ligne 114: | Ligne 127: | ||
| debuild -us -uc | debuild -us -uc | ||
| </ | </ | ||
| - | Contrairement à ce que nous avons fait lors de la première session, on ne passe pas par l' | + | Ce script utilise les fichiers téléchargés tout à l' |
| + | Contrairement à ce que nous avons fait lors de la première session, on ne passe pas par l' | ||
| Après le ' | Après le ' | ||
| Ligne 127: | Ligne 141: | ||
| Faites un 'dpkg -c' sur le .deb, ceci va lister le contenu du paquet. Vous verrez que vous avez un dossier sbin, et pas de bin ainsi qu'une manpage. | Faites un 'dpkg -c' sur le .deb, ceci va lister le contenu du paquet. Vous verrez que vous avez un dossier sbin, et pas de bin ainsi qu'une manpage. | ||
| - | On va maintenant construire un paquet multiple, pour satisfaire la debian policy en changeant le debian/ | + | On va maintenant construire un paquet multiple, pour satisfaire la debian policy en changeant le debian/ |
| ==== 2 - Création du paquet en respectant la « debian policy » ==== | ==== 2 - Création du paquet en respectant la « debian policy » ==== | ||
| Ligne 156: | Ligne 171: | ||
| cat textcat/ | cat textcat/ | ||
| </ | </ | ||
| - | La ligne src/ | + | La ligne src/ |
| Le debian/ | Le debian/ | ||
| - | === Compilation du paquet === | + | === Compilation du paquet === |
| - | Nous allons maintenant compiler les paquets :) | + | Nous allons maintenant compiler les paquets : |
| <code bash> | <code bash> | ||
| rm -rf / | rm -rf / | ||
| Ligne 179: | Ligne 194: | ||
| * libtextcat0_2.2-0ubuntu2_i386.deb | * libtextcat0_2.2-0ubuntu2_i386.deb | ||
| * libtextcat-dev_2.2-0ubuntu2_i386.deb | * libtextcat-dev_2.2-0ubuntu2_i386.deb | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
