Projet

Général

Profil

PatchAvance » Historique » Version 8

Version 7 (Lionel Morin, 12/09/2012 14:14) → Version 8/9 (Lionel Morin, 24/10/2012 15:47)

h2. !http://dev-eole.ac-dijon.fr/attachments/download/9/puce.png! Environnement Libre Ouvert Evolutif - Envole
{{include(eole:menu)}}

h1. Patch Avancé

+*"Cette +*Cette méthode est obsolète, utiliser plutot quilt avec l'outil gb-pq":http://dev-eole.ac-dijon.fr/projects/envole/wiki/PatchQuilt*+ quilt*+

Plutôt que de réaliser le patch depuis le Makefile avec la commande :
<pre>
patch -d $(SERVER_PATH)/dokuwiki -p1 < patch/eole.patch
</pre>

on peut utiliser le gestionnaire de paquet pour appliquer le patch.

h2. créer votre patch comme avec la méthode simple

h2. installer dpatch

apt-get install dpatch

h2. modifier le debian/rules

ajouter en haut de fichier
include /usr/share/cdbs/1/rules/dpatch.mk

ajouter dans la section @build-stamp:@
<pre>
dpatch apply-all -v
touch patch-stamp
</pre>

transformer @clean:@ en @clean::@
puis ajouter dans la section @clean::@
<pre>
dpatch deapply-all
rm -rf patch-stamp debian/patched
</pre>

h2. le répertoire debian/patches

créer le répertoire debian/patches
<pre>
mkdir debian/patches
</pre>

placer dedans votre fichier patch

se placer dans le répertoire patches
et lister vos patch dans un fichier nommé 00list
<pre>
for i in `ls`; do echo $i > 00list; done
</pre>

créer l'entête
<pre>
dpatch patch-template votre_patch
</pre>
ajouter les lignes générées à votre patch

Si vous souhaitez compiler en local sur votre machine il faut ajouter le paquet cdbs :
<pre>
apt-get install cdbs
</pre>