History of AFS on Linux at Fermilab
(aka: Why do the rpm's keep changing?)
When I first joined the computing department, my first task was to get AFS working with Linux. At the time we were just moving to Fermi Linux 5.2.1, which was running a 2.0 kernel. Also at that time, the only option we had was AFS 3.5 supplied by Transarc.
It was determined that we couldn't run AFS on a 2.0 kernel, it had to be at least a 2.2 kernel. Because of this there were scripts written to make the upgrade of a kernel easier. Rpm's were also written to make the installation of AFS easier. These were my first rpm's I'd ever written, and they weren't very good. They got the job done, but didn't uninstall or upgrade very easily. They were also named poorly.
Along came Fermi Linux 6.1.1, and with it the 2.2 kernel. Now people didn't have to upgrade their kernels. I was also getting better at writing rpm's. I had also realized that my rpm's were going out into the world, and that naming them just 'afs' wasn't a good idea. So the rpm's were changed to 'afs-fermi'. These new batch of rpm's were written much better. You could upgrade and uninstall them without too much worry.
Then along came a mess. This mess had a name called 'insmod'. Insmod is the program that sticks kernel modules into and out of the kernel. Transarc insisted that it was broken and we had to put in a new insmod. We did this, and the new insmod did work great. I tested the afs-fermi rpm in a multitude of ways to make sure that it would both install correctly, and uninstall correctly, insmod. But, then along came a security patch for insmod, which went out with autorpm. It not only fixed the security hole, but it fixed the bug that Transarc had complained about. This sounds good, but there was one little problem. I hadn't planned on that. So now, if someone uninstalled these versions of AFS, all sorts of things broke, especially networking.
So here comes Fermi Linux 7.1.1, with the 2.4 kernel. At this point we now had an option. We could use AFS from Transarc or we could use OpenAFS. Transarc wasn't being very timely when coming out with new AFS modules for the new kernels, so we really had no choice but to choose OpenAFS. OpenAFS had come along far enough that it was pretty stable and worked as well as Transarc's. At this point we had a lot of nifty features built into the rpm's and startup scripts, so even though there was prebuilt rpm's, we decided to package our own rpm's. Thus the 'openafs-fermi' rpm's were built.
OpenAFS continued to progress and get better, and kernels continued to get more complicated, so we kept looking at their latest offering. We also had a problem that it was a lot of work for me to keep packaging new versions of 'openafs-fermi' with each new kernel. And then along came the OpenAFS rpm for version 1.2.3. In this rpm they had enough of our custom changes that we could just make some minor changes to their source rpm, and it would work for us. And thus, the rpm's changed once again. But this time it split into three. There was now 'openafs', 'openafs-client', and 'openafs-kernel'. But now a person only needs to recompile our source rpm, and openafs will work with whatever 2.4 kernel they have.
HISTORY
|
|
|
|---|---|
|
15 Jul 1999 |
afs-3.5-1.i386.rpm - very first rpm |
|
25 Oct 1999 |
afs-fermi-3.5-1.i386.rpm - first good rpm |
|
12 Jan 2000 |
afs-fermi-3.5-2.i386.rpm - first to have patched insmod in rpm |
|
18 Sep 2000 |
afs-fermi-3.5-7.i386.rpm - insmod taken out of rpm |
|
14 May 2001 |
afs-fermi-3.6-1.i386.rpm - move to afs 3.6 |
|
22 Jun 2001 |
openafs-fermi-1.04-1.i386.rpm - first look at openafs (never released) |
|
14 Aug 2001 |
openafs-fermi-1.1.1-1.i386.rpm - first release of openafs |
|
14 Mar 2002 |
First (poorly named) rpm's based on OpenAFS's rpms openafs-1.2.3-FL249.31.1.i386.rpm
|
|
13 May 2002 |
Released (better named) rpm's based on OpenAFS's rpms openafs-1.2.3-FL711.2.i386.rpm
|
|
20 Aug 2002 |
Moved to OpenAFS 1.2.6 openafs-1.2.6-FL731.1.i386.rpm
|