summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2011-12-15 00:12:46 +0000
committerMike Frysinger <vapier@gentoo.org>2011-12-15 00:12:46 +0000
commit946373517037b631f166e28e61c472f4a03e4be4 (patch)
tree7f8932e0c54e5076c6ba4d8e5491820717abe221 /eclass/tests
parentarm stable, bug #393397 (diff)
downloadgentoo-2-946373517037b631f166e28e61c472f4a03e4be4.tar.gz
gentoo-2-946373517037b631f166e28e61c472f4a03e4be4.tar.bz2
gentoo-2-946373517037b631f166e28e61c472f4a03e4be4.zip
import KV_to_int and friends since a few eclasses still want it ...
Diffstat (limited to 'eclass/tests')
-rw-r--r--eclass/tests/tests-common.sh41
1 files changed, 41 insertions, 0 deletions
diff --git a/eclass/tests/tests-common.sh b/eclass/tests/tests-common.sh
index 4de0f7bac46b..5413d7ec4cdb 100644
--- a/eclass/tests/tests-common.sh
+++ b/eclass/tests/tests-common.sh
@@ -46,3 +46,44 @@ die() {
has_version() {
portageq has_version / "$@"
}
+
+KV_major() {
+ [[ -z $1 ]] && return 1
+
+ local KV=$@
+ echo "${KV%%.*}"
+}
+
+KV_minor() {
+ [[ -z $1 ]] && return 1
+
+ local KV=$@
+ KV=${KV#*.}
+ echo "${KV%%.*}"
+}
+
+KV_micro() {
+ [[ -z $1 ]] && return 1
+
+ local KV=$@
+ KV=${KV#*.*.}
+ echo "${KV%%[^[:digit:]]*}"
+}
+
+KV_to_int() {
+ [[ -z $1 ]] && return 1
+
+ local KV_MAJOR=$(KV_major "$1")
+ local KV_MINOR=$(KV_minor "$1")
+ local KV_MICRO=$(KV_micro "$1")
+ local KV_int=$(( KV_MAJOR * 65536 + KV_MINOR * 256 + KV_MICRO ))
+
+ # We make version 2.2.0 the minimum version we will handle as
+ # a sanity check ... if its less, we fail ...
+ if [[ ${KV_int} -ge 131584 ]] ; then
+ echo "${KV_int}"
+ return 0
+ fi
+
+ return 1
+}