Projet

Général

Profil

PatchAvance » Historique » Version 7

Lionel Morin, 12/09/2012 14:14

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