d3a0e490ef9d394927ba3f961ed6a305ffa84ae5
[openafs.git] / src / packaging / RedHat / openafs-kernel-version.sh
1 #!/bin/sh
2 #
3 # investigate the name of the kernel
4 #
5 # $Revision$
6
7 if [ "x$1" = "x" ] ; then
8     kernvers=`uname -r`
9     if [ ! -d /lib/modules/$kernvers/build/include ] ; then
10         kernvers=`/bin/ls /lib/modules/*/build/include/linux/version.h | \
11         cut -d/ -f4 | \
12         sort -u | \
13         tail -1`
14     fi
15 else
16     kernvers=$1
17 fi
18
19 if [ -z "$kernvers" ]; then echo "unable to determine kernel version" >&2; exit 1; fi
20
21 # strip "kernel-" off of the front
22 if expr "$kernvers" : "kernel-" >&/dev/null
23 then
24     kernvers=`expr "$kernvers" : 'kernel-\(.*\)'`
25 fi
26
27 # Strip kernel config mnemonic off 2.4 kernels.
28 case $kernvers in
29   2.4.*)
30     # strip kernel config mnemonic off of the tail
31     case "$kernvers" in
32       *smp)
33          kernvers=`expr "$kernvers" : '\(.*\)smp'`
34          ;;
35       *bigmem)
36          kernvers=`expr "$kernvers" : '\(.*\)bigmem'`
37          ;;
38       *hugemem)
39          kernvers=`expr "$kernvers" : '\(.*\)hugemem'`
40          ;;
41       *enterprise)
42          kernvers=`expr "$kernvers" : '\(.*\)enterprise'`
43          ;;
44     esac
45     ;;
46 esac
47
48 echo $kernvers
49 exit 0