Annotation of embedaddon/ntp/scripts/cvo.sh, revision 1.1.1.1

1.1       misho       1: #! /bin/sh
                      2: 
                      3: # Copyright 2002, 2009, 2010 Harlan Stenn.  Used by NTP with permission.
                      4: # Author: Harlan Stenn <harlan+cvo@pfcs.com>
                      5: 
                      6: # Possible output formats:
                      7: #
                      8: # CVO=...              Shell variable
                      9: # CVO=... ; export CVO Old-style exported envariable
                     10: # export CVO=...       New-style exported envariable
                     11: # setenv CVO ...       csh-style exported envariable
                     12: 
                     13: TS="$*"
                     14: 
                     15: CVO_raw=`config.guess`
                     16: CVO=$CVO_raw
                     17: 
                     18: set 1 `echo $CVO | tr '-' ' '`
                     19: shift
                     20: 
                     21: case "$#" in
                     22:  4) # eg: i686-pc-linux-gnu
                     23:     CVO_CPU=$1
                     24:     CVO_VENDOR=$2
                     25:     cvo_KERN=$3                        # Note the capitalization...
                     26:     CVO_OS=$4
                     27:     case "$cvo_KERN" in
                     28:      linux)                    # Braindamage.  We want OS, not kernel info
                     29:        if lsb_release > /dev/null 2>&1
                     30:        then
                     31:            CVO_OS=`lsb_release --id --short | tr '[:upper:]' '[:lower:]'`
                     32:            CVO_OS="$CVO_OS`lsb_release --release --short`"
                     33:        elif test -f /etc/debian_version
                     34:        then
                     35:            set `cat /etc/debian_version`
                     36:            CVO_OS=debian$1
                     37:            CVO_KOSVER=`uname -r`
                     38:        elif test -f /etc/mandrake-release
                     39:        then
                     40:            set `cat /etc/mandrake-release`
                     41:            CVO_OS=mandrake$4
                     42:            CVO_KOSVER=`uname -r`
                     43:        elif test -f /etc/redhat-release
                     44:        then
                     45:            set `cat /etc/redhat-release`
                     46:            case "$1" in
                     47:             CentOS)
                     48:                CVO_OS=centos$3
                     49:                ;;
                     50:             Fedora)
                     51:                CVO_OS=fedora$3
                     52:                ;;
                     53:            *)
                     54:                case "$3" in
                     55:                 Enterprise)
                     56:                    CVO_OS=redhat$7.E
                     57:                    ;;
                     58:                 Linux)
                     59:                    CVO_OS=redhat$5
                     60:                    ;;
                     61:                esac
                     62:                ;;
                     63:            esac
                     64:            CVO_KOSVER=`uname -r`
                     65:        elif test -f /etc/slackware-version
                     66:        then
                     67:            set `cat /etc/slackware-version`
                     68:            CVO_OS=slackware$2
                     69:            CVO_KOSVER=`uname -r`
                     70:        elif test -f /etc/SuSE-release
                     71:        then
                     72:            set `cat /etc/SuSE-release`
                     73:            CVO_OS=suse$9
                     74:            CVO_KOSVER=`uname -r`
                     75:        else
                     76:            CVO_OS=$cvo_KERN`uname -r`
                     77: 
                     78:        fi
                     79:        ;;
                     80:      nto)      # QNX
                     81:        CVO_KOSVER=`uname -r`
                     82:        ;;
                     83:      *)
                     84:        echo "gronk - I don't understand <$CVO>!"
                     85:        exit 1
                     86:        ;;
                     87:     esac
                     88:     ;;
                     89:  3) CVO_CPU=$1
                     90:     CVO_VENDOR=$2
                     91:     CVO_OS=$3
                     92:     ;;
                     93:  *) echo "gronk - config.guess returned $# pieces, not 3 pieces!"
                     94:     exit 1
                     95:     ;;
                     96: esac
                     97: 
                     98: case "$CVO_OS" in
                     99:  cygwin)
                    100:     # Decisions, decisions.
                    101:     # uname -r is the cygwin version #, eg: 1.3.3(0.46/3/2)
                    102:     # uname -s returns something like CYGWIN_NT-5.0
                    103:     CVO_OS="$CVO_OS`uname -r | sed 's/(.*//'`"
                    104:     ;;
                    105: esac
                    106: set `echo $CVO_OS | sed 's/\([0-9]\)/ \1/'`
                    107: 
                    108: case "$#" in
                    109:  2) ;;
                    110:  *) echo "gronk - <$CVO_OS> expanded to $#, not 2 pieces!"
                    111:     exit 1
                    112:     ;;
                    113: esac
                    114: 
                    115: CVO_OSNAME=$1
                    116: CVO_OSVER=$2
                    117: 
                    118: case "$CVO_OSNAME" in
                    119:  solaris)
                    120:     CVO_KOSVER=`uname -v`
                    121:     ;;
                    122: esac
                    123: 
                    124: CVO=$CVO_CPU-$CVO_VENDOR-$CVO_OS
                    125: 
                    126: case "$TS" in
                    127:  '')
                    128:     set | grep CVO
                    129:     ;;
                    130:  *)
                    131:     # keys['cvo'] = "cvo.CVO['CVO']"
                    132:     TS=`echo $TS | sed -e s/@cvo@/$CVO/g`
                    133:     # keys['cpu'] = "cvo.CVO['CVO_CPU']"
                    134:     TS=`echo $TS | sed -e s/@cpu@/$CVO_CPU/g`
                    135:     # keys['kosver'] = "cvo.CVO['CVO_KOSVER']"
                    136:     TS=`echo $TS | sed -e s/@kosver@/$CVO_KOSVER/g`
                    137:     # keys['os'] = "cvo.CVO['CVO_OS']"
                    138:     TS=`echo $TS | sed -e s/@os@/$CVO_OS/g`
                    139:     # keys['osname'] = "cvo.CVO['CVO_OSNAME']"
                    140:     TS=`echo $TS | sed -e s/@osname@/$CVO_OSNAME/g`
                    141:     # keys['osver'] = "cvo.CVO['CVO_OSVER']"
                    142:     TS=`echo $TS | sed -e s/@osver@/$CVO_OSVER/g`
                    143:     # keys['vendor'] = "cvo.CVO['CVO_VENDOR']"
                    144:     TS=`echo $TS | sed -e s/@vendor@/$CVO_VENDOR/g`
                    145:     # keys['raw'] = "cvo.CVO['CVO_raw']"
                    146:     TS=`echo $TS | sed -e s/@raw@/$CVO_raw/g`
                    147: 
                    148:     echo $TS
                    149:     ;;
                    150: esac

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>