Monday, August 16, 2010

The Hack Hole

So, first of my migration project, I was going to install a webserver on my computer. Fedora 13 already comes with Apache, of course, but, again where's the fun in that.

I laid down some ground rules for this game.
* First, I'd evaluation pure Guile solutions. I actually tried this once before
in this post
* Second, I'd evaluate official GNU packages
* Then I'd look at pure GPL options

I also added the additional requirement
* It had to build out of the box
* I had to be able to set it up using the included documentation

(Which is a bit of a joke considering what happened later.)

In Guile, the only actively maintained webserver is TTN's Sizzweb. It didn't build out of the box for me. Looking for a script that wasn't there. There is still a some incompatibility between TTN's tools and new Guile 1.9.11 beta's build system, although there has been some recent convergence.

Moving on to GNU webservers...

GNU MyServer 0.9.2 built without much difficulty. It did require me to install the libevents library, which wasn't a documented dependency. I found that it didn't have enough documentation on how to configure it. It comes with a sample configuration file that I modified, but, I failed to get it running. I expend much effort, as I was still trying to be faithful to my self-imposed rules.

GNU Serveez was next. One of its features was that it integrated well with Guile and could be extended in Guile. Yet, it did not compile cleanly, and it was fairly out of date. It did not work with the new Guile 1.9.11 beta. This was to be expected. Guile's API changes frequently which has been a source of frustration for many.

Then, I violated my own rules and tried to patch it up. It deceptively appeared simple, but, once I started modifying it, it just got worse and worse. The whole shebang: autoconf, automake, the obsolete Guile API. I kept hacking and hacking and four days later, I have it working with new Guile.

It leave me asking myself, why? Why did I spend so much time on this?

Whatever. It is almost done, so I'll clean it up and post it. But the final product is way too hacked to resubmit upstream.

No comments:

Post a Comment