<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#663366">
Maxime Carron a écrit :
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite">
  <meta http-equiv="Content-Type" content="text/html; ">
  <meta name="GENERATOR" content="GtkHTML/3.12.2">
  <blockquote>* On fait une copie de sauvegarde du fichier à modifier
(on lui ajoute un extension explicite et unique, par exemple .max_ext) ;<br>
$ cp fichier fichier.max_ext<br>
* On modifie l'original (celui qui s'appelle 'fichier') comme on le
désire ;<br>
* On génère un patch avec gendiff :<br>
cd ~/rpmbuild/BUILD<br>
gendiff dossier .max_ext &gt;
../SOURCES/nom_du_soft-version-max_ext.patch<br>
* On indique dans le specfile qu'il faut ajouter le patch
    <pre>...
<b>Patch0:                PyPar2-0.10-max_ext.patch</b>  //On donne le nom du patch
    </pre>
  </blockquote>
</blockquote>
Ou mieux <br>
<pre><b>Patch0:                %{name}-0.10-max_ext.patch</b></pre>
En effet, c'est toujours mieux de faire démarrer le nom d'un patch par
celui du package<br>
par contre un patch d'une version n peut être conservé pour les
versions n++, <br>
d'où la non-utilisation de la macro %{version}<br>
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite">
  <blockquote>
    <pre>...
<i>%prep</i>
%setup -q -n PyPar2-%{version}
    </pre>
  </blockquote>
</blockquote>
%setup -q (plus généraliste)
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite">
  <blockquote>
    <pre><b>%patch0 -p1 -b .max_prefix</b>  //On l'applique
    </pre>
  </blockquote>
</blockquote>
Attention, le -b ne doit être utilisé que sur des sources.<br>
Il peut poser des problèmes dans d'autres cas  (le fichier backup
risque d'être installé)<br>
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite">
  <blockquote>
    <pre>...
    </pre>
  </blockquote>
Voilà de ce que j'ai compris du fonctionnement.<br>
J'avais fait des tests pour m'entrainer (meme si ils ne servaient à
rien)<br>
</blockquote>
merci, j'ai découvert l'utilisation de gendiff que je ne connaissais
pas (j'utile classiquement diff).<br>
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite"><br>
  <br>
Quelques cas où le patch ne devrait, selon moi, pas etre utilisé :<br>
ex : un Makefile un peu moche dit : prefix=/usr/local<br>
alors que nous on préfèrerait : /usr<br>
</blockquote>
On ne doit pas non plus utiliser de patch pour modifier une valeur qui
se définie par une macro (les répertoires standard), puisque le patch
dépend de la machine utilisée lors de sa fabrication, pas de la machine
utilisée pour la construction<br>
<br>
Dans ce cas on préférera le "patch dynamique" type sed, ex :<br>
sed -i -e s@/usr/lib@%{_libdir}@ libtool<br>
<br>
<blockquote cite="mid1166441252.2829.34.camel@fc6.falloy.be" type="cite"><br>
  <br>
Remi, chithles, christophe, à vos claviers.<br>
</blockquote>
done (enfin pour l'instant)<br>
A+<br>
<br>
</body>
</html>