[857707] | 1 | #!/bin/sh |
---|
[fcc0c2] | 2 | # |
---|
[b9d333] | 3 | # FILE: singuname |
---|
| 4 | # USAGE: singuname |
---|
| 5 | # PURPOSE: prints to stdout a unique identifier of known uname(s) |
---|
[fcc0c2] | 6 | # AUTHOR: obachman |
---|
[b9d333] | 7 | # CREATED: 5/26/98 |
---|
| 8 | # |
---|
| 9 | ########################################################################### |
---|
| 10 | |
---|
| 11 | egrep="egrep" |
---|
| 12 | uname_a=`uname -a` |
---|
| 13 | devnull='/dev/null' |
---|
| 14 | file=file |
---|
| 15 | binary='/bin/ls' |
---|
[9c5d43] | 16 | ldd='ldd' |
---|
[b9d333] | 17 | |
---|
| 18 | # HPUX ######################################################## |
---|
[fcc0c2] | 19 | if (echo $uname_a | $egrep "HP-UX" > $devnull) |
---|
[b9d333] | 20 | then |
---|
| 21 | prefix=HPUX |
---|
| 22 | # HPUX-9 |
---|
[fcc0c2] | 23 | if (echo $uname_a | $egrep "\.09\." > $devnull) |
---|
[b9d333] | 24 | then |
---|
[fcc0c2] | 25 | echo ${prefix}-9 |
---|
| 26 | exit 0 |
---|
[b9d333] | 27 | # HPUX-10 |
---|
| 28 | elif (echo $uname_a | $egrep "\.10\." > $devnull) |
---|
| 29 | then |
---|
[fcc0c2] | 30 | echo ${prefix}-10 |
---|
| 31 | exit 0 |
---|
[f51575] | 32 | elif (echo $uname_a | $egrep " ia64 " > $devnull) |
---|
| 33 | then |
---|
| 34 | echo IA64-${prefix} |
---|
| 35 | exit 0 |
---|
[b9d333] | 36 | else |
---|
[fcc0c2] | 37 | echo ${prefix}-Unknown |
---|
| 38 | exit 1 |
---|
[b9d333] | 39 | fi |
---|
| 40 | # Intel ######################################################## |
---|
[c51762f] | 41 | elif (echo $uname_a | $egrep "i[3,4,5,6]86" > $devnull) |
---|
[b9d333] | 42 | then |
---|
[0bf0ad] | 43 | prefix=ix86 |
---|
[b9d333] | 44 | # Win ################ |
---|
| 45 | if (echo $uname_a | $egrep "CYGWIN" > $devnull) |
---|
| 46 | then |
---|
[fcc0c2] | 47 | echo ${prefix}-Win |
---|
| 48 | exit 0 |
---|
[f0a718] | 49 | # FreeBSD ############### |
---|
| 50 | elif (echo $uname_a | $egrep "FreeBSD" > $devnull) |
---|
| 51 | then |
---|
| 52 | echo ${prefix}-freebsd |
---|
| 53 | exit 0 |
---|
[b9d333] | 54 | # Linux ############### |
---|
| 55 | elif (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 56 | then |
---|
[fcc0c2] | 57 | prefix=${prefix}-Linux |
---|
| 58 | if (test -x $file && -x $binary) |
---|
| 59 | then |
---|
| 60 | # LinuxAOUT only if file does not match ELF |
---|
| 61 | if ($file $binary | $egrep -v "ELF" > $devnull) |
---|
| 62 | then |
---|
| 63 | echo ${prefix}AOUT |
---|
| 64 | exit 0 |
---|
| 65 | fi |
---|
| 66 | fi |
---|
| 67 | # everything else is assumed to be Linux ELF |
---|
[9c5d43] | 68 | # check for libc5 |
---|
| 69 | if (echo `$ldd $binary` | $egrep "libc.so.5" > $devnull) |
---|
[fcc0c2] | 70 | then |
---|
| 71 | echo "${prefix}-libc5" |
---|
| 72 | else |
---|
| 73 | echo ${prefix} |
---|
| 74 | fi |
---|
| 75 | exit 0 |
---|
[4f0a5a7] | 76 | elif (echo $uname_a | $egrep "Darwin" >$devnull) |
---|
| 77 | then |
---|
| 78 | echo i386Mac-darwin |
---|
| 79 | exit 0 |
---|
[f031b9] | 80 | elif (echo $uname_a | $egrep "SunOS" >$devnull) |
---|
| 81 | then |
---|
| 82 | echo i386-SunOS |
---|
| 83 | exit 0 |
---|
| 84 | else |
---|
| 85 | echo ${prefix}-Unknown |
---|
| 86 | exit 1 |
---|
| 87 | fi |
---|
| 88 | # AMD-Opteron ######################################################## |
---|
| 89 | elif (echo $uname_a | $egrep "x86_64" > $devnull) |
---|
| 90 | then |
---|
| 91 | prefix=x86_64 |
---|
| 92 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 93 | then |
---|
| 94 | echo ${prefix}-Linux |
---|
| 95 | exit 0 |
---|
| 96 | else |
---|
| 97 | echo ${prefix}-Unknown |
---|
| 98 | exit 1 |
---|
| 99 | fi |
---|
| 100 | # HPPA ################################################################ |
---|
| 101 | elif (echo $uname_a | $egrep "hppa" > $devnull) |
---|
| 102 | then |
---|
| 103 | prefix=hppa |
---|
| 104 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 105 | then |
---|
| 106 | echo ${prefix}-Linux |
---|
| 107 | exit 0 |
---|
[b9d333] | 108 | else |
---|
[fcc0c2] | 109 | echo ${prefix}-Unknown |
---|
| 110 | exit 1 |
---|
[b9d333] | 111 | fi |
---|
| 112 | # SunOS ######################################################## |
---|
| 113 | elif (echo $uname_a | $egrep "SunOS" > $devnull) |
---|
| 114 | then |
---|
[0e1eb3] | 115 | if (echo $uname_a | $egrep "sun3" > $devnull) |
---|
| 116 | then |
---|
| 117 | prefix=Sun3OS |
---|
| 118 | else |
---|
[564067c] | 119 | prefix=SunOS |
---|
[0e1eb3] | 120 | fi |
---|
[fcc0c2] | 121 | if (echo $uname_a | $egrep "4\.[0-9]" > $devnull) |
---|
[b9d333] | 122 | then |
---|
[fcc0c2] | 123 | echo ${prefix}-4 |
---|
| 124 | exit 0 |
---|
| 125 | # Solaris |
---|
[b9d333] | 126 | elif (echo $uname_a | $egrep "5\.[0-9]" > $devnull) |
---|
| 127 | then |
---|
[fcc0c2] | 128 | echo ${prefix}-5 |
---|
| 129 | exit 0 |
---|
[b9d333] | 130 | else |
---|
[fcc0c2] | 131 | echo ${prefix}-Unknown |
---|
| 132 | exit 1 |
---|
[b9d333] | 133 | fi |
---|
| 134 | # DecAlpha ######################################################## |
---|
[24c10ac] | 135 | elif (echo $uname_a | $egrep "alpha" > $devnull) |
---|
[b9d333] | 136 | then |
---|
| 137 | prefix=DecAlpha |
---|
| 138 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 139 | then |
---|
[fcc0c2] | 140 | echo ${prefix}-Linux |
---|
| 141 | exit 0 |
---|
[a8ddef] | 142 | elif (echo $uname_a | $egrep "OSF1" > $devnull) |
---|
| 143 | then |
---|
| 144 | echo ${prefix}-OSF1 |
---|
| 145 | exit 0 |
---|
[b9d333] | 146 | else |
---|
[fcc0c2] | 147 | echo ${prefix}-Unknown |
---|
| 148 | exit 1 |
---|
[b9d333] | 149 | fi |
---|
| 150 | # IRIX ######################################################## |
---|
| 151 | elif (echo $uname_a | $egrep "IRIX" > $devnull) |
---|
| 152 | then |
---|
| 153 | prefix=IRIX |
---|
| 154 | if (echo $uname_a | $egrep "6\.[0-9]" > $devnull) |
---|
| 155 | then |
---|
[fcc0c2] | 156 | echo ${prefix}-6 |
---|
| 157 | exit 0 |
---|
[b9d333] | 158 | else |
---|
[fcc0c2] | 159 | echo ${prefix}-Unknown |
---|
| 160 | exit 1 |
---|
[b9d333] | 161 | fi |
---|
| 162 | # AIX ######################################################## |
---|
| 163 | elif (echo $uname_a | $egrep "AIX" > $devnull) |
---|
| 164 | then |
---|
| 165 | prefix=AIX |
---|
| 166 | if (uname -v | $egrep "4" > $devnull) |
---|
| 167 | then |
---|
[fcc0c2] | 168 | echo ${prefix}-4 |
---|
| 169 | exit 0 |
---|
[b9d333] | 170 | elif (uname -v | $egrep "3" > $devnull) |
---|
| 171 | then |
---|
[fcc0c2] | 172 | echo ${prefix}-3 |
---|
| 173 | exit 0 |
---|
[b9d333] | 174 | else |
---|
[fcc0c2] | 175 | echo ${prefix}-Unknown |
---|
| 176 | exit 1 |
---|
[b9d333] | 177 | fi |
---|
[2338c8] | 178 | # Darwin/MacOS X ############################################## |
---|
| 179 | elif (echo $uname_a | $egrep "Power Macintosh" > $devnull) |
---|
| 180 | then |
---|
[624628] | 181 | prefix="ppcMac" |
---|
[2338c8] | 182 | if( uname -s | $egrep "Darwin" > $devnull) |
---|
| 183 | then |
---|
| 184 | echo ${prefix}-darwin |
---|
| 185 | exit 0 |
---|
| 186 | else |
---|
| 187 | echo ${prefix}-Unknown |
---|
| 188 | exit 1 |
---|
| 189 | fi |
---|
[0430d9] | 190 | # other PowerPC ############################################## |
---|
| 191 | elif (echo $uname_a | $egrep "ppc" > $devnull) |
---|
| 192 | then |
---|
| 193 | prefix="ppc" |
---|
| 194 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 195 | then |
---|
| 196 | echo ${prefix}-Linux |
---|
| 197 | exit 0 |
---|
| 198 | else |
---|
| 199 | echo ${prefix}-Unknown |
---|
| 200 | exit 1 |
---|
| 201 | fi |
---|
[f51575] | 202 | # itanium ######################################################## |
---|
[32a8d7f] | 203 | elif (echo $uname_a | $egrep "ia64" > $devnull) |
---|
[f51575] | 204 | then |
---|
| 205 | # IA64-HPUX: see HPUX |
---|
| 206 | prefix=IA64 |
---|
| 207 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 208 | then |
---|
| 209 | echo ${prefix}-Linux |
---|
| 210 | exit 0 |
---|
| 211 | else |
---|
| 212 | echo ${prefix}-Unknown |
---|
| 213 | exit 1 |
---|
| 214 | fi |
---|
[fde597] | 215 | # sparc64-Linux ############################################ |
---|
| 216 | elif (echo $uname_a | $egrep "sparc64" >$devnull) |
---|
| 217 | then |
---|
| 218 | prefix=sparc64 |
---|
| 219 | if (echo $uname_a | $egrep "Linux" > $devnull) |
---|
| 220 | then |
---|
| 221 | echo ${prefix}-Linux |
---|
| 222 | exit 0 |
---|
| 223 | else |
---|
| 224 | echo ${prefix}-Unknown |
---|
| 225 | exit 1 |
---|
| 226 | fi |
---|
| 227 | |
---|
[b9d333] | 228 | else # Unknown ######################################################## |
---|
| 229 | echo Unknown |
---|
| 230 | exit 2 |
---|
| 231 | fi |
---|