Hex Artifact Content

Artifact 482a7c7be3e2c8c081c4063301f3d4dc05106978:


0000: 23 21 20 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20  #! /usr/bin/env 
0010: 62 61 73 68 0a 0a 69 66 20 5b 20 22 24 31 22 20  bash..if [ "$1" 
0020: 3d 3d 20 22 2d 2d 66 61 6b 65 22 20 5d 3b 20 74  == "--fake" ]; t
0030: 68 65 6e 0a 09 65 63 68 6f 20 22 74 72 75 65 22  hen..echo "true"
0040: 0a 0a 09 65 78 69 74 20 30 0a 66 69 0a 0a 23 20  ...exit 0.fi..# 
0050: 53 6f 6d 65 20 73 79 73 74 65 6d 73 20 64 6f 20  Some systems do 
0060: 6e 6f 74 20 63 6f 6d 70 69 6c 65 20 77 65 6c 6c  not compile well
0070: 20 77 69 74 68 20 74 68 69 73 20 66 61 6b 65 20   with this fake 
0080: 75 6e 61 6d 65 20 69 6e 20 70 6c 61 63 65 0a 23  uname in place.#
0090: 20 70 72 6f 76 69 64 65 20 74 68 65 20 72 65 61   provide the rea
00a0: 6c 20 75 6e 61 6d 65 20 66 6f 72 20 74 68 65 6d  l uname for them
00b0: 2e 0a 63 61 73 65 20 22 24 7b 43 52 4f 53 53 7d  ..case "${CROSS}
00c0: 22 20 69 6e 0a 09 6d 69 70 73 65 6c 2d 75 6e 6b  " in..mipsel-unk
00d0: 6e 6f 77 6e 2d 6c 69 6e 75 78 2d 75 63 6c 69 62  nown-linux-uclib
00e0: 63 29 0a 09 09 75 6e 73 65 74 20 43 52 4f 53 53  c)...unset CROSS
00f0: 0a 09 09 3b 3b 0a 65 73 61 63 0a 0a 69 66 20 5b  ...;;.esac..if [
0100: 20 2d 7a 20 22 24 7b 43 52 4f 53 53 7d 22 20 5d   -z "${CROSS}" ]
0110: 3b 20 74 68 65 6e 0a 09 23 20 49 66 20 6e 6f 74  ; then..# If not
0120: 20 63 72 6f 73 73 20 63 6f 6d 70 69 6c 69 6e 67   cross compiling
0130: 2c 20 72 65 76 65 72 74 20 74 6f 20 73 79 73 74  , revert to syst
0140: 65 6d 20 75 6e 61 6d 65 0a 09 77 68 69 6c 65 20  em uname..while 
0150: 5b 20 22 24 28 75 6e 61 6d 65 20 2d 2d 66 61 6b  [ "$(uname --fak
0160: 65 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 29 22 20  e 2>/dev/null)" 
0170: 3d 3d 20 22 74 72 75 65 22 20 2d 61 20 2d 6e 20  == "true" -a -n 
0180: 22 24 7b 50 41 54 48 7d 22 20 5d 3b 20 64 6f 0a  "${PATH}" ]; do.
0190: 09 09 50 41 54 48 3d 22 24 28 65 63 68 6f 20 22  ..PATH="$(echo "
01a0: 24 7b 50 41 54 48 7d 22 20 7c 20 2f 75 73 72 2f  ${PATH}" | /usr/
01b0: 62 69 6e 2f 73 65 64 20 27 73 40 5e 5b 5e 3a 5d  bin/sed 's@^[^:]
01c0: 2a 24 40 40 3b 73 40 5e 5b 5e 3a 5d 2a 3a 40 40  *$@@;s@^[^:]*:@@
01d0: 27 29 22 0a 0a 09 09 65 78 70 6f 72 74 20 50 41  ')"....export PA
01e0: 54 48 0a 09 64 6f 6e 65 0a 0a 09 69 66 20 5b 20  TH..done...if [ 
01f0: 2d 7a 20 22 24 7b 50 41 54 48 7d 22 20 5d 3b 20  -z "${PATH}" ]; 
0200: 74 68 65 6e 0a 09 09 65 78 69 74 20 31 0a 09 66  then...exit 1..f
0210: 69 0a 0a 09 65 78 65 63 20 75 6e 61 6d 65 20 22  i...exec uname "
0220: 24 40 22 0a 66 69 0a 0a 43 52 4f 53 53 3d 22 24  $@".fi..CROSS="$
0230: 28 65 63 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22  (echo "${CROSS}"
0240: 20 7c 20 73 65 64 20 27 73 40 2d 2a 24 40 40 27   | sed 's@-*$@@'
0250: 29 22 0a 0a 23 20 44 65 74 65 72 6d 69 6e 65 20  )"..# Determine 
0260: 72 65 6c 65 61 73 65 20 69 6e 66 6f 72 6d 61 74  release informat
0270: 69 6f 6e 0a 63 61 73 65 20 22 24 7b 43 52 4f 53  ion.case "${CROS
0280: 53 7d 22 20 69 6e 0a 09 2a 2d 68 70 75 78 31 31  S}" in..*-hpux11
0290: 2a 29 0a 09 09 73 79 73 6e 61 6d 65 3d 22 48 50  *)...sysname="HP
02a0: 2d 55 58 22 0a 09 09 73 79 73 72 65 6c 65 61 73  -UX"...sysreleas
02b0: 65 3d 22 24 28 65 63 68 6f 20 22 24 7b 43 52 4f  e="$(echo "${CRO
02c0: 53 53 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 2e  SS}" | sed 's@^.
02d0: 2a 2d 68 70 75 78 40 40 27 29 22 0a 09 09 3b 3b  *-hpux@@')"...;;
02e0: 0a 09 2a 2d 73 6f 6c 61 72 69 73 32 2a 29 0a 09  ..*-solaris2*)..
02f0: 09 73 79 73 6e 61 6d 65 3d 22 53 75 6e 4f 53 22  .sysname="SunOS"
0300: 0a 09 09 73 79 73 72 65 6c 65 61 73 65 3d 22 24  ...sysrelease="$
0310: 28 65 63 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22  (echo "${CROSS}"
0320: 20 7c 20 73 65 64 20 27 73 40 5e 2e 2a 2d 73 6f   | sed 's@^.*-so
0330: 6c 61 72 69 73 40 40 3b 73 40 5e 32 40 35 40 27  laris@@;s@^2@5@'
0340: 29 22 0a 09 09 3b 3b 0a 09 2a 2d 6c 69 6e 75 78  )"...;;..*-linux
0350: 2a 29 0a 09 09 73 79 73 6e 61 6d 65 3d 22 4c 69  *)...sysname="Li
0360: 6e 75 78 22 0a 09 09 73 79 73 72 65 6c 65 61 73  nux"...sysreleas
0370: 65 3d 22 32 2e 36 2e 35 22 0a 09 09 3b 3b 0a 09  e="2.6.5"...;;..
0380: 2a 2d 6e 65 74 62 73 64 2a 29 0a 09 09 73 79 73  *-netbsd*)...sys
0390: 6e 61 6d 65 3d 22 4e 65 74 42 53 44 22 0a 09 09  name="NetBSD"...
03a0: 73 79 73 72 65 6c 65 61 73 65 3d 22 24 28 65 63  sysrelease="$(ec
03b0: 68 6f 20 22 24 7b 43 52 4f 53 53 7d 22 20 7c 20  ho "${CROSS}" | 
03c0: 73 65 64 20 27 73 40 5e 2e 2a 2d 6e 65 74 62 73  sed 's@^.*-netbs
03d0: 64 40 40 3b 73 40 24 40 2e 30 40 27 29 22 0a 09  d@@;s@$@.0@')"..
03e0: 09 3b 3b 0a 09 2a 2d 66 72 65 65 62 73 64 2a 29  .;;..*-freebsd*)
03f0: 0a 09 09 73 79 73 6e 61 6d 65 3d 22 46 72 65 65  ...sysname="Free
0400: 42 53 44 22 0a 09 09 73 79 73 72 65 6c 65 61 73  BSD"...sysreleas
0410: 65 3d 22 24 28 65 63 68 6f 20 22 24 7b 43 52 4f  e="$(echo "${CRO
0420: 53 53 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 2e  SS}" | sed 's@^.
0430: 2a 2d 66 72 65 65 62 73 64 40 40 3b 73 40 24 40  *-freebsd@@;s@$@
0440: 2e 30 2d 52 45 4c 45 41 53 45 40 27 29 22 0a 09  .0-RELEASE@')"..
0450: 09 3b 3b 0a 65 73 61 63 0a 0a 23 20 44 65 74 65  .;;.esac..# Dete
0460: 72 6d 69 6e 65 20 6d 61 63 68 69 6e 65 20 69 6e  rmine machine in
0470: 66 6f 72 6d 61 74 69 6f 6e 0a 63 61 73 65 20 22  formation.case "
0480: 24 7b 43 52 4f 53 53 7d 22 20 69 6e 0a 09 68 70  ${CROSS}" in..hp
0490: 70 61 36 34 2d 2a 2d 68 70 75 78 2a 29 0a 09 09  pa64-*-hpux*)...
04a0: 73 79 73 6d 61 63 68 69 6e 65 3d 22 39 30 30 30  sysmachine="9000
04b0: 2f 38 35 39 22 0a 09 09 3b 3b 0a 09 69 33 38 36  /859"...;;..i386
04c0: 2d 2a 2d 73 6f 6c 61 72 69 73 2a 29 0a 09 09 73  -*-solaris*)...s
04d0: 79 73 6d 61 63 68 69 6e 65 3d 22 69 38 36 70 63  ysmachine="i86pc
04e0: 22 0a 09 09 3b 3b 0a 09 73 70 61 72 63 2d 2a 2d  "...;;..sparc-*-
04f0: 73 6f 6c 61 72 69 73 2a 29 0a 09 09 73 79 73 6d  solaris*)...sysm
0500: 61 63 68 69 6e 65 3d 22 73 75 6e 34 75 22 0a 09  achine="sun4u"..
0510: 09 3b 3b 0a 09 78 38 36 5f 36 34 2d 2a 29 0a 09  .;;..x86_64-*)..
0520: 09 73 79 73 6d 61 63 68 69 6e 65 3d 22 78 38 36  .sysmachine="x86
0530: 5f 36 34 22 0a 09 09 3b 3b 0a 09 69 3f 38 36 2d  _64"...;;..i?86-
0540: 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e 65 3d  *)...sysmachine=
0550: 22 69 36 38 36 22 0a 09 09 3b 3b 0a 09 69 61 36  "i686"...;;..ia6
0560: 34 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e  4-*)...sysmachin
0570: 65 3d 22 69 61 36 34 22 0a 09 09 3b 3b 0a 09 61  e="ia64"...;;..a
0580: 72 6d 2d 2a 7c 61 72 6d 65 6c 2d 2a 7c 61 72 6d  rm-*|armel-*|arm
0590: 65 62 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69  eb-*)...sysmachi
05a0: 6e 65 3d 22 61 72 6d 76 37 6c 22 0a 09 09 3b 3b  ne="armv7l"...;;
05b0: 0a 09 6d 69 70 73 65 6c 2d 2a 7c 6d 69 70 73 65  ..mipsel-*|mipse
05c0: 62 2d 2a 29 0a 09 09 73 79 73 6d 61 63 68 69 6e  b-*)...sysmachin
05d0: 65 3d 22 6d 69 70 73 22 0a 09 09 3b 3b 0a 65 73  e="mips"...;;.es
05e0: 61 63 0a 0a 66 6f 72 20 61 72 67 20 69 6e 20 24  ac..for arg in $
05f0: 28 65 63 68 6f 20 22 24 40 22 20 7c 20 73 65 64  (echo "$@" | sed
0600: 20 27 73 40 2e 40 20 26 20 40 67 27 29 3b 20 64   's@.@ & @g'); d
0610: 6f 0a 09 63 61 73 65 20 22 24 7b 61 72 67 7d 22  o..case "${arg}"
0620: 20 69 6e 0a 09 09 2d 29 0a 09 09 09 63 6f 6e 74   in...-)....cont
0630: 69 6e 75 65 0a 09 09 09 3b 3b 0a 09 09 72 29 0a  inue....;;...r).
0640: 09 09 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74  ...retval="${ret
0650: 76 61 6c 7d 20 24 7b 73 79 73 72 65 6c 65 61 73  val} ${sysreleas
0660: 65 7d 22 0a 09 09 09 3b 3b 0a 09 09 73 29 0a 09  e}"....;;...s)..
0670: 09 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74 76  ..retval="${retv
0680: 61 6c 7d 20 24 7b 73 79 73 6e 61 6d 65 7d 22 0a  al} ${sysname}".
0690: 09 09 09 3b 3b 0a 09 09 6d 29 0a 09 09 09 72 65  ...;;...m)....re
06a0: 74 76 61 6c 3d 22 24 7b 72 65 74 76 61 6c 7d 20  tval="${retval} 
06b0: 24 7b 73 79 73 6d 61 63 68 69 6e 65 7d 22 0a 09  ${sysmachine}"..
06c0: 09 09 3b 3b 0a 09 09 70 29 0a 09 09 09 23 20 58  ..;;...p)....# X
06d0: 58 58 0a 09 09 09 72 65 74 76 61 6c 3d 22 24 7b  XX....retval="${
06e0: 72 65 74 76 61 6c 7d 20 24 7b 73 79 73 63 70 75  retval} ${syscpu
06f0: 7d 22 0a 09 09 09 3b 3b 0a 09 09 6e 29 0a 09 09  }"....;;...n)...
0700: 09 72 65 74 76 61 6c 3d 22 24 7b 72 65 74 76 61  .retval="${retva
0710: 6c 7d 20 24 28 68 6f 73 74 6e 61 6d 65 29 22 0a  l} $(hostname)".
0720: 09 09 09 3b 3b 0a 09 09 61 29 0a 09 09 09 72 65  ...;;...a)....re
0730: 74 76 61 6c 3d 22 24 7b 73 79 73 6e 61 6d 65 7d  tval="${sysname}
0740: 20 24 28 68 6f 73 74 6e 61 6d 65 29 20 24 7b 73   $(hostname) ${s
0750: 79 73 72 65 6c 65 61 73 65 7d 20 24 7b 73 79 73  ysrelease} ${sys
0760: 76 65 72 73 69 6f 6e 7d 20 24 7b 73 79 73 6d 61  version} ${sysma
0770: 63 68 69 6e 65 7d 20 24 7b 73 79 73 63 70 75 7d  chine} ${syscpu}
0780: 22 0a 09 09 09 3b 3b 0a 09 65 73 61 63 0a 64 6f  "....;;..esac.do
0790: 6e 65 0a 0a 65 63 68 6f 20 22 24 7b 72 65 74 76  ne..echo "${retv
07a0: 61 6c 7d 22 20 7c 20 73 65 64 20 27 73 40 5e 20  al}" | sed 's@^ 
07b0: 20 2a 40 40 3b 73 40 20 20 2a 24 40 40 27 0a      *@@;s@  *$@@'.