Here’s another post that will bore my wife to tears. Actually, bearing in mind that I now know that both her sisters have seen my blog, I have the potential of boring her entire family–and probably most of mine too.
I’m using my FreeBSD box a lot these days. That, of course, means that I have a lot of time to meditate upon what like and dislike about the FreeBSD ports system.
For those of you who don’t know:
One of the more annoying things about unix is that sometimes when you install a program, you find that it won’t work without another (or possibly many more) program(s). There are various systems of getting around this. One of them is the FreeBSD ports/packaging system which actively downloads all the programs that your program depends on so that you don’t have to track them all down individually.
This is great when it works.
What’s not great is when you install a program that depends on many different things, none of which you’re running (such as, for example, the entire GNOME desktop environment). Worse, while it can find packages for some of the programs, it can’t find them for all. Thus, it actually compiles the program in question.
The end result is that sometimes your computer will end up compiling late into the night. Sometimes, it will not only compile late into the night, but when you come back the next day, you will find that some selection of programs no longer works.
For example, even as I write this, I am theoretically installing eclipse. The last time I installed eclipse, it forced most but not all of my GNOME desktop installation to upgrade and I was forced to repair it.
This sucked beyond words.
Not coincidentally, I’m not using GNOME anymore. Thus, it can’t mess up my desktop. Nonetheless, it’s irritating that in order to run a program that’s written in java, a language that’s not dependent upon the local computer, it is somehow necessary to install the entire GNOME desktop and not just a few libraries.
FreeBSD’s ports system is usually great, but this is one of those things that irritates me. I’m sure that someone will figure out a solution to it someday, but until then, I’m stuck watching piles of largely superfluous packages install on my machine.