[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: application patch



Selon messmate <messmate@free.fr>:

| On Tue, 29 Mar 2005 10:34:13 +0200
| tnemeth@free.fr wrote:
|
| > | J'ai là un texte en clair que je dois appliquer en tant que patch
| à
| > | mon postfix 2.2.
| > | Quelqu'un se souviens comment faire ?
| >
| >     Est-ce que "lire la page de man de patch" te dit quelquechose ?
|
| OUI...

   Ah :)
   Bin fallait regarder dedans directement, ça aurait été plus simple.


| >     patch -pX < fichier-patch.diff
| >
| >     Avec X == le niveau de patch (généralement 0).
|
| Voilà:
| patch -p0 cleanup_message.c cleanup_message.diff

    Erk. Je n'ai jamais aimé cette façon de l'utiliser :)


| patching file cleanup_message.c
| Hunk #1 FAILED at 296.
| Hunk #2 succeeded at 307 with fuzz 1 (offset -2 lines).
| Hunk #3 FAILED at 321.
| Hunk #4 FAILED at 339.
| Hunk #5 FAILED at 364.
| Hunk #6 FAILED at 392.
| Hunk #7 FAILED at 400.
| Hunk #8 FAILED at 455.
| Hunk #9 FAILED at 670.
| 8 out of 9 hunks FAILED -- saving rejects to file
| cleanup_message.c.rej

    Vérifie que le patch que tu appliques est bien pour la version
    du logiciel que tu as installé. Visiblement il trouve le fichier
    malgré ta ligne de commande un peu cavalière, et il réussi à
    appliquer un morceau du patch (le hunk #2) mais pas les autres.
    C'est généralement dû à 2 choses :
    - le mec qui a pondu le patch l'a fait avec les pieds.
    - le source que tu essayes de patcher a été modifié entre le
      moment où le patche a été créé et celui où tu l'appliques.

    Le derniers cas m'est souvent arrivé en tentant de patcher le
    noyau avec des trucs bizarres. Il arrive souvent, dans ces cas-là,
    qu'en plus, le mec qui a pondu le diff, n'utilise pas toutes les
    options qui pourraient aider l'utilisateur du patch (en
    particulier l'option de diff qui permet d'indiquer dans quelle
    fonction se trouve la modif du "hunk").


Thomas.



Reply to: