So an email comes in the other day asking about PEM’s theme that I tweaked for FreeBSD. He was asking about running it on OpenBSD and wasn’t having much success. The problem is OpenBSD is using an older version (another oldish version in ports) and the theme requires some things from the “unstable” 2.5 series. OpenBSD has integrated the last version (2.2.5) before the license change so it hasn’t been updated. There’s a 2.4.x port since that’s the “stable” branch. OpenBSD doesn’t import beta software into ports/packages. This is a great idea but unfortunately some things are in perpetual beta. FVWM 2.5.0 was released in Jan ‘02 so it’s only a month or so younger than my son and he started school this year. heheh
The first obstacle to overcome is getting 2.5.x on the machine. I found an an unofficial 2.5.21 port but it was giving me some errors on my OpenBSD 4.1 laptop. I look around some more but didn’t find a more recent port. I did find directions for compiling 2.5.16 on OpenBSD 3.8/3.9 so I pulled some configure options and hacked together a rough port of my own using version 2.5.23 since it’s current. My build errors went away but I had some errors on install while it was building the package. It was basically some man pages that existed but were in a different directory than it was looking for and a defaults file. I copied the man pages to the right working directory and created an empty defaults file. It installed fine and created a package. I used this package on a clean install since this laptop has been upgraded a couple times to be sure it was working cleanly. I upgraded both machines to OpenBSD 4.2 today and FVWM is still working fine. I’m going to do a fresh install of 4.2 on the test machine and give the port another look to see if I can get it to compile and install cleanly.
Download and install the theme and it looks like it’s supposed to but the scripts for wifi, battery and volume aren’t working since it’s trying to pull values from FreeBSD’s sysctls. This was to be expected since the original scripts were on linux and pulling stuff from /proc. A little fiddling with wicontrol, apm and mixerctl using awk, cut, etc. and I had working scripts again. I just added the FreeBSD portions of the scripts back in and used uname and some if statements to determine which to run. I guess I could add the linux version back in for completeness.
I did notice I was missing a couple things on the fresh install since it was pretty minimal. I needed to add ImageMagick, imlib and Esetroot (from eterm port) to get everything working. If you already have a fairly complete desktop then you likely already have it all but just double check before you decide it’s not working. You’ll also need to edit ~/.fvwm/config to set the path to your icons and set your preferred apps. I’m using aterm for the terminal and aumix for the volume but you can change it easily enough in the config file.
Here’s the FreeBSD screenshot and the OpenBSD is very similar (sorry lost the original screenshot):
The port file is hackish but I’ll add checksums if/when I clean it up. The pkg was compiled on a 4.1 box but it’s working on a couple of upgraded 4.2 boxes now. You are welcome to it but use at your own risk. :^)