I wish this were an exceptional tale. But it isn’t, it’s the norm…
I run a webserver for Jee Labs and a couple of other web sites and services.
I wanted to add support for logging the last hours of a new “#jeelabs” IRC channel. IRC might not be a good fit for me personally, but since several people have asked for it, I do want to support it. With say the last 3 days of that discussion logged as some public web-pages, I could drop by once in a while and try and add to the discussion going on at that time.
The “eggbot” system was suggested to me as a way to accomplish this:
Ok. Server is Debian, so “aptitude install eggdrop” should work, right? Debian is good at package management.
Turns out my server is still running Debian Etch, and “Etch is end-of-lifed”, as I just found out. The server ISP’s repository is gone. No updates, no installs, no security fixes, nothing.
Ok. Better upgrade Debian Etch to Debian Lenny first.
I’ve been there before, I know how to do it. Takes a few hours, but then it’s done. Server is running Lenny now, and all the main servers and services are still running fine (impressive!). This is a server in Germany, btw.
That was yesterday (well, ehm… night).
Today, quick check. Server ok. Weblog ok. Forum ok. Cool.
Oops. Ikiwiki isn’t working anymore. That’s the software I use to convert the Markdown pages into the Cafe web site. Fully scripted, based on Perl.
Ikiwiki wasn’t installed as Debian package, because the one in Debian was waaaay too old. Even on Lenny, it lags (by over a year – Debian Lenny still has 2.x, Ikiwiki has been at 3.x for some time now).
Ok, so let’s try to re-install it from source. By now, usually all my warning systems go into in high alert mode, because source installs are a different ball game (even with a “scripted” language such as Perl, how ironic!).
The Ikiwiki installation page is reassuringly short. Three steps. First two look pretty easy, right?
PERL5LIB=`pwd` PERL_MM_USE_DEFAULT=1 perl -MCPAN \ -e 'CPAN::Shell->install("Bundle::IkiWiki")' PERL5LIB=`pwd` PERL_MM_USE_DEFAULT=1 perl -MCPAN \ -e 'CPAN::Shell->install("Bundle::IkiWiki::Extras")'
I’m now waiting for step 2 to complete.
More than 10,000 lines of text have scrolled over my terminal window so far. This sort of drivel:
More than two hours have passed.
More than 180 Mb of disk space has been consumed.
I’m forced to watch closely, because disk space is running low on the root partition. And this is running as superuser, so it’ll bring down the server if it fills up the disk.
Pinch me, am I really in the year 2010?
My complaint is not that some things are complex and require a lot of work and understanding.
My complaint is that some things are NOT complex and yet you get treated to an incredible amount of nonsense. Not to mention the fact that the problem isn’t solved until you invest in figuring out every detail of lots of different kinds of packages.
The IRC logging? Not solved yet. I can probably write a 200 line script with not a single dependency on other code which does what I need: track the last 100 hours of an IRC channel disscussion as a web page.
The Ikiwiki setup for the Jee Labs Cafe? Broken. One week of work to write a Markdown parser and generate the static pages myself, would be my estimate. Probably well under 1000 lines of code, all in a single script. Three orders of magnitude less disk space, and easier to adjust to my needs.
I’m still waiting for the second step of the Perl install to complete. It’s running a “BigInt” package without proper library support, apparently. Falling back to “Math::BigInt::FastCalc”, and running tests which take ages:
Could someone help me understand where a static wiki page generator needs to do cryptographically secure factorization of large primes or something?
I’m stumped. Three hours waiting now. I give up.
I’ve aborted the (non-) install. With 220 Mb disk space gone, and no clue how to get it back. Oh yes, wait, it’s all in “~/.cpan” of course – how obvious. Thank you, Ikiwiki & Perl, for breaking down. Thank you, Eggdrop, for making simple things hard. And thank you Debian Linux, for not giving me the option to go back to my previous setup.
And you know what ticks me off? All of the above can be avoided. It has been solved.
But we’re living in medieval times, clearly. Most people haven’t even heard of Starkits. What a cruel joke.
Ah, wait. Maybe I’m the only one who runs into issues like these. Maybe everyone else has servers which just work, and to which you can add functionality without getting stuck. Doing everything you want. And a breeze to upgrade, of course.
That must be it. It’s just me. I have totally unrealistic expectations.
Apologies for the rant. Normal transmissions will resume tomorrow…
Update – thanks to a backport tip in the comments, Ikiwiki is now working again.