Projet

Général

Profil

PatchAvance » Historique » Version 5

Gérald Schwartzmann, 14/06/2010 17:03

1 2 Gérald Schwartzmann
h2. !http://dev-eole.ac-dijon.fr/attachments/download/9/puce.png! Environnement Libre Ouvert Evolutif - Envole
2 2 Gérald Schwartzmann
{{include(eole:menu)}}
3 2 Gérald Schwartzmann
4 1 Gérald Schwartzmann
h1. Patch Avancé
5 1 Gérald Schwartzmann
6 1 Gérald Schwartzmann
Plutôt que de réaliser le patch depuis le Makefile avec la commande :
7 1 Gérald Schwartzmann
<pre>
8 1 Gérald Schwartzmann
patch -d $(SERVER_PATH)/dokuwiki -p1 < patch/eole.patch
9 1 Gérald Schwartzmann
</pre>
10 1 Gérald Schwartzmann
11 1 Gérald Schwartzmann
on peut utiliser le gestionnaire de paquet pour appliquer le patch.
12 1 Gérald Schwartzmann
13 1 Gérald Schwartzmann
h2. créer votre patch comme avec la méthode simple
14 1 Gérald Schwartzmann
15 1 Gérald Schwartzmann
h2. installer dpatch
16 5 Gérald Schwartzmann
17 1 Gérald Schwartzmann
apt-get install dpatch
18 1 Gérald Schwartzmann
19 1 Gérald Schwartzmann
h2. modifier le debian/rules
20 1 Gérald Schwartzmann
21 3 Gérald Schwartzmann
ajouter en haut de fichier
22 3 Gérald Schwartzmann
include /usr/share/cdbs/1/rules/dpatch.mk
23 3 Gérald Schwartzmann
24 1 Gérald Schwartzmann
ajouter dans la section @build-stamp:@
25 1 Gérald Schwartzmann
<pre>
26 1 Gérald Schwartzmann
dpatch apply-all -v
27 1 Gérald Schwartzmann
touch patch-stamp
28 1 Gérald Schwartzmann
</pre>
29 1 Gérald Schwartzmann
30 4 Gérald Schwartzmann
transformer @clean:@ en @clean::@
31 4 Gérald Schwartzmann
puis ajouter dans la section @clean::@
32 1 Gérald Schwartzmann
<pre>
33 1 Gérald Schwartzmann
dpatch deapply-all
34 1 Gérald Schwartzmann
rm -rf patch-stamp debian/patched
35 1 Gérald Schwartzmann
</pre>
36 1 Gérald Schwartzmann
37 1 Gérald Schwartzmann
h2. le répertoire debian/patches
38 1 Gérald Schwartzmann
39 1 Gérald Schwartzmann
créer le répertoire debian/patches
40 1 Gérald Schwartzmann
<pre>
41 1 Gérald Schwartzmann
mkdir debian/patches
42 1 Gérald Schwartzmann
</pre>
43 1 Gérald Schwartzmann
44 1 Gérald Schwartzmann
placer dedans votre fichier patch
45 1 Gérald Schwartzmann
46 1 Gérald Schwartzmann
se placer dans le répertoire patches
47 1 Gérald Schwartzmann
et lister vos patch dans un fichier nommé 00list
48 1 Gérald Schwartzmann
<pre>
49 1 Gérald Schwartzmann
for i in `ls`; do echo $i > 00list; done
50 1 Gérald Schwartzmann
</pre>
51 1 Gérald Schwartzmann
52 1 Gérald Schwartzmann
créer l'entête
53 1 Gérald Schwartzmann
<pre>
54 1 Gérald Schwartzmann
dpatch patch-template votre_patch
55 1 Gérald Schwartzmann
</pre>
56 1 Gérald Schwartzmann
ajouter les lignes générées à votre patch
57 5 Gérald Schwartzmann
58 5 Gérald Schwartzmann
Si vous souhaitez compiler en local sur votre machine il faut ajouter le paquet cdbs :
59 5 Gérald Schwartzmann
<pre>
60 5 Gérald Schwartzmann
apt-get install cdbs
61 5 Gérald Schwartzmann
</pre>