summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorJohn Mylchreest <johnm@gentoo.org>2005-01-06 14:07:27 +0000
committerJohn Mylchreest <johnm@gentoo.org>2005-01-06 14:07:27 +0000
commit8f3787a2ea56f6f719f09cc42bb646de4449a525 (patch)
treeb53e09c98aba783934af3ed8fa69ef4cfc750104 /eclass
parentFixed bugs: 75034 76849 74655 (diff)
downloadhistorical-8f3787a2ea56f6f719f09cc42bb646de4449a525.tar.gz
historical-8f3787a2ea56f6f719f09cc42bb646de4449a525.tar.bz2
historical-8f3787a2ea56f6f719f09cc42bb646de4449a525.zip
Update kernel_is in kernel-2
Diffstat (limited to 'eclass')
-rw-r--r--eclass/kernel-2.eclass98
1 files changed, 58 insertions, 40 deletions
diff --git a/eclass/kernel-2.eclass b/eclass/kernel-2.eclass
index 14c5bf8fe3db..4a81a6758e4f 100644
--- a/eclass/kernel-2.eclass
+++ b/eclass/kernel-2.eclass
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.69 2005/01/06 13:58:15 johnm Exp $
+# $Header: /var/cvsroot/gentoo-x86/eclass/kernel-2.eclass,v 1.70 2005/01/06 14:07:27 johnm Exp $
# Description: kernel.eclass rewrite for a clean base regarding the 2.6
# series of kernel with back-compatibility for 2.4
@@ -63,45 +63,63 @@ kernel_is() {
# And lets add a sanity check
[ -z "${KV_FULL}" ] && return 1
- local RESULT operator test value
- RESULT=0
-
- operator="="
- if [ "${1}" == "lt" ]
- then
- operator="-lt"
- shift
- elif [ "${1}" == "gt" ]
- then
- operator="-gt"
- shift
- elif [ "${1}" == "le" ]
- then
- operator="-le"
- shift
- elif [ "${1}" == "ge" ]
- then
- operator="-ge"
- shift
- fi
-
- if [ -n "${1}" ]
- then
- value="${value}${1}"
- test="${test}${KV_MAJOR}"
- fi
- if [ -n "${2}" ]
- then
- value="${value}${2}"
- test="${test}${KV_MINOR}"
- fi
- if [ -n "${3}" ]
- then
- value="${value}${3}"
- test="${test}${KV_PATCH}"
- fi
-
- [ ${test} ${operator} ${value} ] && return 0 || return 1
+ local RESULT operator test value i len
+ RESULT=0
+
+ operator="="
+ if [ "${1}" == "lt" ]
+ then
+ operator="-lt"
+ shift
+ elif [ "${1}" == "gt" ]
+ then
+ operator="-gt"
+ shift
+ elif [ "${1}" == "le" ]
+ then
+ operator="-le"
+ shift
+ elif [ "${1}" == "ge" ]
+ then
+ operator="-ge"
+ shift
+ fi
+
+ if [ -n "${1}" ]
+ then
+ value="${value}${1}"
+ test="${test}${KV_MAJOR}"
+ fi
+ if [ -n "${2}" ]
+ then
+ len=$[ 3 - ${#2} ]
+ for((i=0; i<$len; i++)); do
+ value="${value}0"
+ done
+ value="${value}${2}"
+
+ len=$[ 3 - ${#KV_MINOR} ]
+ for((i=0; i<$len; i++)); do
+ test="${test}0"
+ done
+ test="${test}${KV_MINOR}"
+ fi
+ if [ -n "${3}" ]
+ then
+ len=$[ 3 - ${#3} ]
+ for((i=0; i<$len; i++)); do
+ value="${value}0"
+ done
+ value="${value}${3}"
+
+ len=$[ 3 - ${#KV_PATCH} ]
+ for((i=0; i<$len; i++)); do
+ test="${test}0"
+ done
+ test="${test}${KV_PATCH}"
+ fi
+
+ [ ${test} ${operator} ${value} ] && return 0 || return 1
}