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

Re: Utiliser dpatch pour appliquer un diff



Le Lundi 18 Avril 2005 19:34, Julien Valroff a écrit :
> re-salut !
>
> Je suis en train d'essayer de comprendre le fonctionnement de
> l'empaquetage en créant quelques paquets simples, mais je butte
> fortement sur l'utilisation de dpatch pour appliquer un patch au moment
> de la construction du paquet.
> Le "Debian new maintainers' guide" en parle assez brièvement au
> [1]paragraphe 6.4 mais je ne suis pas certain de bien comprendre le
> passage suivant :
> "Edit patch to make it a -p1 patch to the source tree"
>
> Dans mon cas, j'ai fait moi même les modifications, et obtiens le patch
> avec :
> $ diff -urN file.orig file.new > patch
> En l'appliquant manuellement avec patch -p0, ça fonctionne; mais comment
> modifier le patch pour en faire un patch de niveau 1 ?
>
> Lorsque j'essaye tout de même de construire mon paquet avec debuild,
> j'ai l'avertissement :
> "mon_patch.diff not applied to ./ ."
>
> Quelqu'un aurait-il une explication plus claire, car le manuel de dpatch
> ne parle pas de cette transformation, et Google semble rester muet à mes
> requêtes...
>
> Merci par avance
> Julien
>
> [1] http://www.debian.org/doc/maint-guide/ch-build.en.html#s-dpatch

Voilà ce que dit le man de patch :
       -pnum  or  --strip=num
          Strip the smallest prefix containing num leading slashes  from  each
          file  name found in the patch file.  A sequence of one or more adja-
          cent slashes is counted as a single slash.  This controls  how  file
          names  found  in  the  patch file are treated, in case you keep your
          files in a different directory than the  person  who  sent  out  the
          patch.  For example, supposing the file name in the patch file was

             /u/howard/src/blurfl/blurfl.c

          setting -p0 gives the entire file name unmodified, -p1 gives

             u/howard/src/blurfl/blurfl.c

          without the leading slash, -p4 gives

             blurfl/blurfl.c

          and  not specifying -p at all just gives you blurfl.c.  Whatever you
          end up with is looked for either in the current  directory,  or  the
          directory specified by the -d option.

Si tu préfère, -p1 vas enlever tout ce qui se trouve avant le premier slash, 
plus le premier slash.
Tu peut donc modifier ton fichier de patch (avec un éditeur de texte), pour 
rajouter devant chaque chemin de fichier un "/" ou un "./", ou 
"cequetuveut/".

-- 
Florent

-- Citation aléatoire --
Mieux vaut mentir comme un arracheur de dents
que dire la vérité à travers un dentier.
	-+- Pierre Perret -+-

Attachment: pgpv7D6wRYO9g.pgp
Description: PGP signature


Reply to: