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

Re: Fusionner mes modifs a la nouvelle version du paquet



On Fri, Aug 29, 2003 at 11:46:49AM -0400, Daniel Déchelotte wrote:
> Raphael Hertzog <hertzog@debian.org> a écrit :
> 
> | Le Thu, Aug 28, 2003 at 11:29:12PM -0400, Daniel Déchelotte écrivait:
> | > et j'aimerais maintenant profiter des corrections de la 0.80.1-8.
> | > Quelle est la procedure a suivre pour, evidemment, ne pas perdre mes
> | > bidouilles ?
> | 
> | S'assurer qu'on les réapplique ? Evidemment, certains ne seront plus
> | nécessaires et d'autres le seront. A toi de faire le tri dans
> | debian/patches des patchs qui sont encore nécessaires ... (et à modifier
> | la variable correspondante dans debian/rules)
> 
> Attends, j'ai pas de diff pour mes modifications : j'ai sauvagement
> modifie les fichiers sources (ca m'a paru normal sur le coup :-p).

Ben si t'as un diff. dpkg-source en fait un pour toi, en la personne de
toto.diff.gz, a cote de toto.orig.tar.gz et toto.dsc...

La methode la plus simple pour upgrader ton paquet reste de copier ton
diff.gz dans un autre repertoire, prendre la nouvelle archive, la nommer
comme l'ancienne (ie, mentir sur son numero de version), et appeller
dpkg-source -x pour ouvrir le paquet. Il va tenter d'appliquer tes
changements automatiquement.

Avec beaucoup de chance, ca marche, et il ne te reste plus qu'a changer le
numero de version du repertoire, ajouter une entree dans le changelog, et
changer le numero de version du orig.tar.gz (pour qu'il arrete de mentir sur
son age comme une vieille coquette).

Mais il est probable que cela ne passe pas.

Dans ces conditions, tu ouvres la nouvelle archive upstream, tu vas dedans
et t'y colle un bon coup de "zcat chemin/de/ton/ancien/diff.gz | patch -p1"

Il va appliquer des bouts, et en rejeter d'autres dans des fichiers qu'il
t'indiquera. Tu prend ces rejets un par un, et tu regarde ce qui a chie. Et
tu applique a la main.


Attention, quand on joue a ca, on a vite fait de modifier le orig.gz ou
encore plus simplement le diff.gz. En general, j'en fais des copie dans un
repertoire Frigo/ protege en ecriture avant de sortir la hache.


Et sinon, y'a uupdate(1) (upgrade a source code package from an upstream
revision), mais j'ai jamais reussi a l'utiliser. Et de toute facon, c'est
plus drole a la hache qu'avec des outils technologiques ayant la facheuse
habitude de ne tomber que rarement en marche :)


Bye, Mt.

-- 
It worries me however, to realize how tough an ass-hole I have had to be, in order
to get to stick to the principle of doing things right, rather than 
"just hack it in".
    --- Poul-Henning Kamp <phk@FreeBSD.org>



Reply to: