Mark Linux 2.4 as unsupported
authorBenjamin Kaduk <kaduk@mit.edu>
Wed, 18 Mar 2015 17:11:44 +0000 (13:11 -0400)
committerDaria Brashear <shadow@your-file-system.com>
Wed, 15 Apr 2015 14:44:54 +0000 (10:44 -0400)
The Linux 2.4 series (and older) will not be supported platforms
for OpenAFS 1.8 and later.  Detect these systems at configure time
and direct users of those systems to the OpenAFS 1.6 series of releases.

These systems are believed to not be in common use with OpenAFS,
and retaining support for the LinuxThreads threading implementation
they require presents a maintenance burden that the project is
not equipped to deliver.  The project will be able to move forward
more quickly by desupporting these systems.

Code conditional on these old systems can be removed in subsequent
commits.

Change-Id: I679fc2390b35851f3b0457a846047c812bc03dba
Reviewed-on: http://gerrit.openafs.org/11799
Reviewed-by: Perry Ruiter <pruiter@sinenomine.net>
Reviewed-by: Chas Williams <3chas3@gmail.com>
Reviewed-by: Daria Brashear <shadow@your-file-system.com>
Tested-by: Daria Brashear <shadow@your-file-system.com>

README
acinclude.m4

diff --git a/README b/README
index c82efab..e65d1c9 100644 (file)
--- a/README
+++ b/README
@@ -31,41 +31,39 @@ A  Configuring
       into with this name when you build.
 
       alpha_dux40, alpha_dux50, alpha_dux51 (client does not work)
-      alpha_linux22, alpha_linux24, alpha_linux26
+      alpha_linux26
       alpha_nbsd15, alpha_nbsd16
       amd64_fbsd_80, amd64_fbsd_81, amd64_fbsd_82, amd64_fbsd_83,
          amd64_fbsd_84, amd64_fbsd_90, amd64_fbsd_91, amd64_fbsd_92,
          amd64_fbsd_93, amd64_fbsd_100, amd64_fbsd_101
-      amd64_linux24, amd64_linux26
+      amd64_linux26
       amd64_nbsd20, amd64_nbsd30, amd64_nbsd40
-      arm_linux24, arm_linux26
+      arm_linux26
       hp_ux11i, hp_ux110, hp_ux1123 (See notes below for information on
          getting missing header)
       hp_ux102 (Client port possible, but db servers and utilities work)
       i386_fbsd_80, i386_fbsd_81, i386_fbsd_82, i386_fbsd_83,
          i386_fbsd_84, i386_fbsd_90, i386_fbsd_91, i386_fbsd_92,
          i386_fbsd_93, i386_fbsd_100, i386_fbsd_101
-      i386_linux22, i386_linux24, i386_linux26
+      i386_linux26
       i386_nbsd15, i386_nbsd16, i386_nbsd20, i386_nbsd21, i386_nbsd30,
          i386_nbsd40
       i386_obsd31, i386_obsd32, i386_obsd33, i386_obsd34, i386_obsd35,
          i386_obsd36, i386_obsd37, i386_obsd38, i386_obsd39, i386_obsd40,
          i386_obsd41
-      i386_umlinux22, i386_umlinux24, i386_umlinux26
+      i386_umlinux26
       ia64_hpux1122, ia64_hpux1123
-      ia64_linux24, ia64_linux26
-      parisc_linux24
-      ppc64_linux24, ppc64_linux26
+      ia64_linux26
+      ppc64_linux26
       ppc_darwin_12, ppc_darwin_13, ppc_darwin_14, ppc_darwin_60,
          ppc_darwin_70, ppc_darwin_80, ppc_darwin_90
-      ppc_linux22, ppc_linux24, ppc_linux26
+      ppc_linux26
       ppc_nbsd16, ppc_nbsd20
       rs_aix42, rs_aix51, rs_aix52, rs_aix53, rs_aix61
