A story of packages: SFS, Debian, and FreeBSD
Playing with SFS: Debian first
I've been playing with SFS for some months now. (SFS stands for self-certifying file system; I'll have more to say about it in another post.) SFS is a somewhat tricky package to build. It's mostly written in C++, and the build instructions warn that not all combinations of compilers and OSes will work. It also takes a while to build: compiling it from scratch can take 30-40 minutes on a Pentium III/500MHz.
I use Debian 3.0 as my home Linux system. When I first heard about SFS, I looked to see if there was a Debian 3.0 SFS package. There was, but it was an older version (SFS 0.5k). I went ahead and installed it, and had SFS up and working within 20 minutes or so. (The install only took about 3-4 minutes, but there was some configuring to do after that.) That's Debian's good side: I've never seen a system that makes it easier to get and install a piece of software: apt-get install sfs does the trick for SFS. You can't beat that for ease and speed.
But I wanted the latest version of SFS. Fortunately, Jaakko Niemi, the maintainer of the SFS package for Debian, had built a package of the latest version and submitted it (SFS 0.6). I could get that version installed on my box by downloading the package source and compiling it myself.
This gets to a piece of Debian-ese that seems a bit counter-intuitive at first: you can't compile and install a Debian package in one step. Rather, you download the source package, compile it, build a Debian .deb package binary. Once you've got that binary package, you can use the Debian standard tools to install it. (RPM is the same way.) As a side effect, you get binary packages which you can then use to install on other Debian systems.
I went through this dance for SFS 0.6: I built and installed the packages on my home box, and then used my freshly-built packages to install SFS 0.6 on several other Debian boxes. (Using my home-built packages worked fine on two boxes, but on the third, from then on I got complaints from dselect every time I tried to install another package: it would complain that something wasn't right, but SFS ran just fine.)
A new version of SFS: no luck in Debian, success in FreeBSD
All was fine until SFS 0.7 came out. I looked for a newer Debian package, but it wasn't available yet; the maintainer said he was going to put out a new version over Christmas. I had to wait.
Coincidentally, over Christmas I started playing with FreeBSD again. I only have one physical box devoted to Linux; all the other boxes I have access to are running Windows 2000 or XP. If I want to install any OSes, I use VMware. I last played with FreeBSD 4.5 and found it somewhat cryptic. I was never able to get FreeBSD 4.6 to properly install under VMware: it would crash during the install. FreeBSD 4.7 came out in October, so I decided to give it another try.
FreeBSD has binary packages, much like Debian, but most people prefer to use FreeBSD's ports system. The FreeBSD ports tree is rooted at /usr/ports : it is simply a set of directories, one for each port, each directory containing a minimal makefile and a brief description of the package. You cd into the directory of a port, type make install as root - and FreeBSD will download, configure, and install your software. Since this process actually compiles the package, it's slower than Debian. But the good news is that FreeBSD ports tend to much more up to date than Debian packages. There was already a FreeBSD port for SFS 0.7-2; after 45 minutes, I had it up and running.
Conclusion
I've got the latest version of SFS for FreeBSD. It's up and it works.
The Debian story hasn't ended yet. Yesterday a test version of the 0.7-2 SFS code came out as a Debian package. It didn't compile. I spent quite a while messing with the package; after emailing the developer, I finally got the package to compile, but now it fails when I tried to build the binary packages. I'm still waiting.
© Copyright 2003 Paul Holbrook.
Last update: 4/8/2003; 9:01:52 PM.
|