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

Re: Utiliser dpatch pour appliquer un diff



Florent Bayle
> 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.
>
Oui aussi ... à voir apres en fonction des connaissances de chacun sur
bash ...
Amicalement

-- 
Jean-Christophe Dubois - jicer@jicer-design.net
Freelance WebDesigner and Linux Networking Administrator
http://www.jicer-design.net



Reply to: