Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tutoriel:appliquer_un_debdiff [Le 28/05/2008, 20:53] – Création d'une page sur les debdiffs orkeronetutoriel:appliquer_un_debdiff [Le 21/11/2013, 19:04] (Version actuelle) – [Comment appliquer un *.debdiff à un paquet] 78.235.91.37
Ligne 1: Ligne 1:
 +{{tag>tutoriel paquet}}
 +
 +====== Comment appliquer un *.debdiff à un paquet ======
 +
 +Il arrive que sur [[http://launchpad.net|Launchpad]], certains développeurs postent des fichiers *.debdiff pour résoudre le bug. Ces fichiers contiennent en fait une liste des changements du paquet par rapport à l'ancien, dans notre cas, ce sont les modifications qui ont été appliquées au paquet deb pour résoudre le bug. On va donc apprendre à appliquer ce debdiff pour avoir un nouveau paquet fonctionnel.
 +
 +La marche à suivre est simple: récupération de la source du paquet, création du paquet original, récupération du debdiff, recompilation du paquet suivant le debdiff, installation du paquet, bonheur. Rassurez vous, c'est très simple.
 +
 +<note>Dans la suite du tutoriel, nous appellerons le paquet à traiter PAQUET. Pensez donc à bien remplacer PAQUET par le paquet que vous souhaitez traitez.</note>
 +//Exemple : Je veux appliquer mon debdiff à **Rhythmbox** : mon deb s'appelle sûrement rhythmbox0.11.5-ubuntuxxx, mais le nom du paquet reste rhythmbox. Je remplace donc PAQUET par **rhythmbox** tout le temps.//
 +
 +== Outils de constructions ==
 +Tout ce qui va nous servir à compiler notre paquet.
 +<code>sudo apt-get install build-essential fakeroot devscripts</code>
 + 
 +== Créer le répertoire de travail (optionnel) ==
 +Je vous conseille de le faire, ça rendra votre travail plus clair.
 +<code>mkdir PAQUET && cd PAQUET</code>
 +
 +== Récupérer le *.debdiff ==
 +Si ce n'est déjà fait :
 +<code>wget http://URL... </code>
 +
 +== Récupérer la source du paquet ==
 +Notez qu'il n'est pas nécessaire de le faire en sudo, puisqu'on n'installe rien.
 +<code>apt-get source PAQUET</code>
 +
 +== Récupérer les dépendances du paquet ==
 +Toutes les librairies nécessaires à la compilation du paquet.
 +<code>sudo apt-get build-dep PAQUET</code>
 +
 +== Appliquer le debdiff ==
 +Ici, on applique le debdiff dans le répertoire source de notre paquet. Pensez à remplacer DEBDIFF par le nom de votre fichier debdiff.
 +<code>cd PAQUET-* && patch -p1 < ../DEBDIFF</code>
 +
 +== Compiler le nouveau paquet ==
 +Régénération du paquet avec les nouvelles modifications.
 +<code>debuild -uc -us</code>
 +
 +== Installer le nouveau paquet ==
 +Et enfin...
 +<code>sudo dpkg -i ../PAQUET*.deb</code>
 +
 +Et voilà, si tout s'est bien passé vous disposez à présent de la version mise à jour du paquet. Notez que certaines étapes (la récupération des sources, la compilation) peuvent prendre pas mal de temps.
 +
 +== Exemple ==
 +<code>sudo apt-get install build-essential fakeroot devscripts
 +cd /tmp
 +wget http://librarian.launchpad.net/4941195/vino_2.16.0-0ubuntu2.1.dsc.debdiff
 +apt-get source vino
 +sudo apt-get build-dep vino
 +cd vino-*
 +patch -p1 < ../vino_2.16.0-0ubuntu2.1.dsc.debdiff
 +debuild -uc -us
 +sudo dpkg -i ../vino*.deb</code>
 +
 +
 +----
 +//Contributeurs : [[utilisateurs:orkerone|Steph/orkerone]]//, d'après [[https://wiki.ubuntu.com/UbuntuPackagingGuide/BuildFromDebdiff|la documentation originale]].