Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
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 Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:mentors-creer-un-paquet-simple [03/07/2014 19:35] 127.0.0.1 modification externe |
atelier:chantier:mentors-creer-un-paquet-simple [28/10/2016 14:12] chalu [Récupération du code source du programme que vous voulez transformer en paquet Debian] |
||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
* Objet : Créer un mini paquet Debian, et faire connaissance avec les différents points importants | * Objet : Créer un mini paquet Debian, et faire connaissance avec les différents points importants | ||
- | * Niveau requis : FIXME {{tag>avisé}} | + | * Niveau requis : {{tag>avisé}} |
* Commentaires : //Vous voulez vous lancer dans la construction de paquet Debian, empaqueter un nouveau logiciel ou reprendre la maintenance d'un paquet existant.// | * Commentaires : //Vous voulez vous lancer dans la construction de paquet Debian, empaqueter un nouveau logiciel ou reprendre la maintenance d'un paquet existant.// | ||
* À savoir : [[:doc:mentors:mentors|Contribuer à Debian]] :-) | * À savoir : [[:doc:mentors:mentors|Contribuer à Debian]] :-) | ||
* Suivi : {{tag>en-chantier à-tester}} | * Suivi : {{tag>en-chantier à-tester}} | ||
* Création par [[user>captnfab]] 01/03/2014 | * Création par [[user>captnfab]] 01/03/2014 | ||
- | * Testé par <...> le <...> FIXME | + | * Mis à jour par [[user>greenmerlin]] 28/10/2016 |
- | * Commentaires sur le forum : [[:url-invalide | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Testé par <...> le <...> |
+ | * Commentaires sur le forum : [[https://debian-facile.org/viewtopic.php?pid=197849#p197849 | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
- | **Nota :** | ||
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | + | ===== Introduction ===== |
+ | Bien que le nombre de paquets proposé par Debian soit démentiel (48608 environs) https://packages.debian.org/stable/allpackages?format=txt.gz\\ | ||
+ | Il est possible que vous trouviez un logiciel Open-source qui ne soit pas encore disponible par votre **apt install** | ||
- | ===== Introduction ===== | + | Là 2 choix s'offrent à vous : |
- | FIXME | + | |
+ | ^ 1ER choix ^ | ||
+ | | Faire une demande officiel via le RPF ( Request for Package ) https://www.debian.org/devel/wnpp/requested | | ||
+ | |||
+ | ^ 2EME choix ^ | ||
+ | | Faire le paquet vous meme | | ||
+ | |||
+ | Alors pourquoi faire un paquet me direz vous? | ||
+ | |||
+ | > Bah ouaii green t'oublies que je suis un gros Nerds de Debian&co et le ./configure && make && make install je maîtrise | ||
+ | |||
+ | >> Ok mais si tu dois déployer ton programme sur 100 ordinateurs et qu'il met 4 ans à se compiler tu seras mort avant d'avoir pu faire le déploiement et du coup ton patron ira pourrir la vie de tes petits enfants | ||
+ | |||
+ | > HA d'accord j'ai compris!!! | ||
+ | |||
+ | >> deuxièmement si tu regardes attentivement la page de **RPF** tu t'apercevras que certains attendent depuis très longtemps..... | ||
+ | |||
+ | {{ https://cdn.meme.am/images/50x50/10911804.jpg }} | ||
+ | |||
+ | Donc c'est parti pour le tuto | ||
+ | ===== Installation des paquets nécessaire à la création de paquet (fixme le titre de ce chapitre est null) ===== | ||
+ | |||
+ | <code root>apt install build-essential automake autoconf libtool pkg-config libcurl4-openssl-dev intltool libxml2-dev libgtk2.0-dev libnotify-dev libglib2.0-dev libevent-dev checkinstall</code> | ||
+ | |||
+ | ===== Récupération du code source du programme que vous voulez transformer en paquet Debian ===== | ||
+ | |||
+ | Là c'est facile, il suffit de récupérer le code source du programme désiré. La plupart du temps il est proposé soit en *.tar.gz ou en *.tar.bzip2 voir *.zip pour github | ||
+ | |||
+ | Donc je me rend sur le site du programme/projet en question et je télécharge les sources. | ||
+ | |||
+ | <code user>cd /home/green/src</code> | ||
+ | <code user>wget http://downloads.sourceforge.net/project/le_projet_en_question.tar.gz</code> | ||
+ | ensuite je fais comme dans le super tutorial de Paul **cf : lien vers le tuto ./configure make et truc & co** | ||
+ | <code user>tar xzvf le_projet_en_question.tar.gz</code> | ||
+ | <code user> cd le_projet_en_question</code> | ||
+ | <code user> ./configure --les-options-qui-vont-bien && make </code> | ||
+ | <code root> checkinstall </code> | ||
+ | {{ https://raphaelhertzog.com/files/2010/11/application-x-deb.png }} | ||
+ | C'est cette commande qui va créer votre paquet (.deb) mais avant cela elle va vérifier l’existence d'un dossier doc-pak à la racine qui est en faite un dossier qui contiendra la documentation de votre paquet.\\ | ||
+ | Si elle ne trouve pas le dossier en question elle vous proposera donc d'en créer un | ||
+ | |||
+ | <code>The package documentation directory ./doc-pak does not exist. | ||
+ | Should I create a default set of package docs? [y]: y | ||
+ | Preparing package documentation...OK | ||
+ | |||
+ | Please write a description for the package. | ||
+ | End your description with an empty line or EOF. | ||
+ | >> | ||
+ | </code> | ||
+ | La vous écrivez la description de votre paquet | ||
+ | <code sh>Gros rootkit dissimuler dans un faux plugins d'evolution</code> | ||
+ | Ensuite vous arriverez devant un menu qui vous permettra d'entrer tout les informations "vitales" pour un paquet Debian | ||
+ | |||
+ | <code> | ||
+ | This package will be built according to these values: | ||
+ | |||
+ | 0 - Maintainer: [ root@debian ] //Qui harceler quand le paquet fonctionne plus | ||
+ | 1 - Summary: [ Gros rootkit dissimuler dans un faux plugins d'evolution ] //La description rentrer plus haut | ||
+ | 2 - Name: [ fish ] //Le nom du programme | ||
+ | 3 - Version: [ 20161027 ] // la version | ||
+ | 4 - Release: [ 1 ] // ... | ||
+ | 5 - License: [ GPL ] //etc ... | ||
+ | 6 - Group: [ checkinstall ] /etc... | ||
+ | 7 - Architecture: [ i386 ] | ||
+ | 8 - Source location: [ Fish ] | ||
+ | 9 - Alternate source location: [ ] | ||
+ | 10 - Requires: [ ] | ||
+ | 11 - Provides: [ fish ] | ||
+ | 12 - Conflicts: [ ] | ||
+ | 13 - Replaces: [ ] | ||
+ | |||
+ | Enter a number to change any of them or press ENTER to continue | ||
+ | </code> | ||
+ | Une fois toutes les infos renseignées, valider en appuyant sur <key>Entrée</key> | ||
+ | |||
+ | Si tout c'est bien déroulé **Checkinstall** devrait vous donner une sortie comme ça | ||
+ | <code> | ||
+ | ********************************************************************** | ||
+ | |||
+ | Done. The new package has been installed and saved to | ||
+ | |||
+ | /usr/src/Fish/fish_20161027-1_i386.deb | ||
+ | |||
+ | You can remove it from your system anytime using: | ||
+ | |||
+ | dpkg -r fish | ||
+ | |||
+ | ********************************************************************** | ||
+ | </code> | ||
- | ===== Installation des outils de développement ===== | + | ===== Test du paquet avant mise en production ===== |
- | <code root>apt-get install autotools-dev automake autoconf dh-autoreconf devscripts dh-make</code> | + | La très simple on install via un |
+ | <code root>dpkg -i nom_du_paquet.dev</code> | ||
+ | puis on teste le programme | ||
+ | si tout est ok on désinstall via un | ||
+ | <code root>dpkg -r nom_du_paquet</code> | ||
+ | voila ensuite il ne vous reste plus qu'a implementer votre nouveau paquet dans un miroir apt et le tour est joué |