From ccf353ede6ef5cce7c562993d1bea0d20844bdb7 Mon Sep 17 00:00:00 2001 From: Benjamin Kaduk Date: Wed, 18 Mar 2015 13:11:44 -0400 Subject: [PATCH] Mark Linux 2.4 as unsupported 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 Reviewed-by: Chas Williams <3chas3@gmail.com> Reviewed-by: Daria Brashear Tested-by: Daria Brashear --- README | 34 ++++++++++++++++++---------------- acinclude.m4 | 8 ++++---- 2 files changed, 22 insertions(+), 20 deletions(-) diff --git a/README b/README index c82efabd5..e65d1c903 100644 --- 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= \ - --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 diff --git a/acinclude.m4 b/acinclude.m4 index 84199ff35..f82248c14 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -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 -- 2.39.5