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

Re: Utiliser dpatch pour appliquer un diff



Le Lundi 18 Avril 2005 20:09, Jean-Christophe Dubois a écrit :
> Florent Bayle
>
> > 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
>
> Perso je trouve ta réponse un peu osée.. parce que des fichiers de patch
> j'en ai déjà crée un paquet et quand tu te retrouve avec un fichier de
> sortie qui fait 2500 lignes bah faut etre motivé :s ...
> Sinon ton aide n'etait pas mauvaise. Mais je pense que c'est une solution
> limitée dans le cadre d'un "petit patch". Je refléchis sur le sujet afin
> d'apporter un autre point de vu.
> Amicalement

Bah, dans ce cas là tu te met dans le dossier parent quand tu fait ton diff...
mais bon, un petit sed, ou s/// dans vi te fait ça très vite.

-- 
Florent

-- Citation aléatoire --
T U T
U B U
T U T      Corne de citrouille! Une voiture!
		-- Breton, J.C.

Attachment: pgpqo85ha_8qT.pgp
Description: PGP signature


Reply to: