projets:systemesreseaux:compiledebian
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédente | |||
projets:systemesreseaux:compiledebian [2014/01/22 22:25] – [Prérequis pour la compilation des sources] christian.jacolot | projets:systemesreseaux:compiledebian [2024/04/16 22:26] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Compilation paquet source Debian ====== | ||
+ | |||
+ | ===== Prérequis pour la compilation des sources ===== | ||
+ | |||
+ | Pour compiler les sources d'un paquet Debian, il vous faut les paquets Debian suivants: | ||
+ | |||
+ | * build essential < | ||
+ | |||
+ | |||
+ | ===== Compilation des sources provenant d'un paquet Debian ===== | ||
+ | |||
+ | Le but est de construire un fichier binaire exécutable (ou plusieurs suivant les applications) à partir des fichiers sources provenant d'un paquet Debian. | ||
+ | L' | ||
+ | < | ||
+ | $ cd travail | ||
+ | $ apt-cache search hello | ||
+ | $ apt-get source hello | ||
+ | </ | ||
+ | |||
+ | Plusieurs fichiers et répertoire sont apparus dans le répertoire de '' | ||
+ | * fichier '' | ||
+ | * fichier '' | ||
+ | * fichier '' | ||
+ | * et un répertoire '' | ||
+ | |||
+ | Production du paquet binaire à partir des sources: | ||
+ | < | ||
+ | $ cd hello-x.y # n' | ||
+ | $ dpkg-buildpackage -b | ||
+ | </ | ||
+ | |||
+ | Dans le répertoire parent, on obtient deux fichiers: | ||
+ | * fichier '' | ||
+ | * fichier '' | ||
+ | |||
+ | La commande suivante permet d' | ||
+ | < | ||
+ | $ dpkg -x hello_x.y-revision_debian_i386.deb . | ||
+ | </ | ||
+ | |||
+ | Pour juste afficher le contenu, utiliser la commande: | ||
+ | < | ||
+ | $ dpkg -c hello_x.y-revision_debian_i386.deb | ||
+ | </ | ||
+ | |||
+ | Pour extraire tous les fichiers (binaire et les fichiers Debian de gestion de ce paquet), il faut utiliser la commande: | ||
+ | < | ||
+ | $ dpkg-deb -R hello_x.y-revision_debian_i386.deb hello | ||
+ | </ | ||
+ | |||
+ | Et enfin pour installer notre paquet Debian fraichement reconstruit: | ||
+ | < | ||
+ | $ sudo dpkg -i hello_x.y-revision_debian_i386.deb | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Création d'un paquet source Debian ===== | ||
+ | |||
+ | ===== Prérequis pour la compilation des sources ===== | ||
+ | |||
+ | Pour créer une paquet Debian, il vous faut les paquets Debian suivants: | ||
+ | |||
+ | * dh-make < | ||
+ | |||
+ | A partir des sources du projet GNU '' | ||
+ | |||
+ | Récupération des sources: | ||
+ | < | ||
+ | $ wget http:// | ||
+ | </ | ||
+ | |||
+ | Renommer l' | ||
+ | < | ||
+ | $ mv hello-2.9.tar.gz hello_2.9.orig.tar.gz # faites attention au _ | ||
+ | </ | ||
+ | |||
+ | Extraire les fichiers de l' | ||
+ | < | ||
+ | $ tar xf hello_2.9.orig.tar.gz | ||
+ | $ cd hello-2.9 | ||
+ | </ | ||
+ | |||
+ | Lancer l' | ||
+ | < | ||
+ | $ dh_make | ||
+ | # choisir s comme single binary | ||
+ | # entrée pour confirmer les champs suivants | ||
+ | </ | ||
+ | |||
+ | Un répertoire '' | ||
+ | * control: données sur le paquet, description, | ||
+ | * changelog: données sur les modifications apportées aux sources | ||
+ | * rules: règles de construction du paquet | ||
+ | * copyright: information sur la license | ||
+ | |||
+ | |||
+ | Configurer l' | ||
+ | < | ||
+ | $ ./configure # choisir les options si besoin | ||
+ | </ | ||
+ | |||
+ | Création du paquet source: | ||
+ | < | ||
+ | $ dpkg-buildpackage | ||
+ | </ | ||
+ | |||
+ | Cela nous génère les fichiers suivants dans le répertoire parent: | ||
+ | * hello_2.9-1.debian.tar.gz, | ||
+ | * hello_2.9-1.dsc, | ||
+ | * hello_2.9-1_source.changes, | ||
+ | |||
+ | Pour construire les binaires à partir des sources (si on n'a pas besoin du paquet source, ): | ||
+ | < | ||
+ | $ dpkg-buildpackage -us -uc # utilise -b : construire un binaire | ||
+ | </ | ||
+ | |||
+ | Ce qui nous génère les fichiers suivants dans le répertoire parent: | ||
+ | * hello_2.9-1_i386.deb, | ||
+ | * hello_2.9-1_i386.changes, | ||
+ | * hello_2.9-1.dsc. | ||
+ | |||
+ | Il ne reste plus qu'à installer ce nouveau paquet binaire: | ||
+ | < | ||
+ | $ sudo dpkg -i hello_2.9-1_i386.deb | ||
+ | </ | ||