X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=linux%2Fmppe%2Fmppeinstall.sh;h=d0a57e55bda66f5cb947323c2f41d418d2cc55ce;hb=e6c864185f6eb34c956e82246cfd448225e2706f;hp=5a81ffd0305cdde62924a70332d8e14672d81e9e;hpb=ca1af9f74dc0f333c80eb2fa10a4b80306dc4040;p=ppp.git diff --git a/linux/mppe/mppeinstall.sh b/linux/mppe/mppeinstall.sh index 5a81ffd..d0a57e5 100644 --- a/linux/mppe/mppeinstall.sh +++ b/linux/mppe/mppeinstall.sh @@ -1,23 +1,51 @@ #!/bin/sh # -# A quickie script to install MPPE into the 2.2.19+ or 2.4.18 kernel. -# Does no error checking!!! +# A quickie script to install MPPE into the 2.2.19+ or 2.4.18+ kernel. +# Does very little error checking!!! # mppe_files="sha1.[ch] arcfour.[ch] ppp_mppe_compress.c" -[ $1 ] || exit 1 -[ -d "$1" ] || exit 1 +if [ -z "$1" -o ! -d "$1" ]; then + echo "Usage: $0 " >&2 + exit 1 +fi -echo -n "Is this a 2.2 kernel or 2.4 kernel: " -read ver +# strip any trailing / +set -- ${1%/} +# strip leading /path/to/linux- +ver=`echo "${1##*/}" | sed -e 's/linux-//'` # -e 's/\/$//' +if ! expr "$ver" : 2.[24] >/dev/null ; then + echo "$0: Unable to determine kernel version ($ver)" >&2 + exit 1 +fi + +# build patch files list +patchdir=`pwd` +patchfiles= +if expr $ver : 2.2 >/dev/null ; then + patchfiles=$patchdir/linux-2.2.*.patch +elif expr $ver : 2.4 >/dev/null ; then + patchfiles=`echo $patchdir/linux-2.4.18-{include,make}.patch` + # need to differentiate a bit + typeset -i rel=${ver##*.} + if [ $rel -eq 18 ]; then + patchfiles="$patchfiles $patchdir/linux-2.4.18-pad.patch" + elif [ $rel -gt 18 ]; then + patchfiles="$patchfiles $patchdir/linux-2.4.19-pad.patch" + else + echo "$0: unable to determine kernel version" >&2 + exit 1 + fi +fi + +echo "Detected kernel version $ver" echo "I will now patch the kernel in directory $1" echo -n "Press ret to continue, CTRL-C to exit: " read -patchdir=`pwd` pushd "$1" >/dev/null -for patch in $patchdir/linux-$ver.*.patch; do +for patch in $patchfiles; do patch -p1 < $patch done