diff options
author | Mike Frysinger <vapier@gentoo.org> | 2011-12-15 00:12:46 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2011-12-15 00:12:46 +0000 |
commit | 946373517037b631f166e28e61c472f4a03e4be4 (patch) | |
tree | 7f8932e0c54e5076c6ba4d8e5491820717abe221 /eclass/tests | |
parent | arm stable, bug #393397 (diff) | |
download | gentoo-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.sh | 41 |
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 +} |