File: xen-utils-version

package info (click to toggle)
xen-common 3.2.0-2
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 680 kB
  • ctags: 279
  • sloc: sh: 2,708; makefile: 288; perl: 186; python: 170; xml: 8
file content (48 lines) | stat: -rw-r--r-- 1,138 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/bin/bash

while getopts "qv:" OPT; do
    case "$OPT" in
	q)
	QUIET=1
	;;
	v)
	VERSION="$OPTARG"
	;;
    esac
done

if [ -z "$VERSION" ]; then
    if [ -d "/sys/hypervisor" ]; then
        if [ "$(cat /sys/hypervisor/type)" = xen ]; then
            DIR=/sys/hypervisor/version
            VERSION_EXTRA=$(cat $DIR/extra)
            if [ "$VERSION_EXTRA" = "-unstable" ]; then
                VERSION=unstable
            else
                VERSION="$(cat $DIR/major).$(cat $DIR/minor)$VERSION_EXTRA"
            fi
        else
            [ "$QUIET" ] || echo "WARING!  Can't read type from sysfs!" >&2
        fi
    else
        [ "$QUIET" ] || echo "WARING!  Can't find hypervisor information in sysfs!" >&2
    fi
fi

if [ -z "$VERSION" ]; then
    VERSION="default"
fi

if [ -d "/usr/lib/xen-$VERSION" ]; then
    echo "$VERSION"
    exit 0
fi

if [ -d "/usr/lib/xen-default" ]; then
    [ "$QUIET" ] || echo "WARING!  Can't find version $VERSION of xen utils, fallback to default version!" >&2
    echo "default"
    exit 0
fi

[ "$QUIET" ] || echo "ERROR!  Can't find default version of xen utils, bailing out!" >&2
exit 1