Feel like swearing sometimes

... when you are dealing with RPM based Linux system.

I was trying to build Firebird 1.5 on my old'ish Mandrake 9 box, but it complains that autoconf-2.53+ is required to generate the configure script, where as an old autoconf-2.13 was installed on this system. Fine. I'll build autoconf straight from source, but I will remove the current RPM installation first.

$ sudo rpm -e autoconf
error: removing these packages would break dependencies:
        autoconf is needed by rpm-build-4.0.4-19mdk

Aarghh! I know it is going to happen! <BEEP> <BEEP>. Okay then. I will just upgrade my autoconf with another RPM. So I downloaded the autoconf-2.57 SRPM from Fedora Core 1 and tried to build it.

$ rpm --rebuild autoconf-2.57-3.src.rpm
Installing autoconf-2.57-3.src.rpm
error: failed build dependencies:
        emacs is needed by autoconf-2.57-3

What the <BEEP>! I am a vi user, and I forbid any installation of emacs on my boxes. Why the <BEEP> does it require "everything but a kitchen sink" to build something simple like autoconf? They probably need that "eight megabytes and constantly swapping" to build vi as well.

At the end I have to hack the .spec in the source RPM to get it to build on this old box, without sacrifice my dignity like installing emacs. Building autoconf does take a while because of all the testing, and at the end of long wait, I have finally received a shining new autoconf-2.57-3.noarch.rpm, ready to be deployed.

$ sudo rpm -U autoconf-2.57-3.noarch.rpm
package autoconf-2.13-14mdk (which is newer than autoconf-2.57-3) is already installed

Oh <BEEP> <BEEP>! For the love of Tux, why can't RPM do simple numeric comparison! Maybe RPM only has 10 fingers so everything beyonds that he would just make a guess. But how would I trust it to manage 400+ packages I've installed on this box! <BEEP>!

Alright. A --oldpackage after -U has solved the problem. Now, more recent autoconf has been installed. Time to build Firebird now...