Hex Artifact Content

Artifact 6cafb5c1e812adec16d73c616cc12f149ff6d922:


0000: 23 21 20 2f 62 69 6e 2f 62 61 73 68 0a 0a 57 45  #! /bin/bash..WE
0010: 42 44 49 52 3d 22 2f 77 65 62 2f 72 6b 65 65 6e  BDIR="/web/rkeen
0020: 65 2f 64 65 76 65 6c 2f 6b 69 74 63 72 65 61 74  e/devel/kitcreat
0030: 6f 72 2f 6b 69 74 62 75 69 6c 64 22 0a 65 78 70  or/kitbuild".exp
0040: 6f 72 74 20 57 45 42 44 49 52 0a 0a 69 66 20 5b  ort WEBDIR..if [
0050: 20 21 20 2d 64 20 22 6b 69 74 73 22 20 5d 3b 20   ! -d "kits" ]; 
0060: 74 68 65 6e 0a 09 65 63 68 6f 20 27 43 6f 75 6c  then..echo 'Coul
0070: 64 20 6e 6f 74 20 66 69 6e 64 20 6b 69 74 73 2f  d not find kits/
0080: 20 64 69 72 65 63 74 6f 72 79 2c 20 61 62 6f 72   directory, abor
0090: 74 69 6e 67 2e 27 20 3e 26 32 0a 0a 09 65 78 69  ting.' >&2...exi
00a0: 74 20 31 0a 66 69 0a 0a 72 6d 20 2d 72 66 20 22  t 1.fi..rm -rf "
00b0: 24 7b 57 45 42 44 49 52 7d 22 0a 6d 6b 64 69 72  ${WEBDIR}".mkdir
00c0: 20 2d 70 20 22 24 7b 57 45 42 44 49 52 7d 22 20   -p "${WEBDIR}" 
00d0: 7c 7c 20 65 78 69 74 20 31 0a 0a 63 70 20 2d 72  || exit 1..cp -r
00e0: 20 6b 69 74 73 2f 2a 20 22 24 7b 57 45 42 44 49   kits/* "${WEBDI
00f0: 52 7d 22 0a 0a 6c 6e 20 2d 73 20 2e 2e 2f 69 6e  R}"..ln -s ../in
0100: 64 65 78 2e 74 74 6d 6c 20 22 24 7b 57 45 42 44  dex.ttml "${WEBD
0110: 49 52 7d 2f 22 20 3e 2f 64 65 76 2f 6e 75 6c 6c  IR}/" >/dev/null
0120: 20 32 3e 2f 64 65 76 2f 6e 75 6c 6c 0a 0a 74 6f   2>/dev/null..to
0130: 74 61 6c 74 65 73 74 73 5f 63 6f 75 6e 74 3d 22  taltests_count="
0140: 24 28 6c 73 20 2d 31 20 74 65 73 74 73 2f 2a 2e  $(ls -1 tests/*.
0150: 74 63 6c 20 7c 20 77 63 20 2d 6c 29 22 0a 0a 66  tcl | wc -l)"..f
0160: 6f 72 20 66 69 6c 65 20 69 6e 20 22 24 7b 57 45  or file in "${WE
0170: 42 44 49 52 7d 22 2f 2a 3b 20 64 6f 0a 09 69 66  BDIR}"/*; do..if
0180: 20 5b 20 2d 64 20 22 24 7b 66 69 6c 65 7d 22 20   [ -d "${file}" 
0190: 5d 3b 20 74 68 65 6e 0a 09 09 63 6f 6e 74 69 6e  ]; then...contin
01a0: 75 65 0a 09 66 69 0a 0a 09 69 66 20 65 63 68 6f  ue..fi...if echo
01b0: 20 22 24 7b 66 69 6c 65 7d 22 20 7c 20 65 67 72   "${file}" | egr
01c0: 65 70 20 27 5c 2e 28 6c 6f 67 7c 64 65 73 63 7c  ep '\.(log|desc|
01d0: 74 74 6d 6c 29 24 27 20 3e 2f 64 65 76 2f 6e 75  ttml)$' >/dev/nu
01e0: 6c 6c 3b 20 74 68 65 6e 0a 09 09 63 6f 6e 74 69  ll; then...conti
01f0: 6e 75 65 0a 09 66 69 0a 0a 09 23 20 46 69 6e 64  nue..fi...# Find
0200: 20 6f 75 74 20 77 68 69 63 68 20 74 65 73 74 73   out which tests
0210: 20 66 61 69 6c 65 64 0a 09 66 61 69 6c 65 64 74   failed..failedt
0220: 65 73 74 73 5f 63 6f 75 6e 74 3d 22 30 22 0a 09  ests_count="0"..
0230: 66 61 69 6c 65 64 74 65 73 74 73 3d 22 22 0a 09  failedtests=""..
0240: 66 6f 72 20 66 61 69 6c 6c 6f 67 20 69 6e 20 22  for faillog in "
0250: 24 7b 66 69 6c 65 7d 22 2d 5b 30 2d 39 5d 5b 30  ${file}"-[0-9][0
0260: 2d 39 5d 2d 2a 2e 6c 6f 67 3b 20 64 6f 0a 09 09  -9]-*.log; do...
0270: 69 66 20 5b 20 21 20 2d 66 20 22 24 7b 66 61 69  if [ ! -f "${fai
0280: 6c 6c 6f 67 7d 22 20 5d 3b 20 74 68 65 6e 0a 09  llog}" ]; then..
0290: 09 09 63 6f 6e 74 69 6e 75 65 0a 09 09 66 69 0a  ..continue...fi.
02a0: 0a 09 09 66 61 69 6c 65 64 74 65 73 74 73 5f 63  ...failedtests_c
02b0: 6f 75 6e 74 3d 24 5b 24 7b 66 61 69 6c 65 64 74  ount=$[${failedt
02c0: 65 73 74 73 7d 20 2b 20 31 5d 0a 09 09 66 61 69  ests} + 1]...fai
02d0: 6c 65 64 74 65 73 74 73 3d 22 24 7b 66 61 69 6c  ledtests="${fail
02e0: 65 64 74 65 73 74 73 7d 20 24 28 62 61 73 65 6e  edtests} $(basen
02f0: 61 6d 65 20 22 24 7b 66 61 69 6c 6c 6f 67 7d 22  ame "${faillog}"
0300: 29 22 0a 09 64 6f 6e 65 0a 0a 09 23 20 47 65 6e  )"..done...# Gen
0310: 65 72 61 74 65 20 64 65 73 63 72 69 70 74 69 6f  erate descriptio
0320: 6e 0a 09 64 65 73 63 66 69 6c 65 3d 22 24 7b 66  n..descfile="${f
0330: 69 6c 65 7d 2e 64 65 73 63 22 0a 09 73 68 6f 72  ile}.desc"..shor
0340: 74 66 69 6c 65 3d 22 24 28 62 61 73 65 6e 61 6d  tfile="$(basenam
0350: 65 20 22 24 7b 66 69 6c 65 7d 22 29 22 0a 09 64  e "${file}")"..d
0360: 65 73 63 3d 22 22 0a 0a 09 74 63 6c 76 65 72 73  esc=""...tclvers
0370: 69 6f 6e 3d 22 24 28 65 63 68 6f 20 22 24 7b 73  ion="$(echo "${s
0380: 68 6f 72 74 66 69 6c 65 7d 22 20 7c 20 63 75 74  hortfile}" | cut
0390: 20 2d 66 20 32 20 2d 64 20 2d 29 22 0a 09 70 61   -f 2 -d -)"..pa
03a0: 72 74 73 3d 22 24 28 65 63 68 6f 20 22 24 7b 73  rts="$(echo "${s
03b0: 68 6f 72 74 66 69 6c 65 7d 22 20 7c 20 63 75 74  hortfile}" | cut
03c0: 20 2d 66 20 33 2d 20 2d 64 20 2d 29 22 0a 0a 09   -f 3- -d -)"...
03d0: 77 68 69 6c 65 20 5b 20 22 24 7b 70 61 72 74 73  while [ "${parts
03e0: 7d 22 20 21 3d 20 22 22 20 5d 3b 20 64 6f 0a 09  }" != "" ]; do..
03f0: 09 63 61 73 65 20 22 24 7b 70 61 72 74 73 7d 2d  .case "${parts}-
0400: 22 20 69 6e 0a 09 09 09 6e 6f 72 6d 61 6c 2d 2a  " in....normal-*
0410: 29 0a 09 09 09 09 74 72 75 65 0a 09 09 09 09 3b  ).....true.....;
0420: 3b 0a 09 09 09 61 72 6d 2d 2a 29 0a 09 09 09 09  ;....arm-*).....
0430: 64 65 73 63 3d 22 24 7b 64 65 73 63 7d 20 6f 6e  desc="${desc} on
0440: 20 74 68 65 20 43 50 55 20 61 72 63 68 69 74 65   the CPU archite
0450: 63 74 75 72 65 20 4d 49 50 53 45 4c 2f 75 43 6c  cture MIPSEL/uCl
0460: 69 62 63 22 0a 09 09 09 09 3b 3b 0a 09 09 09 77  ibc".....;;....w
0470: 69 6e 33 32 2d 2a 29 0a 09 09 09 09 64 65 73 63  in32-*).....desc
0480: 3d 22 24 7b 64 65 73 63 7d 20 66 6f 72 20 4d 69  ="${desc} for Mi
0490: 63 72 6f 73 6f 66 74 20 57 69 6e 64 6f 77 73 22  crosoft Windows"
04a0: 0a 09 09 09 09 3b 3b 0a 09 09 09 74 68 72 65 61  .....;;....threa
04b0: 64 65 64 2d 2a 29 0a 09 09 09 09 64 65 73 63 3d  ded-*).....desc=
04c0: 22 24 7b 64 65 73 63 7d 20 77 69 74 68 20 74 68  "${desc} with th
04d0: 72 65 61 64 73 20 73 75 70 70 6f 72 74 22 0a 09  reads support"..
04e0: 09 09 09 3b 3b 0a 09 09 09 6d 69 6e 2d 2a 29 0a  ...;;....min-*).
04f0: 09 09 09 09 64 65 73 63 3d 22 24 7b 64 65 73 63  ....desc="${desc
0500: 7d 20 63 6f 6d 70 69 6c 65 64 20 6d 69 6e 69 6d  } compiled minim
0510: 61 6c 6c 79 22 0a 09 09 09 09 3b 3b 0a 09 09 09  ally".....;;....
0520: 73 74 61 74 69 63 2d 2a 29 0a 09 09 09 09 64 65  static-*).....de
0530: 73 63 3d 22 24 7b 64 65 73 63 7d 20 61 6e 64 20  sc="${desc} and 
0540: 73 74 61 74 69 63 61 6c 6c 79 22 0a 09 09 09 09  statically".....
0550: 3b 3b 0a 09 09 09 6e 6f 74 6b 2d 2a 29 0a 09 09  ;;....notk-*)...
0560: 09 09 69 66 20 65 63 68 6f 20 22 24 7b 64 65 73  ..if echo "${des
0570: 63 7d 22 20 7c 20 67 72 65 70 20 2d 69 20 73 75  c}" | grep -i su
0580: 70 70 6f 72 74 20 3e 2f 64 65 76 2f 6e 75 6c 6c  pport >/dev/null
0590: 3b 20 74 68 65 6e 0a 09 09 09 09 09 64 65 73 63  ; then......desc
05a0: 3d 22 24 7b 64 65 73 63 7d 20 61 6e 64 22 0a 09  ="${desc} and"..
05b0: 09 09 09 66 69 0a 09 09 09 09 64 65 73 63 3d 22  ...fi.....desc="
05c0: 24 7b 64 65 73 63 7d 20 77 69 74 68 6f 75 74 20  ${desc} without 
05d0: 54 6b 22 0a 09 09 09 09 3b 3b 0a 09 09 09 73 74  Tk".....;;....st
05e0: 61 74 69 63 74 6b 2d 2a 29 0a 09 09 09 09 69 66  atictk-*).....if
05f0: 20 65 63 68 6f 20 22 24 7b 64 65 73 63 7d 22 20   echo "${desc}" 
0600: 7c 20 67 72 65 70 20 2d 69 20 73 75 70 70 6f 72  | grep -i suppor
0610: 74 20 3e 2f 64 65 76 2f 6e 75 6c 6c 3b 20 74 68  t >/dev/null; th
0620: 65 6e 0a 09 09 09 09 09 64 65 73 63 3d 22 24 7b  en......desc="${
0630: 64 65 73 63 7d 20 61 6e 64 22 0a 09 09 09 09 66  desc} and".....f
0640: 69 0a 09 09 09 09 64 65 73 63 3d 22 24 7b 64 65  i.....desc="${de
0650: 73 63 7d 20 77 69 74 68 20 54 6b 20 6c 69 6e 6b  sc} with Tk link
0660: 65 64 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74  ed directly to t
0670: 68 65 20 6b 69 74 22 0a 09 09 09 09 3b 3b 0a 09  he kit".....;;..
0680: 09 09 7a 69 70 2d 2a 29 0a 09 09 09 09 64 65 73  ..zip-*).....des
0690: 63 3d 22 24 7b 64 65 73 63 7d 20 75 73 69 6e 67  c="${desc} using
06a0: 20 5a 49 50 20 66 6f 72 20 4b 69 74 20 73 74 6f   ZIP for Kit sto
06b0: 72 61 67 65 22 0a 09 09 09 09 3b 3b 0a 09 09 09  rage".....;;....
06c0: 2a 29 0a 09 09 09 09 65 63 68 6f 20 22 55 6e 6b  *).....echo "Unk
06d0: 6e 6f 77 6e 20 70 61 72 74 20 28 5c 22 24 7b 70  nown part (\"${p
06e0: 61 72 74 73 7d 5c 22 29 2c 20 73 6b 69 70 70 69  arts}\"), skippi
06f0: 6e 67 20 5c 22 24 7b 73 68 6f 72 74 66 69 6c 65  ng \"${shortfile
0700: 7d 5c 22 22 20 3e 26 32 0a 09 09 09 09 62 72 65  }\"" >&2.....bre
0710: 61 6b 0a 09 09 09 09 3b 3b 0a 09 09 65 73 61 63  ak.....;;...esac
0720: 0a 0a 09 09 6e 65 77 70 61 72 74 73 3d 22 24 28  ....newparts="$(
0730: 65 63 68 6f 20 22 24 7b 70 61 72 74 73 7d 22 20  echo "${parts}" 
0740: 7c 20 63 75 74 20 2d 66 20 32 2d 20 2d 64 20 2d  | cut -f 2- -d -
0750: 29 22 0a 09 09 69 66 20 5b 20 22 24 7b 6e 65 77  )"...if [ "${new
0760: 70 61 72 74 73 7d 22 20 3d 20 22 24 7b 70 61 72  parts}" = "${par
0770: 74 73 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09 09  ts}" ]; then....
0780: 70 61 72 74 73 3d 22 22 0a 09 09 65 6c 73 65 0a  parts=""...else.
0790: 09 09 09 70 61 72 74 73 3d 22 24 7b 6e 65 77 70  ...parts="${newp
07a0: 61 72 74 73 7d 22 0a 09 09 66 69 0a 09 64 6f 6e  arts}"...fi..don
07b0: 65 0a 0a 09 69 66 20 5b 20 2d 7a 20 22 24 7b 64  e...if [ -z "${d
07c0: 65 73 63 7d 22 20 5d 3b 20 74 68 65 6e 0a 09 09  esc}" ]; then...
07d0: 63 6f 6e 74 69 6e 75 65 0a 09 66 69 0a 0a 09 23  continue..fi...#
07e0: 20 47 65 6e 65 72 61 74 65 20 62 65 74 74 65 72   Generate better
07f0: 20 54 63 6c 20 76 65 72 73 69 6f 6e 0a 09 63 61   Tcl version..ca
0800: 73 65 20 22 24 7b 74 63 6c 76 65 72 73 69 6f 6e  se "${tclversion
0810: 7d 22 20 69 6e 0a 09 09 63 76 73 5f 48 45 41 44  }" in...cvs_HEAD
0820: 29 0a 09 09 09 74 63 6c 76 65 72 73 69 6f 6e 3d  )....tclversion=
0830: 22 66 72 6f 6d 20 43 56 53 20 48 45 41 44 22 0a  "from CVS HEAD".
0840: 09 09 09 3b 3b 0a 09 09 63 76 73 5f 2a 29 0a 09  ...;;...cvs_*)..
0850: 09 09 74 63 6c 76 65 72 73 69 6f 6e 3d 22 66 72  ..tclversion="fr
0860: 6f 6d 20 43 56 53 20 74 61 67 20 24 28 65 63 68  om CVS tag $(ech
0870: 6f 20 22 24 7b 74 63 6c 76 65 72 73 69 6f 6e 7d  o "${tclversion}
0880: 22 20 7c 20 63 75 74 20 2d 66 20 32 20 2d 64 20  " | cut -f 2 -d 
0890: 5f 29 22 0a 09 09 09 3b 3b 0a 09 65 73 61 63 0a  _)"....;;..esac.
08a0: 0a 09 23 20 55 70 64 61 74 65 20 64 65 73 63 72  ..# Update descr
08b0: 69 70 74 69 6f 6e 20 77 69 74 68 20 63 6f 75 6e  iption with coun
08c0: 74 20 6f 66 20 66 61 69 6c 65 64 20 74 65 73 74  t of failed test
08d0: 73 0a 09 69 66 20 5b 20 22 24 7b 66 61 69 6c 65  s..if [ "${faile
08e0: 64 74 65 73 74 73 5f 63 6f 75 6e 74 7d 22 20 21  dtests_count}" !
08f0: 3d 20 22 30 22 20 5d 3b 20 74 68 65 6e 0a 09 09  = "0" ]; then...
0900: 64 65 73 63 3d 22 24 7b 64 65 73 63 7d 20 28 46  desc="${desc} (F
0910: 41 49 4c 45 44 20 24 7b 66 61 69 6c 65 64 74 65  AILED ${failedte
0920: 73 74 73 5f 63 6f 75 6e 74 7d 20 6f 66 20 24 7b  sts_count} of ${
0930: 74 6f 74 61 6c 74 65 73 74 73 5f 63 6f 75 6e 74  totaltests_count
0940: 7d 20 74 65 73 74 73 29 22 0a 09 66 69 0a 0a 09  } tests)"..fi...
0950: 64 65 73 63 3d 22 69 73 20 61 20 54 63 6c 6b 69  desc="is a Tclki
0960: 74 20 66 6f 72 20 54 63 6c 20 24 7b 74 63 6c 76  t for Tcl ${tclv
0970: 65 72 73 69 6f 6e 7d 24 7b 64 65 73 63 7d 22 0a  ersion}${desc}".
0980: 0a 64 6f 6e 65 0a 0a 72 6d 64 69 72 20 22 24 7b  .done..rmdir "${
0990: 57 45 42 44 49 52 7d 2f 66 61 69 6c 65 64 22 20  WEBDIR}/failed" 
09a0: 3e 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65  >/dev/null 2>/de
09b0: 76 2f 6e 75 6c 6c 0a 6c 6e 20 2d 73 20 2e 2e 2f  v/null.ln -s ../
09c0: 69 6e 64 65 78 2e 74 74 6d 6c 20 22 24 7b 57 45  index.ttml "${WE
09d0: 42 44 49 52 7d 2f 66 61 69 6c 65 64 2f 22 20 3e  BDIR}/failed/" >
09e0: 2f 64 65 76 2f 6e 75 6c 6c 20 32 3e 2f 64 65 76  /dev/null 2>/dev
09f0: 2f 6e 75 6c 6c 0a 0a 65 78 69 74 20 30 0a        /null..exit 0.