[OpenAFS-devel] Initial concern about Linux 2.4 patch

Jeffrey Hutzelman jhutz@cmu.edu
Sun, 5 Nov 2000 23:43:29 -0500 (EST)


On Sun, 5 Nov 2000, Chas Williams wrote:

> In message <Pine.LNX.3.95L.1001105191935.662a-100000@mariner.rem.cs.cmu.edu>,Je
> ffrey Hutzelman writes:
> >sysname 'i386_linux22' for their port because it was targeted at 2.2.x
> >kernels, even though the distribution they targeted (RedHat 5.2) used the
> >same glibc as the existing i386_linux3 systype.  Worse, they _kept_ the
> >i386_linux22 sysname when they switched to supporting RedHat 6.x, which
> >uses a newer glibc with a different and not-entirely-compatible ABI.
> 
> sys name used to be hardware_osversion, but with linux that system falls apart
> since the os varies somewhat from linux to linux.  how about something
> like i386_linux21? where 21 is the glibc version not the kernel version?
> again glibc isnt a requirement for linux systems either (modern or not). 
> i believe some people are porting the bsd userland to the linux kernel
> environment.

We debated this issue extensively on the linux-afs list back when RH5.2
was just becoming common.  After some discussion and a variety of
proposals, we eventually decided to go with a single number designating
the user-mode ABI "generation".  Since libc4/a.out had been i386_linux1,
and libc5 had been i386_linux2, we decided to call glibc2 i386_linux3.

When Transarc released their port, it was targeted at glibc2 systems
running Linux 2.2.x.  They use 'i386_linux22', and continued to use that
sysname after they moved to supporting systems running glibc2.1 systems.
This caused much confusion, as our users already associated 'i386_linux3'
with RedHat 5.2.

At CMU, we decided to give up and make the sysname more accurately reflect
the user-mode environment, by basing it on the distribution in use.  So we
continued to use 'i386_linux3' for RedHat 5.2 systems, and started using
'i386_rh60' for RedHat 6.x systems.


The point is that the vast majority of users use the sysname to select
binaries appropriate to the current system.  So, it's important for the
sysname to reflect that usage.  I suspect very few people use it (or
would) to identify kernel-related items, especially on Linux, where there
are so many possible variations.

> >In any event, sysname assignment is going to be a messy issue.  For
> >OpenAFS, we should let the gatekeepers handle sysname assignment.
> >Ideally, developers should get a new sysname assigned _before_ starting
> >to distribute code that uses it, in order to minimize the number of people
> 
> i could have asked the gatekeepers if they existed at the time i started
> the port.  i suppose i could have asked transarc.  i wonder if i would
> have gotten a reply.

I doubt it.

-- Jeffrey T. Hutzelman (N3NHS) <jhutz+@cmu.edu>
   Sr. Research Systems Programmer
   School of Computer Science - Research Computing Facility
   Carnegie Mellon University - Pittsburgh, PA