From: Rafael Garcia-Suarez Date: 10:32 on 13 Sep 2007 Subject: Some more cvs hate. You never get tired of hating CVS. $ cvs up cvs update: move away Foo/Bar.pm; it is in the way C Foo/Bar.pm okay. $ rm Foo/Bar.pm $ cvs up U Foo/Bar.pm File restored. You'd think cvs would know about it now, right? Let's redo a cvs up just to be sure. $ cvs up cvs update: move away Foo/Bar.pm; it is in the way C Foo/Bar.pm PRINT "HATE" GOTO 10
From: Rafael Garcia-Suarez Date: 08:33 on 15 Mar 2006 Subject: Some fresh rpm hate And now, some hate for developers. Sorry in advance for our non-C-fluent readers. Somewhere in the rpm library headers, up to version 4.4.4, you have this nice typedef: typedef void * (*rpmCallbackFunction) (/*@null@*/ const void * h, const rpmCallbackType what, const unsigned long amount, const unsigned long total, /*@null@*/ fnpyKey key, /*@null@*/ rpmCallbackData data) So far so good. Except that in 4.4.5 the "amount" and "total" arguments were changed to unsigned long long (without any mention in the release changelog, of course, that would be telling). So, if you have some C program that defines an rpmCallbackFunction, when it gets called, the call stack is blown, your program segfaults and gdb is confused. Hard to trace. Depending on the C application, this might also have unnice consequences on your system's rpm database, I suppose. But it doesn't stop there. I haven't been able to figure out a way to check for the version of the rpmlib you're linking against via plain #ifdefs. Which means that I have to fallback to some Makefile magic to add a CPP symbol that says whether I need an unsigned long or an unsigned long long here. Duh.
From: Rafael Garcia-Suarez Date: 19:03 on 13 Sep 2005 Subject: byacc In the perl makefiles, there's this rule somewhere : check_byacc: @$(BYACC) -V 2>&1 | grep 'version 1\.8\.2' So far so good. But on my system I've byacc 1.9 installed by default. And recompiling a2p.y works fine with byacc 1.9 too. So I thought, let's change this makefile so it allows byacc 1.9 too. But you know what ? In 1.9 they've removed the -V option. Worse, nothing else works: -v, -h, --version, --help, --just-give-me-your-version-you-bloody-piece-of-junk, etc. Even worse, strings(1) can't find the version of the binary. Hate. You know what, I'll just use bison instead.
Generated at 10:28 on 16 Apr 2008 by mariachi