-      s390_linux22, s390_linux24, s390_linux26
-      s390x_linux24, s390x_linux26
+      s390_linux26
+      s390x_linux26
       sgi_62, sgi_63, sgi_64, sgi_65 (file server not tested)
-      sparc64_linux22, sparc64_linux24, sparc64_linux26
-      sparc_linux22, sparc_linux24
+      sparc64_linux26
       sun4x_58, sun4x_59, sun4x_510, sun4x_511
          (logging UFS not supported for mixed-use partitions containing
          client cache)
@@ -153,7 +151,7 @@ B  Building
       directory tree, or if you configured with --enable-transarc-paths
       make dest to create a complete binary tree in the dest directory
       under the directory named for the sys_name you built for,
-      e.g. sun4x_57/dest or i386_linux22/dest
+      e.g. sun4x_57/dest or i386_linux26/dest
 
    3. As appropriate you can clean up or, if you're using Linux, build for
       another kernel version.
@@ -185,7 +183,7 @@ D  Linux Notes
    "include". So if your version file were
    /usr/src/linux/include/linux/version.h you would run:
 
-   % ./configure --with-afs-sysname=i386_linux24 \
+   % ./configure --with-afs-sysname=i386_linux26 \
        --with-linux-kernel-headers=/usr/src/linux
 
    Currently you can build for only one Linux kernel at a time, and the
@@ -196,7 +194,7 @@ D  Linux Notes
    then run:
 
       % ./configure --with-afs-sysname=<sysname> \
-          --with-linux-kernel-headers=/usr/src/linux-2.2.19-i686
+          --with-linux-kernel-headers=/usr/src/linux-3.19-i686
       % make
 
    Your build tree will now include an additional kernel module for your
@@ -205,6 +203,10 @@ D  Linux Notes
    last kernel you built for, the previous kernel module will be
    overwritten.
 
+   The Linux 2.4 series (and older) are no longer supported. The OpenAFS 1.6
+   series of releases are the last ones supporting those old kernels and in
+   particular their LinuxThreads.
+
 E  HP-UX 11.0 Notes
 
    HP-UX 11.0 requires a header called vfs_vm.h which HP has provided on
index 84199ff..f82248c 100644 (file)
@@ -800,6 +800,10 @@ else
                        if test "x${AFS_SYSKVERS}" = "x"; then
                         AC_MSG_ERROR(Couldn't guess your Linux version. Please use the --with-afs-sysname option to configure an AFS sysname.)
                        fi
+                       if test "x${AFS_SYSKVERS}" = "x24" ||
+                               test "x${AFS_SYSKVERS}" = "x22"; then
+                           AC_MSG_ERROR([Linux 2.4.x and older are no longer supported by OpenAFS.  Please use an OpenAFS 1.6.x release on those systems.])
+                       fi
                        _AFS_SYSNAME=`echo $AFS_SYSNAME|sed s/XX\$/$AFS_SYSKVERS/`
                        AFS_SYSNAME="$_AFS_SYSNAME"
                        AC_TRY_KBUILD(
@@ -862,12 +866,8 @@ case $AFS_SYSNAME in
     *_obsd52)   AFS_PARAM_COMMON=param.obsd52.h  ;;
     *_obsd53)   AFS_PARAM_COMMON=param.obsd53.h  ;;
     *_obsd54)   AFS_PARAM_COMMON=param.obsd54.h  ;;
-    *_linux22)  AFS_PARAM_COMMON=param.linux22.h ;;
-    *_linux24)  AFS_PARAM_COMMON=param.linux24.h ;;
     *_linux26)  AFS_PARAM_COMMON=param.linux26.h ;;
 # Linux alpha adds an extra underscore for no good reason.
-    *_linux_22) AFS_PARAM_COMMON=param.linux22.h ;;
-    *_linux_24) AFS_PARAM_COMMON=param.linux24.h ;;
     *_linux_26) AFS_PARAM_COMMON=param.linux26.h ;;
     *_fbsd_*)   AFS_PARAM_COMMON=param.generic_fbsd.h ;;
 esac