DragonFly BSD
DragonFly commits List (threaded) for 2006-09
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: cvs commit: src/secure/lib/libssh Makefile config.h openbsd-compat,port-tun.c.patch version.h src/secure/usr.bin/ssh ssh_config.5.no_obj.patch src/secure/usr.sbin/sshd Makefile auth-passwd-freebsd.c auth2.c.patch servconf.c.patch ...


From: "Simon 'corecode' Schubert" <corecode@xxxxxxxxxxxx>
Date: Thu, 28 Sep 2006 21:06:32 +0200

Simon Schubert wrote:
corecode 2006/09/28 11:42:50 PDT

DragonFly src repository

Modified files:
secure/lib/libssh Makefile config.h openbsd-compat,port-tun.c.patch version.h secure/usr.bin/ssh ssh_config.5.no_obj.patch secure/usr.sbin/sshd Makefile auth-passwd-freebsd.c auth2.c.patch servconf.c.patch session.c.patch sshd.8.no_obj.patch sshd.c.patch sshd_config.5.no_obj.patch Log:
Update build infrastructure for openssh-4.4p1

I have to say that this patch framework is continually becoming a major pain in the ass. Using vendor branches directly would allow me to resolve conflicts much faster than it is now.


I'm getting patch rejects which i have to fix manually, then i have to extract a diff again, update the copy in the source dir, try make depend or make all again, resolve the next patch, etc. Updating the sources is complicated as well, because I don't have context in the .rej files, in comparison to conflict markers in CVS.

This system has to go, it is simply inefficient. The argument "you directly see which patches are in our tree" doesn't hold true, because a cvs diff -r VENDORTAG for sure is less obscure than having to read Makefiles to find out which patch files even get used.

Patching headers produces another problem (like Peter Avalos noticed with libarchive): When sources include the header with #include "header.h", they will continue to use the unpatched header, because the patched one hangs around somewhere in /usr/obj and is by no means in the search path of cpp. To circumvent this, you need to specify CFLAGS+= -I${.OBJDIR} -I. -I- and suff like this.

All in all, it is a loss in productivity. CVS *does* have a feature for exactly this, called vendor branches, and it works flawlessly, the only thing you can't do is remove a patch and put the file back on the vendor branch, but this could be hacked in somehow, and even if, it is no big hassle.

cheers
 simon

--
Serve - BSD     +++  RENT this banner advert  +++    ASCII Ribbon   /"\
Work - Mac      +++  space for low €€€ NOW!1  +++      Campaign     \ /
Party Enjoy Relax   |   http://dragonflybsd.org      Against  HTML   \
Dude 2c 2 the max   !   http://golden-apple.biz       Mail + News   / \

Attachment: signature.asc
Description: OpenPGP digital signature



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