Megatest

Hex Artifact Content
Login

Artifact 4f3bb4a8103607aa67e2c63e654dd9f1c8494df7:


0000: 23 20 20 43 6f 70 79 72 69 67 68 74 20 32 30 30  #  Copyright 200
0010: 36 2d 32 30 31 37 2c 20 4d 61 74 74 68 65 77 20  6-2017, Matthew 
0020: 57 65 6c 6c 61 6e 64 2e 0a 23 20 0a 23 20 54 68  Welland..# .# Th
0030: 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20  is file is part 
0040: 6f 66 20 4d 65 67 61 74 65 73 74 2e 0a 23 20 0a  of Megatest..# .
0050: 23 20 20 20 20 20 4d 65 67 61 74 65 73 74 20 69  #     Megatest i
0060: 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a  s free software:
0070: 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72   you can redistr
0080: 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20  ibute it and/or 
0090: 6d 6f 64 69 66 79 0a 23 20 20 20 20 20 69 74 20  modify.#     it 
00a0: 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20  under the terms 
00b0: 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72  of the GNU Gener
00c0: 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73  al Public Licens
00d0: 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62  e as published b
00e0: 79 0a 23 20 20 20 20 20 74 68 65 20 46 72 65 65  y.#     the Free
00f0: 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61   Software Founda
0100: 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72  tion, either ver
0110: 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69  sion 3 of the Li
0120: 63 65 6e 73 65 2c 20 6f 72 0a 23 20 20 20 20 20  cense, or.#     
0130: 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29  (at your option)
0140: 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69   any later versi
0150: 6f 6e 2e 0a 23 20 0a 23 20 20 20 20 20 4d 65 67  on..# .#     Meg
0160: 61 74 65 73 74 20 69 73 20 64 69 73 74 72 69 62  atest is distrib
0170: 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65  uted in the hope
0180: 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65   that it will be
0190: 20 75 73 65 66 75 6c 2c 0a 23 20 20 20 20 20 62   useful,.#     b
01a0: 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57  ut WITHOUT ANY W
01b0: 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74  ARRANTY; without
01c0: 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65   even the implie
01d0: 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 23 20  d warranty of.# 
01e0: 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c      MERCHANTABIL
01f0: 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46  ITY or FITNESS F
0200: 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20  OR A PARTICULAR 
0210: 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68  PURPOSE.  See th
0220: 65 0a 23 20 20 20 20 20 47 4e 55 20 47 65 6e 65  e.#     GNU Gene
0230: 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e  ral Public Licen
0240: 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61  se for more deta
0250: 69 6c 73 2e 0a 23 20 0a 23 20 20 20 20 20 59 6f  ils..# .#     Yo
0260: 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65  u should have re
0270: 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66  ceived a copy of
0280: 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c   the GNU General
0290: 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a   Public License.
02a0: 23 20 20 20 20 20 61 6c 6f 6e 67 20 77 69 74 68  #     along with
02b0: 20 4d 65 67 61 74 65 73 74 2e 20 20 49 66 20 6e   Megatest.  If n
02c0: 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f  ot, see <http://
02d0: 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65  www.gnu.org/lice
02e0: 6e 73 65 73 2f 3e 2e 0a 0a 23 20 6d 61 6b 65 20  nses/>...# make 
02f0: 69 6e 73 74 61 6c 6c 20 43 53 43 4f 50 54 53 3d  install CSCOPTS=
0300: 27 2d 61 63 63 75 6d 75 6c 61 74 65 2d 70 72 6f  '-accumulate-pro
0310: 66 69 6c 65 20 2d 70 72 6f 66 69 6c 65 2d 6e 61  file -profile-na
0320: 6d 65 20 24 28 50 57 44 29 2f 70 72 6f 66 69 6c  me $(PWD)/profil
0330: 65 2d 77 77 24 28 73 68 65 6c 6c 20 64 61 74 65  e-ww$(shell date
0340: 20 2b 25 56 2e 25 75 29 27 0a 23 20 72 6d 20 3c   +%V.%u)'.# rm <
0350: 66 69 6c 65 73 3e 2e 6f 20 3b 20 6d 61 6b 65 20  files>.o ; make 
0360: 69 6e 73 74 61 6c 6c 20 43 53 43 4f 50 54 53 3d  install CSCOPTS=
0370: 27 2d 70 72 6f 66 69 6c 65 27 20 3b 20 2e 2e 2e  '-profile' ; ...
0380: 20 3b 20 20 63 68 69 63 6b 65 6e 2d 70 72 6f 66   ;  chicken-prof
0390: 69 6c 65 20 7c 20 6c 65 73 73 0a 53 48 45 4c 4c  ile | less.SHELL
03a0: 3d 2f 62 69 6e 2f 62 61 73 68 0a 50 52 45 46 49  =/bin/bash.PREFI
03b0: 58 3d 24 28 50 57 44 29 0a 43 53 43 4f 50 54 53  X=$(PWD).CSCOPTS
03c0: 3d 0a 49 4e 53 54 41 4c 4c 3d 69 6e 73 74 61 6c  =.INSTALL=instal
03d0: 6c 0a 53 52 43 46 49 4c 45 53 20 3d 20 63 6f 6d  l.SRCFILES = com
03e0: 6d 6f 6e 2e 73 63 6d 20 69 74 65 6d 73 2e 73 63  mon.scm items.sc
03f0: 6d 20 6c 61 75 6e 63 68 2e 73 63 6d 20 6f 64 73  m launch.scm ods
0400: 2e 73 63 6d 20 72 75 6e 63 6f 6e 66 69 67 2e 73  .scm runconfig.s
0410: 63 6d 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20  cm.\.           
0420: 73 65 72 76 65 72 2e 73 63 6d 20 63 6f 6e 66 69  server.scm confi
0430: 67 66 2e 73 63 6d 20 64 62 2e 73 63 6d 20 6b 65  gf.scm db.scm ke
0440: 79 73 2e 73 63 6d 20 6d 61 72 67 73 2e 73 63 6d  ys.scm margs.scm
0450: 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20 70  ..\.           p
0460: 72 6f 63 65 73 73 2e 73 63 6d 20 72 75 6e 73 2e  rocess.scm runs.
0470: 73 63 6d 20 74 61 73 6b 73 2e 73 63 6d 20 74 65  scm tasks.scm te
0480: 73 74 73 2e 73 63 6d 20 67 65 6e 65 78 61 6d 70  sts.scm genexamp
0490: 6c 65 2e 73 63 6d 09 5c 0a 20 20 20 20 20 20 20  le.scm.\.       
04a0: 20 20 20 20 68 74 74 70 2d 74 72 61 6e 73 70 6f      http-transpo
04b0: 72 74 2e 73 63 6d 20 66 69 6c 65 64 62 2e 73 63  rt.scm filedb.sc
04c0: 6d 20 74 64 62 2e 73 63 6d 20 63 6c 69 65 6e 74  m tdb.scm client
04d0: 2e 73 63 6d 20 6d 74 2e 73 63 6d 09 5c 0a 20 20  .scm mt.scm.\.  
04e0: 20 20 20 20 20 20 20 20 20 65 7a 73 74 65 70 73           ezsteps
04f0: 2e 73 63 6d 20 6c 6f 63 6b 2d 71 75 65 75 65 2e  .scm lock-queue.
0500: 73 63 6d 20 73 64 62 2e 73 63 6d 20 72 6d 74 2e  scm sdb.scm rmt.
0510: 73 63 6d 20 61 70 69 2e 73 63 6d 09 09 5c 0a 20  scm api.scm..\. 
0520: 20 20 20 20 20 20 20 20 20 20 73 75 62 72 75 6e            subrun
0530: 2e 73 63 6d 20 70 6f 72 74 6c 6f 67 67 65 72 2e  .scm portlogger.
0540: 73 63 6d 20 61 72 63 68 69 76 65 2e 73 63 6d 20  scm archive.scm 
0550: 65 6e 76 2e 73 63 6d 09 09 5c 0a 20 20 20 20 20  env.scm..\.     
0560: 20 20 20 20 20 20 64 69 66 66 2d 72 65 70 6f 72        diff-repor
0570: 74 2e 73 63 6d 20 63 67 69 73 65 74 75 70 2f 6d  t.scm cgisetup/m
0580: 6f 64 65 6c 73 2f 70 67 64 62 2e 73 63 6d 0a 0a  odels/pgdb.scm..
0590: 23 20 6d 6f 64 75 6c 65 20 73 6f 75 72 63 65 20  # module source 
05a0: 66 69 6c 65 73 0a 4d 53 52 43 46 49 4c 45 53 20  files.MSRCFILES 
05b0: 3d 20 64 62 6d 6f 64 2e 73 63 6d 20 73 74 6d 6c  = dbmod.scm stml
05c0: 32 2e 73 63 6d 20 6d 75 74 69 6c 73 2e 73 63 6d  2.scm mutils.scm
05d0: 20 64 75 63 74 74 61 70 65 2d 6c 69 62 2e 73 63   ducttape-lib.sc
05e0: 6d 20 70 6b 74 73 2e 73 63 6d 0a 23 20 66 74 61  m pkts.scm.# fta
05f0: 69 6c 2e 73 63 6d 20 72 6d 74 6d 6f 64 2e 73 63  il.scm rmtmod.sc
0600: 6d 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 73 63 6d 20  m commonmod.scm 
0610: 72 65 6d 6f 76 65 64 0a 23 20 4d 53 52 43 46 49  removed.# MSRCFI
0620: 4c 45 53 20 3d 20 64 75 63 74 74 61 70 65 2d 6c  LES = ducttape-l
0630: 69 62 2e 73 63 6d 20 70 6b 74 73 2e 73 63 6d 20  ib.scm pkts.scm 
0640: 73 74 6d 6c 32 2e 73 63 6d 20 63 6f 6f 6b 69 65  stml2.scm cookie
0650: 2e 73 63 6d 20 6d 75 74 69 6c 73 2e 73 63 6d 09  .scm mutils.scm.
0660: 5c 0a 23 20 20 20 20 20 20 20 20 20 20 20 20 20  \.#             
0670: 6d 74 61 72 67 73 2e 73 63 6d 20 63 6f 6d 6d 6f  mtargs.scm commo
0680: 6e 6d 6f 64 2e 73 63 6d 20 64 62 6d 6f 64 2e 73  nmod.scm dbmod.s
0690: 63 6d 20 61 64 6a 75 74 61 6e 74 2e 73 63 6d 20  cm adjutant.scm 
06a0: 75 6c 65 78 2e 73 63 6d 09 5c 0a 23 20 20 20 20  ulex.scm.\.#    
06b0: 20 20 20 20 20 20 20 20 20 72 6d 74 6d 6f 64 2e           rmtmod.
06c0: 73 63 6d 20 61 70 69 6d 6f 64 2e 73 63 6d 0a 0a  scm apimod.scm..
06d0: 47 55 49 53 52 43 46 20 3d 20 64 61 73 68 62 6f  GUISRCF = dashbo
06e0: 61 72 64 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75  ard-context-menu
06f0: 2e 73 63 6d 20 64 61 73 68 62 6f 61 72 64 2d 74  .scm dashboard-t
0700: 65 73 74 73 2e 73 63 6d 09 09 5c 0a 20 20 20 20  ests.scm..\.    
0710: 20 20 20 20 20 20 64 61 73 68 62 6f 61 72 64 2d        dashboard-
0720: 67 75 69 6d 6f 6e 69 74 6f 72 2e 73 63 6d 20 67  guimonitor.scm g
0730: 75 74 69 6c 73 2e 73 63 6d 20 64 63 6f 6d 6d 6f  utils.scm dcommo
0740: 6e 2e 73 63 6d 20 74 72 65 65 2e 73 63 6d 09 5c  n.scm tree.scm.\
0750: 0a 20 20 20 20 20 20 20 20 20 20 76 67 2e 73 63  .          vg.sc
0760: 6d 0a 0a 4f 46 49 4c 45 53 20 20 20 3d 20 24 28  m..OFILES   = $(
0770: 53 52 43 46 49 4c 45 53 3a 25 2e 73 63 6d 3d 25  SRCFILES:%.scm=%
0780: 2e 6f 29 0a 47 4f 46 49 4c 45 53 20 20 3d 20 24  .o).GOFILES  = $
0790: 28 47 55 49 53 52 43 46 3a 25 2e 73 63 6d 3d 25  (GUISRCF:%.scm=%
07a0: 2e 6f 29 0a 0a 4d 4f 46 49 4c 45 53 20 3d 20 24  .o)..MOFILES = $
07b0: 28 61 64 64 70 72 65 66 69 78 20 6d 6f 66 69 6c  (addprefix mofil
07c0: 65 73 2f 2c 24 28 4d 53 52 43 46 49 4c 45 53 3a  es/,$(MSRCFILES:
07d0: 25 2e 73 63 6d 3d 25 2e 6f 29 29 0a 23 20 63 6f  %.scm=%.o)).# co
07e0: 6d 70 69 6c 65 64 20 69 6d 70 6f 72 74 20 66 69  mpiled import fi
07f0: 6c 65 73 0a 4d 4f 49 4d 50 46 49 4c 45 53 20 3d  les.MOIMPFILES =
0800: 20 24 28 4d 53 52 43 46 49 4c 45 53 3a 25 2e 73   $(MSRCFILES:%.s
0810: 63 6d 3d 25 2e 69 6d 70 6f 72 74 2e 6f 29 0a 0a  cm=%.import.o)..
0820: 25 2e 69 6d 70 6f 72 74 2e 6f 20 3a 20 25 2e 69  %.import.o : %.i
0830: 6d 70 6f 72 74 2e 73 63 6d 0a 09 63 73 63 20 24  mport.scm..csc $
0840: 28 43 53 43 4f 50 54 53 29 20 2d 75 6e 69 74 20  (CSCOPTS) -unit 
0850: 24 2a 2e 69 6d 70 6f 72 74 20 2d 63 20 24 2a 2e  $*.import -c $*.
0860: 69 6d 70 6f 72 74 2e 73 63 6d 20 2d 6f 20 24 2a  import.scm -o $*
0870: 2e 69 6d 70 6f 72 74 2e 6f 0a 0a 23 20 49 27 6d  .import.o..# I'm
0880: 20 6e 6f 74 20 73 75 72 65 20 74 68 65 20 63 70   not sure the cp
0890: 20 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 2c   is a good idea,
08a0: 20 63 68 61 6e 67 65 64 20 61 20 6c 6f 74 20 6f   changed a lot o
08b0: 66 20 74 68 69 6e 67 73 20 61 6e 64 20 69 74 20  f things and it 
08c0: 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 62 65 65  may not have bee
08d0: 6e 20 6e 65 63 65 73 73 61 72 79 2e 2e 2e 0a 23  n necessary....#
08e0: 20 6d 6f 66 69 6c 65 73 2f 25 2e 6f 20 20 25 2e   mofiles/%.o  %.
08f0: 69 6d 70 6f 72 74 2e 73 63 6d 20 3a 20 25 2e 73  import.scm : %.s
0900: 63 6d 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73  cm megatest-foss
0910: 69 6c 2d 68 61 73 68 2e 73 63 6d 0a 23 09 40 5b  il-hash.scm.#.@[
0920: 20 2d 65 20 6d 6f 66 69 6c 65 73 20 5d 20 7c 7c   -e mofiles ] ||
0930: 20 6d 6b 64 69 72 20 2d 70 20 6d 6f 66 69 6c 65   mkdir -p mofile
0940: 73 0a 23 09 63 73 63 20 24 28 43 53 43 4f 50 54  s.#.csc $(CSCOPT
0950: 53 29 20 2d 49 20 6d 6f 66 69 6c 65 73 20 2d 49  S) -I mofiles -I
0960: 20 24 2a 20 2d 4a 20 2d 63 20 24 3c 20 2d 6f 20   $* -J -c $< -o 
0970: 24 2a 2e 6f 0a 23 09 63 70 20 24 2a 2e 6f 20 6d  $*.o.#.cp $*.o m
0980: 6f 66 69 6c 65 73 2f 24 2a 2e 6f 0a 23 09 40 74  ofiles/$*.o.#.@t
0990: 6f 75 63 68 20 24 2a 2e 69 6d 70 6f 72 74 2e 73  ouch $*.import.s
09a0: 63 6d 20 23 20 65 6e 73 75 72 65 20 69 74 20 69  cm # ensure it i
09b0: 73 20 74 6f 75 63 68 65 64 20 61 66 74 65 72 20  s touched after 
09c0: 74 68 65 20 2e 6f 20 69 73 20 6d 61 64 65 0a 0a  the .o is made..
09d0: 6d 6f 66 69 6c 65 73 2f 25 2e 6f 20 3a 20 25 2e  mofiles/%.o : %.
09e0: 73 63 6d 0a 09 6d 6b 64 69 72 20 2d 70 20 6d 6f  scm..mkdir -p mo
09f0: 66 69 6c 65 73 0a 09 63 73 63 20 24 28 43 53 43  files..csc $(CSC
0a00: 4f 50 54 53 29 20 2d 4a 20 2d 63 20 24 3c 20 2d  OPTS) -J -c $< -
0a10: 6f 20 6d 6f 66 69 6c 65 73 2f 24 2a 2e 6f 0a 0a  o mofiles/$*.o..
0a20: 41 44 54 4c 53 43 52 3d 6d 74 5f 6c 61 73 74 73  ADTLSCR=mt_lasts
0a30: 74 65 70 20 6d 74 5f 72 75 6e 73 74 65 70 20 6d  tep mt_runstep m
0a40: 74 5f 65 7a 73 74 65 70 0a 48 45 4c 50 45 52 53  t_ezstep.HELPERS
0a50: 3d 24 28 61 64 64 70 72 65 66 69 78 20 24 28 50  =$(addprefix $(P
0a60: 52 45 46 49 58 29 2f 62 69 6e 2f 2c 24 28 41 44  REFIX)/bin/,$(AD
0a70: 54 4c 53 43 52 29 29 0a 44 45 50 4c 4f 59 48 45  TLSCR)).DEPLOYHE
0a80: 4c 50 45 52 53 3d 24 28 61 64 64 70 72 65 66 69  LPERS=$(addprefi
0a90: 78 20 64 65 70 6c 6f 79 74 61 72 67 2f 2c 24 28  x deploytarg/,$(
0aa0: 41 44 54 4c 53 43 52 29 29 0a 4d 54 45 53 54 48  ADTLSCR)).MTESTH
0ab0: 41 53 48 3d 24 28 73 68 65 6c 6c 20 66 6f 73 73  ASH=$(shell foss
0ac0: 69 6c 20 69 6e 66 6f 7c 67 72 65 70 20 63 68 65  il info|grep che
0ad0: 63 6b 6f 75 74 3a 7c 20 61 77 6b 20 27 7b 70 72  ckout:| awk '{pr
0ae0: 69 6e 74 20 24 24 32 7d 27 29 0a 0a 69 66 65 71  int $$2}')..ifeq
0af0: 20 28 24 28 4d 54 45 53 54 48 41 53 48 29 2c 29   ($(MTESTHASH),)
0b00: 0a 24 28 65 72 72 6f 72 20 4d 54 45 53 54 48 41  .$(error MTESTHA
0b10: 53 48 20 69 73 20 62 72 6f 6b 65 6e 21 29 0a 65  SH is broken!).e
0b20: 6e 64 69 66 0a 0a 23 20 43 53 49 50 41 54 48 3d  ndif..# CSIPATH=
0b30: 24 28 73 68 65 6c 6c 20 77 68 69 63 68 20 63 73  $(shell which cs
0b40: 69 29 0a 23 20 43 4b 50 41 54 48 3d 24 28 73 68  i).# CKPATH=$(sh
0b50: 65 6c 6c 20 64 69 72 6e 61 6d 65 20 24 28 73 68  ell dirname $(sh
0b60: 65 6c 6c 20 64 69 72 6e 61 6d 65 20 24 28 43 53  ell dirname $(CS
0b70: 49 50 41 54 48 29 29 29 0a 23 20 41 52 43 48 53  IPATH))).# ARCHS
0b80: 54 52 3d 24 28 73 68 65 6c 6c 20 75 6e 61 6d 65  TR=$(shell uname
0b90: 20 2d 6d 29 5f 24 28 73 68 65 6c 6c 20 75 6e 61   -m)_$(shell una
0ba0: 6d 65 20 2d 72 29 0a 23 20 42 41 53 48 5f 4d 41  me -r).# BASH_MA
0bb0: 43 48 54 59 50 45 3d 24 28 73 68 65 6c 6c 20 62  CHTYPE=$(shell b
0bc0: 61 73 68 20 2d 63 20 22 65 63 68 6f 20 5c 24 24  ash -c "echo \$$
0bd0: 4d 41 43 48 54 59 50 45 22 29 0a 23 20 41 52 43  MACHTYPE").# ARC
0be0: 48 53 54 52 3d 24 28 42 41 53 48 5f 4d 41 43 48  HSTR=$(BASH_MACH
0bf0: 54 59 50 45 29 5f 24 28 73 68 65 6c 6c 20 6c 73  TYPE)_$(shell ls
0c00: 62 5f 72 65 6c 65 61 73 65 20 2d 73 72 29 0a 41  b_release -sr).A
0c10: 52 43 48 53 54 52 3d 24 28 73 68 65 6c 6c 20 69  RCHSTR=$(shell i
0c20: 66 20 5b 5b 20 2d 65 20 2f 75 73 72 2f 62 69 6e  f [[ -e /usr/bin
0c30: 2f 73 77 5f 76 65 72 73 20 5d 5d 3b 20 74 68 65  /sw_vers ]]; the
0c40: 6e 20 2f 75 73 72 2f 62 69 6e 2f 73 77 5f 76 65  n /usr/bin/sw_ve
0c50: 72 73 20 2d 70 72 6f 64 75 63 74 56 65 72 73 69  rs -productVersi
0c60: 6f 6e 3b 20 65 6c 73 65 20 6c 73 62 5f 72 65 6c  on; else lsb_rel
0c70: 65 61 73 65 20 2d 73 72 3b 20 66 69 29 0a 23 20  ease -sr; fi).# 
0c80: 41 52 43 48 53 54 52 3d 24 28 73 68 65 6c 6c 20  ARCHSTR=$(shell 
0c90: 62 61 73 68 20 2d 63 20 22 65 63 68 6f 20 5c 24  bash -c "echo \$
0ca0: 24 4d 41 43 48 54 59 50 45 22 29 0a 0a 50 4e 47  $MACHTYPE")..PNG
0cb0: 46 49 4c 45 53 20 3d 20 24 28 73 68 65 6c 6c 20  FILES = $(shell 
0cc0: 63 64 20 64 6f 63 73 2f 6d 61 6e 75 61 6c 3b 6c  cd docs/manual;l
0cd0: 73 20 2a 70 6e 67 29 0a 0a 23 20 61 6c 6c 20 3a  s *png)..# all :
0ce0: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e   $(PREFIX)/bin/.
0cf0: 24 28 41 52 43 48 53 54 52 29 20 6d 74 65 73 74  $(ARCHSTR) mtest
0d00: 20 64 62 6f 61 72 64 20 6d 74 75 74 20 6e 64 62   dboard mtut ndb
0d10: 6f 61 72 64 0a 61 6c 6c 20 3a 20 24 28 50 52 45  oard.all : $(PRE
0d20: 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48  FIX)/bin/.$(ARCH
0d30: 53 54 52 29 20 6d 74 65 73 74 20 64 62 6f 61 72  STR) mtest dboar
0d40: 64 20 6d 74 75 74 20 74 63 6d 74 0a 0a 6d 74 65  d mtut tcmt..mte
0d50: 73 74 3a 20 24 28 4f 46 49 4c 45 53 29 20 72 65  st: $(OFILES) re
0d60: 61 64 6c 69 6e 65 2d 66 69 78 2e 73 63 6d 20 6d  adline-fix.scm m
0d70: 65 67 61 74 65 73 74 2e 6f 20 24 28 4d 4f 46 49  egatest.o $(MOFI
0d80: 4c 45 53 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45  LES) $(MOIMPFILE
0d90: 53 29 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73  S) megatest-vers
0da0: 69 6f 6e 2e 73 63 6d 0a 09 24 28 4d 41 4b 45 29  ion.scm..$(MAKE)
0db0: 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29 0a 09   $(MOIMPFILES)..
0dc0: 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 24  csc $(CSCOPTS) $
0dd0: 28 4f 46 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c  (OFILES) $(MOFIL
0de0: 45 53 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53  ES) $(MOIMPFILES
0df0: 29 20 6d 65 67 61 74 65 73 74 2e 6f 20 2d 6f 20  ) megatest.o -o 
0e00: 6d 74 65 73 74 0a 0a 73 68 6f 77 6d 74 65 73 74  mtest..showmtest
0e10: 68 61 73 68 3a 0a 09 40 65 63 68 6f 20 24 28 4d  hash:..@echo $(M
0e20: 54 45 53 54 48 41 53 48 29 0a 0a 64 62 6f 61 72  TESTHASH)..dboar
0e30: 64 20 3a 20 24 28 4f 46 49 4c 45 53 29 20 24 28  d : $(OFILES) $(
0e40: 47 4f 46 49 4c 45 53 29 20 64 61 73 68 62 6f 61  GOFILES) dashboa
0e50: 72 64 2e 73 63 6d 20 24 28 4d 4f 46 49 4c 45 53  rd.scm $(MOFILES
0e60: 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53 29 20  ) $(MOIMPFILES) 
0e70: 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f 6e  megatest-version
0e80: 2e 73 63 6d 20 6d 65 67 61 74 65 73 74 2d 66 6f  .scm megatest-fo
0e90: 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 0a 09 63  ssil-hash.scm..c
0ea0: 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 24 28  sc $(CSCOPTS) $(
0eb0: 4f 46 49 4c 45 53 29 20 64 61 73 68 62 6f 61 72  OFILES) dashboar
0ec0: 64 2e 73 63 6d 20 24 28 47 4f 46 49 4c 45 53 29  d.scm $(GOFILES)
0ed0: 20 24 28 4d 4f 46 49 4c 45 53 29 20 24 28 4d 4f   $(MOFILES) $(MO
0ee0: 49 4d 50 46 49 4c 45 53 29 20 2d 6f 20 64 62 6f  IMPFILES) -o dbo
0ef0: 61 72 64 0a 0a 6d 74 75 74 3a 20 24 28 4f 46 49  ard..mtut: $(OFI
0f00: 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20  LES) $(MOFILES) 
0f10: 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d  megatest-fossil-
0f20: 68 61 73 68 2e 73 63 6d 20 6d 74 75 74 2e 73 63  hash.scm mtut.sc
0f30: 6d 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69  m megatest-versi
0f40: 6f 6e 2e 73 63 6d 0a 09 63 73 63 20 24 28 43 53  on.scm..csc $(CS
0f50: 43 4f 50 54 53 29 20 24 28 4f 46 49 4c 45 53 29  COPTS) $(OFILES)
0f60: 20 24 28 4d 4f 46 49 4c 45 53 29 20 6d 74 75 74   $(MOFILES) mtut
0f70: 2e 73 63 6d 20 2d 6f 20 6d 74 75 74 0a 0a 23 20  .scm -o mtut..# 
0f80: 69 6e 63 6c 75 64 65 20 6d 61 6b 65 66 69 6c 65  include makefile
0f90: 2e 69 6e 63 0a 0a 54 43 4d 54 4f 42 4a 53 20 3d  .inc..TCMTOBJS =
0fa0: 20 5c 0a 09 61 70 69 2e 6f 20 5c 0a 09 61 72 63   \..api.o \..arc
0fb0: 68 69 76 65 2e 6f 20 5c 0a 09 63 67 69 73 65 74  hive.o \..cgiset
0fc0: 75 70 2f 6d 6f 64 65 6c 73 2f 70 67 64 62 2e 6f  up/models/pgdb.o
0fd0: 20 5c 0a 09 63 6c 69 65 6e 74 2e 6f 20 5c 0a 09   \..client.o \..
0fe0: 63 6f 6d 6d 6f 6e 2e 6f 20 5c 0a 09 63 6f 6e 66  common.o \..conf
0ff0: 69 67 66 2e 6f 20 5c 0a 09 64 62 2e 6f 20 5c 0a  igf.o \..db.o \.
1000: 09 65 6e 76 2e 6f 20 5c 0a 09 68 74 74 70 2d 74  .env.o \..http-t
1010: 72 61 6e 73 70 6f 72 74 2e 6f 20 5c 0a 09 69 74  ransport.o \..it
1020: 65 6d 73 2e 6f 20 5c 0a 09 6b 65 79 73 2e 6f 20  ems.o \..keys.o 
1030: 5c 0a 09 6c 61 75 6e 63 68 2e 6f 20 5c 0a 09 6c  \..launch.o \..l
1040: 6f 63 6b 2d 71 75 65 75 65 2e 6f 20 5c 0a 09 6d  ock-queue.o \..m
1050: 61 72 67 73 2e 6f 20 5c 0a 09 6d 74 2e 6f 20 5c  args.o \..mt.o \
1060: 0a 09 6f 64 73 2e 6f 20 5c 0a 09 70 6f 72 74 6c  ..ods.o \..portl
1070: 6f 67 67 65 72 2e 6f 20 5c 0a 09 70 72 6f 63 65  ogger.o \..proce
1080: 73 73 2e 6f 20 5c 0a 09 72 6d 74 2e 6f 20 5c 0a  ss.o \..rmt.o \.
1090: 09 72 75 6e 63 6f 6e 66 69 67 2e 6f 20 5c 0a 09  .runconfig.o \..
10a0: 72 75 6e 73 2e 6f 20 5c 0a 09 73 65 72 76 65 72  runs.o \..server
10b0: 2e 6f 20 5c 0a 09 74 61 73 6b 73 2e 6f 20 5c 0a  .o \..tasks.o \.
10c0: 09 74 64 62 2e 6f 20 5c 0a 09 74 65 73 74 73 2e  .tdb.o \..tests.
10d0: 6f 20 5c 0a 09 73 75 62 72 75 6e 2e 6f 20 5c 0a  o \..subrun.o \.
10e0: 20 20 20 20 20 20 20 20 65 7a 73 74 65 70 73 2e          ezsteps.
10f0: 6f 0a 0a 23 20 20 20 20 20 20 20 20 6d 6f 66 69  o..#        mofi
1100: 6c 65 73 2f 72 6d 74 6d 6f 64 2e 6f 20 5c 0a 23  les/rmtmod.o \.#
1110: 20 20 20 20 20 20 20 20 6d 6f 66 69 6c 65 73 2f          mofiles/
1120: 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20 5c 0a 0a 74  commonmod.o \..t
1130: 63 6d 74 20 3a 20 24 28 54 43 4d 54 4f 42 4a 53  cmt : $(TCMTOBJS
1140: 29 20 74 63 6d 74 2e 73 63 6d 20 6d 65 67 61 74  ) tcmt.scm megat
1150: 65 73 74 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a  est-version.scm.
1160: 09 63 73 63 20 24 28 43 53 43 4f 50 54 53 29 20  .csc $(CSCOPTS) 
1170: 24 28 54 43 4d 54 4f 42 4a 53 29 20 24 28 4d 4f  $(TCMTOBJS) $(MO
1180: 46 49 4c 45 53 29 20 24 28 4d 4f 49 4d 50 46 49  FILES) $(MOIMPFI
1190: 4c 45 53 29 20 74 63 6d 74 2e 73 63 6d 20 2d 6f  LES) tcmt.scm -o
11a0: 20 74 63 6d 74 0a 0a 23 20 69 6e 73 74 61 6c 6c   tcmt..# install
11b0: 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74   documentation t
11c0: 6f 20 24 28 50 52 45 46 49 58 29 2f 64 6f 63 73  o $(PREFIX)/docs
11d0: 0a 23 20 44 4f 45 53 20 4e 4f 54 20 52 45 42 55  .# DOES NOT REBU
11e0: 49 4c 44 20 44 4f 43 53 0a 23 0a 24 28 50 52 45  ILD DOCS.#.$(PRE
11f0: 46 49 58 29 2f 73 68 61 72 65 2f 64 6f 63 73 2f  FIX)/share/docs/
1200: 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75 61 6c 2e  megatest_manual.
1210: 68 74 6d 6c 20 3a 20 64 6f 63 73 2f 6d 61 6e 75  html : docs/manu
1220: 61 6c 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75  al/megatest_manu
1230: 61 6c 2e 68 74 6d 6c 0a 09 6d 6b 64 69 72 20 2d  al.html..mkdir -
1240: 70 20 24 28 50 52 45 46 49 58 29 2f 73 68 61 72  p $(PREFIX)/shar
1250: 65 2f 64 6f 63 73 0a 09 24 28 49 4e 53 54 41 4c  e/docs..$(INSTAL
1260: 4c 29 20 64 6f 63 73 2f 6d 61 6e 75 61 6c 2f 6d  L) docs/manual/m
1270: 65 67 61 74 65 73 74 5f 6d 61 6e 75 61 6c 2e 68  egatest_manual.h
1280: 74 6d 6c 20 24 28 50 52 45 46 49 58 29 2f 73 68  tml $(PREFIX)/sh
1290: 61 72 65 2f 64 6f 63 73 2f 6d 65 67 61 74 65 73  are/docs/megates
12a0: 74 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 0a 09 66  t_manual.html..f
12b0: 6f 72 20 70 6e 67 20 69 6e 20 24 28 50 4e 47 46  or png in $(PNGF
12c0: 49 4c 45 53 29 3b 64 6f 20 24 28 49 4e 53 54 41  ILES);do $(INSTA
12d0: 4c 4c 29 20 64 6f 63 73 2f 6d 61 6e 75 61 6c 2f  LL) docs/manual/
12e0: 24 24 70 6e 67 20 24 28 50 52 45 46 49 58 29 2f  $$png $(PREFIX)/
12f0: 73 68 61 72 65 2f 64 6f 63 73 2f 24 24 70 6e 67  share/docs/$$png
1300: 3b 64 6f 6e 65 0a 0a 23 20 61 64 64 20 61 20 66  ;done..# add a f
1310: 61 6b 65 20 64 65 70 65 6e 64 65 6e 63 79 20 73  ake dependency s
1320: 6f 20 74 68 69 73 20 64 6f 65 6e 73 27 74 20 63  o this doens't c
1330: 6f 70 79 20 65 76 65 72 79 74 69 6d 65 0a 24 28  opy everytime.$(
1340: 50 52 45 46 49 58 29 2f 73 68 61 72 65 2f 6a 73  PREFIX)/share/js
1350: 2f 6a 71 75 65 72 79 2d 33 2e 31 2e 30 2e 73 6c  /jquery-3.1.0.sl
1360: 69 6d 2e 6d 69 6e 2e 6a 73 20 3a 20 23 20 2e 66  im.min.js : # .f
1370: 73 6c 63 6b 6f 75 74 0a 09 6d 6b 64 69 72 20 2d  slckout..mkdir -
1380: 70 20 24 28 50 52 45 46 49 58 29 2f 73 68 61 72  p $(PREFIX)/shar
1390: 65 2f 6a 73 0a 09 66 6f 73 73 69 6c 20 77 69 6b  e/js..fossil wik
13a0: 69 20 65 78 70 6f 72 74 20 6a 61 76 61 2d 73 63  i export java-sc
13b0: 72 69 70 74 2d 6c 69 62 20 3e 20 24 28 50 52 45  ript-lib > $(PRE
13c0: 46 49 58 29 2f 73 68 61 72 65 2f 6a 73 2f 6a 71  FIX)/share/js/jq
13d0: 75 65 72 79 2d 33 2e 31 2e 30 2e 73 6c 69 6d 2e  uery-3.1.0.slim.
13e0: 6d 69 6e 2e 6a 73 0a 0a 24 28 50 52 45 46 49 58  min.js..$(PREFIX
13f0: 29 2f 73 68 61 72 65 2f 64 62 2f 6d 74 2d 70 67  )/share/db/mt-pg
1400: 2e 73 71 6c 20 3a 20 6d 74 2d 70 67 2e 73 71 6c  .sql : mt-pg.sql
1410: 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 50 52 45  ..mkdir -p $(PRE
1420: 46 49 58 29 2f 73 68 61 72 65 2f 64 62 0a 09 24  FIX)/share/db..$
1430: 28 49 4e 53 54 41 4c 4c 29 20 6d 74 2d 70 67 2e  (INSTALL) mt-pg.
1440: 73 71 6c 20 24 28 50 52 45 46 49 58 29 2f 73 68  sql $(PREFIX)/sh
1450: 61 72 65 2f 64 62 2f 6d 74 2d 70 67 2e 73 71 6c  are/db/mt-pg.sql
1460: 0a 0a 23 20 53 70 65 63 69 61 6c 20 64 65 70 65  ..# Special depe
1470: 6e 64 65 6e 63 69 65 73 20 66 6f 72 20 74 68 65  ndencies for the
1480: 20 69 6e 63 6c 75 64 65 73 0a 24 28 4d 4f 46 49   includes.$(MOFI
1490: 4c 45 29 20 24 28 4d 4f 49 4d 50 46 49 4c 45 53  LE) $(MOIMPFILES
14a0: 29 20 3a 20 6d 65 67 61 74 65 73 74 2d 66 6f 73  ) : megatest-fos
14b0: 73 69 6c 2d 68 61 73 68 2e 73 63 6d 0a 0a 23 20  sil-hash.scm..# 
14c0: 63 6f 6d 6d 6f 6e 2e 6f 20 3a 20 6d 6f 66 69 6c  common.o : mofil
14d0: 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20 6d  es/commonmod.o m
14e0: 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d 68  egatest-fossil-h
14f0: 61 73 68 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65  ash.scm.# mofile
1500: 73 2f 64 62 6d 6f 64 2e 6f 20 3a 20 6d 6f 66 69  s/dbmod.o : mofi
1510: 6c 65 73 2f 63 6f 6e 66 69 67 66 6d 6f 64 2e 6f  les/configfmod.o
1520: 0a 0a 23 20 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 20  ..# commonmod.o 
1530: 64 61 73 68 62 6f 61 72 64 2e 6f 20 6d 65 67 61  dashboard.o mega
1540: 74 65 73 74 2e 6f 20 74 63 6d 74 2e 6f 20 61 70  test.o tcmt.o ap
1550: 69 6d 6f 64 2e 6f 20 3a 20 6d 65 67 61 74 65 73  imod.o : megates
1560: 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63  t-fossil-hash.sc
1570: 6d 0a 0a 74 65 73 74 73 2e 6f 20 64 62 2e 6f 20  m..tests.o db.o 
1580: 6c 61 75 6e 63 68 2e 6f 20 72 75 6e 73 2e 6f 20  launch.o runs.o 
1590: 64 61 73 68 62 6f 61 72 64 2d 74 65 73 74 73 2e  dashboard-tests.
15a0: 6f 09 09 09 09 5c 0a 64 61 73 68 62 6f 61 72 64  o....\.dashboard
15b0: 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e 6f 20  -context-menu.o 
15c0: 64 61 73 68 62 6f 61 72 64 2d 67 75 69 6d 6f 6e  dashboard-guimon
15d0: 69 74 6f 72 2e 6f 20 64 61 73 68 62 6f 61 72 64  itor.o dashboard
15e0: 2d 6d 61 69 6e 2e 6f 09 5c 0a 6d 6f 6e 69 74 6f  -main.o.\.monito
15f0: 72 2e 6f 20 64 61 73 68 62 6f 61 72 64 2e 6f 20  r.o dashboard.o 
1600: 61 72 63 68 69 76 65 2e 6f 20 6d 65 67 61 74 65  archive.o megate
1610: 73 74 2e 6f 20 3a 20 64 62 5f 72 65 63 6f 72 64  st.o : db_record
1620: 73 2e 73 63 6d 20 6d 65 67 61 74 65 73 74 2d 66  s.scm megatest-f
1630: 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 0a 0a  ossil-hash.scm..
1640: 74 65 73 74 73 2e 6f 20 72 75 6e 73 2e 6f 20 64  tests.o runs.o d
1650: 61 73 68 62 6f 61 72 64 2e 6f 20 64 61 73 68 62  ashboard.o dashb
1660: 6f 61 72 64 2d 74 65 73 74 73 2e 6f 20 64 61 73  oard-tests.o das
1670: 68 62 6f 61 72 64 2d 63 6f 6e 74 65 78 74 2d 6d  hboard-context-m
1680: 65 6e 75 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d  enu.o dashboard-
1690: 6d 61 69 6e 2e 6f 20 20 3a 20 72 75 6e 5f 72 65  main.o  : run_re
16a0: 63 6f 72 64 73 2e 73 63 6d 0a 0a 64 62 2e 6f 20  cords.scm..db.o 
16b0: 65 7a 73 74 65 70 73 2e 6f 20 6b 65 79 73 2e 6f  ezsteps.o keys.o
16c0: 20 6c 61 75 6e 63 68 2e 6f 20 6d 65 67 61 74 65   launch.o megate
16d0: 73 74 2e 6f 20 6d 6f 6e 69 74 6f 72 2e 6f 20 72  st.o monitor.o r
16e0: 75 6e 73 2d 66 6f 72 2d 72 65 66 2e 6f 20 72 75  uns-for-ref.o ru
16f0: 6e 73 2e 6f 20 74 65 73 74 73 2e 6f 20 3a 20 6b  ns.o tests.o : k
1700: 65 79 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a 64  ey_records.scm.d
1710: 62 2e 6f 20 61 70 69 2e 6f 20 3a 20 6d 6f 66 69  b.o api.o : mofi
1720: 6c 65 73 2f 64 62 6d 6f 64 2e 6f 0a 0a 74 65 73  les/dbmod.o..tes
1730: 74 73 2e 6f 20 74 61 73 6b 73 2e 6f 20 64 61 73  ts.o tasks.o das
1740: 68 62 6f 61 72 64 2d 74 61 73 6b 73 2e 6f 20 3a  hboard-tasks.o :
1750: 20 74 61 73 6b 5f 72 65 63 6f 72 64 73 2e 73 63   task_records.sc
1760: 6d 0a 0a 72 75 6e 73 2e 6f 20 3a 20 74 65 73 74  m..runs.o : test
1770: 5f 72 65 63 6f 72 64 73 2e 73 63 6d 0a 0a 6d 65  _records.scm..me
1780: 67 61 74 65 73 74 2e 6f 20 3a 20 6d 65 67 61 74  gatest.o : megat
1790: 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e  est-fossil-hash.
17a0: 73 63 6d 20 6d 65 67 61 74 65 73 74 2d 76 65 72  scm megatest-ver
17b0: 73 69 6f 6e 2e 73 63 6d 0a 0a 72 6d 74 2e 73 63  sion.scm..rmt.sc
17c0: 6d 20 63 6c 69 65 6e 74 2e 73 63 6d 20 63 6f 6d  m client.scm com
17d0: 6d 6f 6e 2e 73 63 6d 20 63 6f 6e 66 69 67 66 2e  mon.scm configf.
17e0: 73 63 6d 20 64 61 73 68 62 6f 61 72 64 2d 67 75  scm dashboard-gu
17f0: 69 6d 6f 6e 69 74 6f 72 2e 73 63 6d 20 64 61 73  imonitor.scm das
1800: 68 62 6f 61 72 64 2d 74 65 73 74 73 2e 73 63 6d  hboard-tests.scm
1810: 20 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 64   dashboard.scm d
1820: 62 2e 73 63 6d 20 64 63 6f 6d 6d 6f 6e 2e 73 63  b.scm dcommon.sc
1830: 6d 20 65 7a 73 74 65 70 73 2e 73 63 6d 20 66 73  m ezsteps.scm fs
1840: 2d 74 72 61 6e 73 70 6f 72 74 2e 73 63 6d 20 68  -transport.scm h
1850: 74 74 70 2d 74 72 61 6e 73 70 6f 72 74 2e 73 63  ttp-transport.sc
1860: 6d 20 69 6e 64 65 78 2d 74 72 65 65 2e 73 63 6d  m index-tree.scm
1870: 20 69 74 65 6d 73 2e 73 63 6d 20 6b 65 79 73 2e   items.scm keys.
1880: 73 63 6d 20 6c 61 75 6e 63 68 2e 73 63 6d 20 6d  scm launch.scm m
1890: 65 67 61 74 65 73 74 2e 73 63 6d 20 6d 6f 6e 69  egatest.scm moni
18a0: 74 6f 72 2e 73 63 6d 20 6d 74 2e 73 63 6d 20 6e  tor.scm mt.scm n
18b0: 65 77 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20  ewdashboard.scm 
18c0: 72 75 6e 63 6f 6e 66 69 67 2e 73 63 6d 20 72 75  runconfig.scm ru
18d0: 6e 73 2e 73 63 6d 20 73 65 72 76 65 72 2e 73 63  ns.scm server.sc
18e0: 6d 20 74 64 62 2e 73 63 6d 20 74 65 73 74 73 2e  m tdb.scm tests.
18f0: 73 63 6d 20 74 72 65 65 2e 73 63 6d 20 3a 20 63  scm tree.scm : c
1900: 6f 6d 6d 6f 6e 5f 72 65 63 6f 72 64 73 2e 73 63  ommon_records.sc
1910: 6d 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69  m megatest-versi
1920: 6f 6e 2e 73 63 6d 0a 0a 63 6f 6d 6d 6f 6e 5f 72  on.scm..common_r
1930: 65 63 6f 72 64 73 2e 73 63 6d 20 3a 20 61 6c 74  ecords.scm : alt
1940: 64 62 2e 73 63 6d 0a 0a 23 20 6d 6f 66 69 6c 65  db.scm..# mofile
1950: 73 2f 73 74 6d 6c 32 2e 6f 20 3a 20 6d 6f 66 69  s/stml2.o : mofi
1960: 6c 65 73 2f 63 6f 6f 6b 69 65 2e 6f 0a 23 20 63  les/cookie.o.# c
1970: 6f 6e 66 69 67 66 2e 6f 20 3a 20 6d 6f 66 69 6c  onfigf.o : mofil
1980: 65 73 2f 63 6f 6d 6d 6f 6e 6d 6f 64 2e 6f 0a 0a  es/commonmod.o..
1990: 76 67 2e 6f 20 64 61 73 68 62 6f 61 72 64 2e 6f  vg.o dashboard.o
19a0: 20 3a 20 76 67 5f 72 65 63 6f 72 64 73 2e 73 63   : vg_records.sc
19b0: 6d 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69  m megatest-versi
19c0: 6f 6e 2e 73 63 6d 0a 0a 64 63 6f 6d 6d 6f 6e 2e  on.scm..dcommon.
19d0: 6f 20 3a 20 72 75 6e 5f 72 65 63 6f 72 64 73 2e  o : run_records.
19e0: 73 63 6d 0a 0a 6d 6f 66 69 6c 65 73 2f 73 74 6d  scm..mofiles/stm
19f0: 6c 32 2e 6f 20 3a 20 6d 6f 66 69 6c 65 73 2f 63  l2.o : mofiles/c
1a00: 6f 6f 6b 69 65 2e 6f 0a 0a 23 20 23 20 73 70 65  ookie.o..# # spe
1a10: 63 69 61 6c 20 69 6e 63 6c 75 64 65 20 62 61 73  cial include bas
1a20: 65 64 20 6d 6f 64 75 6c 65 73 0a 23 20 6d 6f 66  ed modules.# mof
1a30: 69 6c 65 73 2f 70 6b 74 73 2e 6f 20 20 20 20 20  iles/pkts.o     
1a40: 20 3a 20 70 6b 74 73 2f 70 6b 74 73 2e 73 63 6d   : pkts/pkts.scm
1a50: 0a 23 20 6d 6f 66 69 6c 65 73 2f 73 74 6d 6c 32  .# mofiles/stml2
1a60: 2e 6f 20 20 20 20 20 3a 20 63 6f 6f 6b 69 65 2e  .o     : cookie.
1a70: 6f 0a 23 20 23 20 6d 6f 66 69 6c 65 73 2f 6d 74  o.# # mofiles/mt
1a80: 61 72 67 73 2e 6f 20 20 20 20 3a 20 6d 74 61 72  args.o    : mtar
1a90: 67 73 2f 6d 74 61 72 67 73 2e 73 63 6d 0a 23 20  gs/mtargs.scm.# 
1aa0: 23 20 6d 6f 66 69 6c 65 73 2f 6d 74 63 6f 6e 66  # mofiles/mtconf
1ab0: 69 67 66 2e 6f 20 3a 20 6d 74 63 6f 6e 66 69 67  igf.o : mtconfig
1ac0: 66 2f 6d 74 63 6f 6e 66 69 67 66 2e 73 63 6d 0a  f/mtconfigf.scm.
1ad0: 23 20 6d 6f 66 69 6c 65 73 2f 75 6c 65 78 2e 6f  # mofiles/ulex.o
1ae0: 20 20 20 20 20 20 3a 20 75 6c 65 78 2f 75 6c 65        : ulex/ule
1af0: 78 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c 65 73 2f  x.scm.# mofiles/
1b00: 6d 75 74 69 6c 73 2e 6f 20 20 20 20 3a 20 6d 75  mutils.o    : mu
1b10: 74 69 6c 73 2f 6d 75 74 69 6c 73 2e 73 63 6d 0a  tils/mutils.scm.
1b20: 23 20 6d 6f 66 69 6c 65 73 2f 63 6f 6f 6b 69 65  # mofiles/cookie
1b30: 2e 6f 20 20 20 20 3a 20 73 74 6d 6c 32 2f 63 6f  .o    : stml2/co
1b40: 6f 6b 69 65 2e 73 63 6d 0a 23 20 6d 6f 66 69 6c  okie.scm.# mofil
1b50: 65 73 2f 73 74 6d 6c 32 2e 6f 20 20 20 20 20 3a  es/stml2.o     :
1b60: 20 73 74 6d 6c 32 2f 73 74 6d 6c 32 2e 73 63 6d   stml2/stml2.scm
1b70: 0a 0a 23 20 54 65 6d 70 6f 72 61 72 79 20 77 68  ..# Temporary wh
1b80: 69 6c 65 20 74 72 61 6e 73 69 74 69 6f 6e 69 6e  ile transitionin
1b90: 67 20 74 6f 20 6e 65 77 20 72 6f 75 74 69 6e 65  g to new routine
1ba0: 0a 23 20 72 75 6e 73 2e 6f 20 3a 20 72 75 6e 2d  .# runs.o : run-
1bb0: 74 65 73 74 73 2d 71 75 65 75 65 2d 63 6c 61 73  tests-queue-clas
1bc0: 73 69 63 2e 73 63 6d 20 20 72 75 6e 2d 74 65 73  sic.scm  run-tes
1bd0: 74 73 2d 71 75 65 75 65 2d 6e 65 77 2e 73 63 6d  ts-queue-new.scm
1be0: 0a 0a 23 20 66 6f 72 20 74 68 65 20 6d 6f 64 75  ..# for the modu
1bf0: 6c 61 72 69 7a 65 64 20 73 74 75 66 66 0a 6d 6f  larized stuff.mo
1c00: 66 69 6c 65 73 2f 72 6d 74 6d 6f 64 2e 6f 20 3a  files/rmtmod.o :
1c10: 20 6d 6f 66 69 6c 65 73 2f 63 6f 6d 6d 6f 6e 6d   mofiles/commonm
1c20: 6f 64 2e 6f 0a 0a 6d 65 67 61 74 65 73 74 2d 66  od.o..megatest-f
1c30: 6f 73 73 69 6c 2d 68 61 73 68 2e 73 63 6d 20 3a  ossil-hash.scm :
1c40: 20 24 28 53 52 43 46 49 4c 45 53 29 20 6d 65 67   $(SRCFILES) meg
1c50: 61 74 65 73 74 2e 73 63 6d 20 2a 5f 72 65 63 6f  atest.scm *_reco
1c60: 72 64 73 2e 73 63 6d 0a 09 65 63 68 6f 20 22 28  rds.scm..echo "(
1c70: 64 65 66 69 6e 65 20 6d 65 67 61 74 65 73 74 2d  define megatest-
1c80: 66 6f 73 73 69 6c 2d 68 61 73 68 20 5c 22 24 28  fossil-hash \"$(
1c90: 4d 54 45 53 54 48 41 53 48 29 5c 22 29 22 20 3e  MTESTHASH)\")" >
1ca0: 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c   megatest-fossil
1cb0: 2d 68 61 73 68 2e 6e 65 77 0a 09 69 66 20 21 20  -hash.new..if ! 
1cc0: 64 69 66 66 20 2d 71 20 6d 65 67 61 74 65 73 74  diff -q megatest
1cd0: 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 6e 65 77  -fossil-hash.new
1ce0: 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c   megatest-fossil
1cf0: 2d 68 61 73 68 2e 73 63 6d 20 3b 20 74 68 65 6e  -hash.scm ; then
1d00: 20 65 63 68 6f 20 63 6f 70 79 69 6e 67 20 2e 6e   echo copying .n
1d10: 65 77 20 74 6f 20 2e 73 63 6d 3b 63 70 20 2d 66  ew to .scm;cp -f
1d20: 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c   megatest-fossil
1d30: 2d 68 61 73 68 2e 6e 65 77 20 6d 65 67 61 74 65  -hash.new megate
1d40: 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e 73  st-fossil-hash.s
1d50: 63 6d 3b 66 69 0a 0a 24 28 4f 46 49 4c 45 53 29  cm;fi..$(OFILES)
1d60: 20 24 28 47 4f 46 49 4c 45 53 29 20 3a 20 63 6f   $(GOFILES) : co
1d70: 6d 6d 6f 6e 5f 72 65 63 6f 72 64 73 2e 73 63 6d  mmon_records.scm
1d80: 20 0a 0a 25 2e 6f 20 3a 20 25 2e 73 63 6d 20 24   ..%.o : %.scm $
1d90: 28 4d 4f 46 49 4c 45 53 29 0a 09 63 73 63 20 24  (MOFILES)..csc $
1da0: 28 43 53 43 4f 50 54 53 29 20 2d 63 20 24 3c 20  (CSCOPTS) -c $< 
1db0: 24 28 4d 4f 46 49 4c 45 53 29 0a 0a 24 28 50 52  $(MOFILES)..$(PR
1dc0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
1dd0: 48 53 54 52 29 2f 6d 74 65 73 74 20 3a 20 6d 74  HSTR)/mtest : mt
1de0: 65 73 74 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61  est utils/mk_wra
1df0: 70 70 65 72 0a 09 40 65 63 68 6f 20 49 6e 73 74  pper..@echo Inst
1e00: 61 6c 6c 69 6e 67 20 74 6f 20 50 52 45 46 49 58  alling to PREFIX
1e10: 3d 24 28 50 52 45 46 49 58 29 0a 09 24 28 49 4e  =$(PREFIX)..$(IN
1e20: 53 54 41 4c 4c 29 20 6d 74 65 73 74 20 24 28 50  STALL) mtest $(P
1e30: 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52  REFIX)/bin/.$(AR
1e40: 43 48 53 54 52 29 2f 6d 74 65 73 74 0a 09 75 74  CHSTR)/mtest..ut
1e50: 69 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 20 24  ils/mk_wrapper $
1e60: 28 50 52 45 46 49 58 29 20 6d 74 65 73 74 20 24  (PREFIX) mtest $
1e70: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 65 67  (PREFIX)/bin/meg
1e80: 61 74 65 73 74 0a 09 63 68 6d 6f 64 20 61 2b 78  atest..chmod a+x
1e90: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d   $(PREFIX)/bin/m
1ea0: 65 67 61 74 65 73 74 0a 0a 24 28 50 52 45 46 49  egatest..$(PREFI
1eb0: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
1ec0: 52 29 2f 6e 64 62 6f 61 72 64 20 3a 20 6e 64 62  R)/ndboard : ndb
1ed0: 6f 61 72 64 0a 09 24 28 49 4e 53 54 41 4c 4c 29  oard..$(INSTALL)
1ee0: 20 6e 64 62 6f 61 72 64 20 24 28 50 52 45 46 49   ndboard $(PREFI
1ef0: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
1f00: 52 29 2f 6e 64 62 6f 61 72 64 0a 0a 24 28 50 52  R)/ndboard..$(PR
1f10: 45 46 49 58 29 2f 62 69 6e 2f 6e 65 77 64 61 73  EFIX)/bin/newdas
1f20: 68 62 6f 61 72 64 20 3a 20 24 28 50 52 45 46 49  hboard : $(PREFI
1f30: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
1f40: 52 29 2f 6e 64 62 6f 61 72 64 20 75 74 69 6c 73  R)/ndboard utils
1f50: 2f 6d 6b 5f 77 72 61 70 70 65 72 0a 09 75 74 69  /mk_wrapper..uti
1f60: 6c 73 2f 6d 6b 5f 77 72 61 70 70 65 72 20 24 28  ls/mk_wrapper $(
1f70: 50 52 45 46 49 58 29 20 6e 64 62 6f 61 72 64 20  PREFIX) ndboard 
1f80: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e 65  $(PREFIX)/bin/ne
1f90: 77 64 61 73 68 62 6f 61 72 64 0a 09 63 68 6d 6f  wdashboard..chmo
1fa0: 64 20 61 2b 78 20 24 28 50 52 45 46 49 58 29 2f  d a+x $(PREFIX)/
1fb0: 62 69 6e 2f 6e 65 77 64 61 73 68 62 6f 61 72 64  bin/newdashboard
1fc0: 0a 0a 23 20 6d 74 75 74 69 6c 0a 0a 24 28 50 52  ..# mtutil..$(PR
1fd0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
1fe0: 48 53 54 52 29 2f 6d 74 75 74 20 3a 20 6d 74 75  HSTR)/mtut : mtu
1ff0: 74 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 6d 74  t..$(INSTALL) mt
2000: 75 74 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  ut $(PREFIX)/bin
2010: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 75  /.$(ARCHSTR)/mtu
2020: 74 0a 0a 69 6e 73 74 61 6c 6c 2d 6d 74 75 74 20  t..install-mtut 
2030: 3a 20 6d 74 75 74 0a 09 24 28 49 4e 53 54 41 4c  : mtut..$(INSTAL
2040: 4c 29 20 6d 74 75 74 20 24 28 50 52 45 46 49 58  L) mtut $(PREFIX
2050: 29 2f 62 69 6e 2f 6d 74 75 74 0a 0a 24 28 50 52  )/bin/mtut..$(PR
2060: 45 46 49 58 29 2f 62 69 6e 2f 6d 74 75 74 69 6c  EFIX)/bin/mtutil
2070: 20 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e   : $(PREFIX)/bin
2080: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 75  /.$(ARCHSTR)/mtu
2090: 74 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61 70 70  t utils/mk_wrapp
20a0: 65 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77 72 61  er..utils/mk_wra
20b0: 70 70 65 72 20 24 28 50 52 45 46 49 58 29 20 6d  pper $(PREFIX) m
20c0: 74 75 74 20 24 28 50 52 45 46 49 58 29 2f 62 69  tut $(PREFIX)/bi
20d0: 6e 2f 6d 74 75 74 69 6c 0a 09 63 68 6d 6f 64 20  n/mtutil..chmod 
20e0: 61 2b 78 20 24 28 50 52 45 46 49 58 29 2f 62 69  a+x $(PREFIX)/bi
20f0: 6e 2f 6d 74 75 74 69 6c 0a 0a 23 20 6d 74 65 78  n/mtutil..# mtex
2100: 65 63 0a 0a 6d 74 65 78 65 63 3a 20 24 28 4f 46  ec..mtexec: $(OF
2110: 49 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29  ILES) $(MOFILES)
2120: 20 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c   megatest-fossil
2130: 2d 68 61 73 68 2e 73 63 6d 20 6d 74 65 78 65 63  -hash.scm mtexec
2140: 2e 73 63 6d 0a 09 63 73 63 20 24 28 43 53 43 4f  .scm..csc $(CSCO
2150: 50 54 53 29 20 24 28 4f 46 49 4c 45 53 29 20 24  PTS) $(OFILES) $
2160: 28 4d 4f 46 49 4c 45 53 29 20 6d 74 65 78 65 63  (MOFILES) mtexec
2170: 2e 73 63 6d 20 2d 6f 20 6d 74 65 78 65 63 0a 0a  .scm -o mtexec..
2180: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
2190: 28 41 52 43 48 53 54 52 29 2f 6d 74 65 78 65 63  (ARCHSTR)/mtexec
21a0: 20 3a 20 6d 74 65 78 65 63 0a 09 24 28 49 4e 53   : mtexec..$(INS
21b0: 54 41 4c 4c 29 20 6d 74 65 78 65 63 20 24 28 50  TALL) mtexec $(P
21c0: 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52  REFIX)/bin/.$(AR
21d0: 43 48 53 54 52 29 2f 6d 74 65 78 65 63 0a 0a 24  CHSTR)/mtexec..$
21e0: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74 65  (PREFIX)/bin/mte
21f0: 78 65 63 20 3a 20 24 28 50 52 45 46 49 58 29 2f  xec : $(PREFIX)/
2200: 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f  bin/.$(ARCHSTR)/
2210: 6d 74 65 78 65 63 20 75 74 69 6c 73 2f 6d 6b 5f  mtexec utils/mk_
2220: 77 72 61 70 70 65 72 0a 09 75 74 69 6c 73 2f 6d  wrapper..utils/m
2230: 6b 5f 77 72 61 70 70 65 72 20 24 28 50 52 45 46  k_wrapper $(PREF
2240: 49 58 29 20 6d 74 65 78 65 63 20 24 28 50 52 45  IX) mtexec $(PRE
2250: 46 49 58 29 2f 62 69 6e 2f 6d 74 65 78 65 63 0a  FIX)/bin/mtexec.
2260: 09 63 68 6d 6f 64 20 61 2b 78 20 24 28 50 52 45  .chmod a+x $(PRE
2270: 46 49 58 29 2f 62 69 6e 2f 6d 74 65 78 65 63 0a  FIX)/bin/mtexec.
2280: 0a 23 20 74 63 6d 74 0a 0a 24 28 50 52 45 46 49  .# tcmt..$(PREFI
2290: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
22a0: 52 29 2f 74 63 6d 74 20 3a 20 74 63 6d 74 0a 09  R)/tcmt : tcmt..
22b0: 24 28 49 4e 53 54 41 4c 4c 29 20 74 63 6d 74 20  $(INSTALL) tcmt 
22c0: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
22d0: 28 41 52 43 48 53 54 52 29 2f 74 63 6d 74 0a 0a  (ARCHSTR)/tcmt..
22e0: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 74 63  $(PREFIX)/bin/tc
22f0: 6d 74 20 3a 20 24 28 50 52 45 46 49 58 29 2f 62  mt : $(PREFIX)/b
2300: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 74  in/.$(ARCHSTR)/t
2310: 63 6d 74 20 75 74 69 6c 73 2f 6d 6b 5f 77 72 61  cmt utils/mk_wra
2320: 70 70 65 72 0a 09 75 74 69 6c 73 2f 6d 6b 5f 77  pper..utils/mk_w
2330: 72 61 70 70 65 72 20 24 28 50 52 45 46 49 58 29  rapper $(PREFIX)
2340: 20 74 63 6d 74 20 24 28 50 52 45 46 49 58 29 2f   tcmt $(PREFIX)/
2350: 62 69 6e 2f 74 63 6d 74 0a 09 63 68 6d 6f 64 20  bin/tcmt..chmod 
2360: 61 2b 78 20 24 28 50 52 45 46 49 58 29 2f 62 69  a+x $(PREFIX)/bi
2370: 6e 2f 74 63 6d 74 0a 0a 24 28 50 52 45 46 49 58  n/tcmt..$(PREFIX
2380: 29 2f 62 69 6e 2f 6d 74 5f 6c 61 73 74 73 74 65  )/bin/mt_lastste
2390: 70 20 3a 20 75 74 69 6c 73 2f 6d 74 5f 6c 61 73  p : utils/mt_las
23a0: 74 73 74 65 70 0a 09 24 28 49 4e 53 54 41 4c 4c  tstep..$(INSTALL
23b0: 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61  ) $< $@..chmod a
23c0: 2b 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29  +x $@..$(PREFIX)
23d0: 2f 62 69 6e 2f 6d 74 5f 72 75 6e 73 74 65 70 20  /bin/mt_runstep 
23e0: 3a 20 75 74 69 6c 73 2f 6d 74 5f 72 75 6e 73 74  : utils/mt_runst
23f0: 65 70 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24  ep..$(INSTALL) $
2400: 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20  < $@..chmod a+x 
2410: 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69  $@..$(PREFIX)/bi
2420: 6e 2f 73 65 72 69 61 6c 69 7a 65 2d 65 6e 76 3a  n/serialize-env:
2430: 20 73 65 72 69 61 6c 69 7a 65 2d 65 6e 76 2e 73   serialize-env.s
2440: 63 6d 0a 09 63 73 63 20 73 65 72 69 61 6c 69 7a  cm..csc serializ
2450: 65 2d 65 6e 76 2e 73 63 6d 0a 09 24 28 49 4e 53  e-env.scm..$(INS
2460: 54 41 4c 4c 29 20 73 65 72 69 61 6c 69 7a 65 2d  TALL) serialize-
2470: 65 6e 76 20 24 40 0a 0a 24 28 50 52 45 46 49 58  env $@..$(PREFIX
2480: 29 2f 62 69 6e 2f 6d 74 5f 65 7a 73 74 65 70 20  )/bin/mt_ezstep 
2490: 3a 20 75 74 69 6c 73 2f 6d 74 5f 65 7a 73 74 65  : utils/mt_ezste
24a0: 70 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c  p..$(INSTALL) $<
24b0: 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24   $@..chmod a+x $
24c0: 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e  @..$(PREFIX)/bin
24d0: 2f 6d 74 5f 78 74 65 72 6d 20 3a 20 75 74 69 6c  /mt_xterm : util
24e0: 73 2f 6d 74 5f 78 74 65 72 6d 0a 09 24 28 49 4e  s/mt_xterm..$(IN
24f0: 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63 68  STALL) $< $@..ch
2500: 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24 28 50 52  mod a+x $@..$(PR
2510: 45 46 49 58 29 2f 62 69 6e 2f 6e 62 66 61 6b 65  EFIX)/bin/nbfake
2520: 20 3a 20 75 74 69 6c 73 2f 6e 62 66 61 6b 65 0a   : utils/nbfake.
2530: 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24  .$(INSTALL) $< $
2540: 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a  @..chmod a+x $@.
2550: 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 72  .$(PREFIX)/bin/r
2560: 65 6d 72 75 6e 20 3a 20 75 74 69 6c 73 2f 72 65  emrun : utils/re
2570: 6d 72 75 6e 0a 09 24 28 49 4e 53 54 41 4c 4c 29  mrun..$(INSTALL)
2580: 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b   $< $@..chmod a+
2590: 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58 29 2f  x $@..$(PREFIX)/
25a0: 62 69 6e 2f 76 69 65 77 73 63 72 65 65 6e 20 3a  bin/viewscreen :
25b0: 20 75 74 69 6c 73 2f 76 69 65 77 73 63 72 65 65   utils/viewscree
25c0: 6e 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c  n..$(INSTALL) $<
25d0: 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24   $@..chmod a+x $
25e0: 40 0a 0a 24 28 50 52 45 46 49 58 29 2f 62 69 6e  @..$(PREFIX)/bin
25f0: 2f 6e 62 66 69 6e 64 20 3a 20 75 74 69 6c 73 2f  /nbfind : utils/
2600: 6e 62 66 69 6e 64 0a 09 24 28 49 4e 53 54 41 4c  nbfind..$(INSTAL
2610: 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20  L) $< $@..chmod 
2620: 61 2b 78 20 24 40 0a 0a 24 28 50 52 45 46 49 58  a+x $@..$(PREFIX
2630: 29 2f 62 69 6e 2f 6d 74 72 75 6e 6e 65 72 20 3a  )/bin/mtrunner :
2640: 20 75 74 69 6c 73 2f 6d 74 72 75 6e 6e 65 72 0a   utils/mtrunner.
2650: 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24  .$(INSTALL) $< $
2660: 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a  @..chmod a+x $@.
2670: 0a 64 65 70 6c 6f 79 74 61 72 67 2f 6e 62 66 61  .deploytarg/nbfa
2680: 6b 65 20 3a 20 75 74 69 6c 73 2f 6e 62 66 61 6b  ke : utils/nbfak
2690: 65 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20 24 3c  e..$(INSTALL) $<
26a0: 20 24 40 0a 09 63 68 6d 6f 64 20 61 2b 78 20 24   $@..chmod a+x $
26b0: 40 0a 0a 64 65 70 6c 6f 79 74 61 72 67 2f 76 69  @..deploytarg/vi
26c0: 65 77 73 63 72 65 65 6e 20 3a 20 75 74 69 6c 73  ewscreen : utils
26d0: 2f 76 69 65 77 73 63 72 65 65 6e 0a 09 24 28 49  /viewscreen..$(I
26e0: 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a 09 63  NSTALL) $< $@..c
26f0: 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 64 65 70  hmod a+x $@..dep
2700: 6c 6f 79 74 61 72 67 2f 6e 62 66 69 6e 64 20 3a  loytarg/nbfind :
2710: 20 75 74 69 6c 73 2f 6e 62 66 69 6e 64 0a 09 24   utils/nbfind..$
2720: 28 49 4e 53 54 41 4c 4c 29 20 24 3c 20 24 40 0a  (INSTALL) $< $@.
2730: 09 63 68 6d 6f 64 20 61 2b 78 20 24 40 0a 0a 24  .chmod a+x $@..$
2740: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6d 74 65  (PREFIX)/bin/mte
2750: 73 74 2d 72 65 61 70 65 72 3a 20 68 65 6c 70 65  st-reaper: helpe
2760: 72 73 2f 6d 74 65 73 74 2d 72 65 61 70 65 72 2e  rs/mtest-reaper.
2770: 73 63 6d 20 68 65 6c 70 65 72 73 2f 64 75 63 74  scm helpers/duct
2780: 74 61 70 65 2d 6c 69 62 2e 73 63 6d 20 68 65 6c  tape-lib.scm hel
2790: 70 65 72 73 2f 69 6e 74 65 6c 64 61 74 65 2e 73  pers/inteldate.s
27a0: 63 6d 20 68 65 6c 70 65 72 73 2f 6d 69 6d 65 74  cm helpers/mimet
27b0: 79 70 65 73 2e 73 63 6d 0a 09 6d 61 6b 65 20 2d  ypes.scm..make -
27c0: 43 20 68 65 6c 70 65 72 73 20 24 40 20 50 52 45  C helpers $@ PRE
27d0: 46 49 58 3d 24 28 50 52 45 46 49 58 29 20 49 4e  FIX=$(PREFIX) IN
27e0: 53 54 41 4c 4c 3d 24 28 49 4e 53 54 41 4c 4c 29  STALL=$(INSTALL)
27f0: 20 41 52 43 48 53 54 52 3d 24 28 41 52 43 48 53   ARCHSTR=$(ARCHS
2800: 54 52 29 0a 0a 6d 74 65 73 74 2d 72 65 61 70 65  TR)..mtest-reape
2810: 72 3a 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  r: $(PREFIX)/bin
2820: 2f 6d 74 65 73 74 2d 72 65 61 70 65 72 0a 0a 23  /mtest-reaper..#
2830: 20 69 6e 73 74 61 6c 6c 20 64 61 73 68 62 6f 61   install dashboa
2840: 72 64 20 61 73 20 64 62 6f 61 72 64 20 73 6f 20  rd as dboard so 
2850: 77 72 61 70 70 65 72 20 73 63 72 69 70 74 20 63  wrapper script c
2860: 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 61 73  an be called das
2870: 68 62 6f 61 72 64 0a 24 28 50 52 45 46 49 58 29  hboard.$(PREFIX)
2880: 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29  /bin/.$(ARCHSTR)
2890: 2f 64 62 6f 61 72 64 20 3a 20 64 62 6f 61 72 64  /dboard : dboard
28a0: 20 24 28 46 49 4c 45 53 29 20 75 74 69 6c 73 2f   $(FILES) utils/
28b0: 6d 6b 5f 77 72 61 70 70 65 72 0a 09 75 74 69 6c  mk_wrapper..util
28c0: 73 2f 6d 6b 5f 77 72 61 70 70 65 72 20 24 28 50  s/mk_wrapper $(P
28d0: 52 45 46 49 58 29 20 64 62 6f 61 72 64 20 24 28  REFIX) dboard $(
28e0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 64 61 73 68  PREFIX)/bin/dash
28f0: 62 6f 61 72 64 0a 09 63 68 6d 6f 64 20 61 2b 78  board..chmod a+x
2900: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 64   $(PREFIX)/bin/d
2910: 61 73 68 62 6f 61 72 64 0a 09 24 28 49 4e 53 54  ashboard..$(INST
2920: 41 4c 4c 29 20 64 62 6f 61 72 64 20 24 28 50 52  ALL) dboard $(PR
2930: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
2940: 48 53 54 52 29 2f 64 62 6f 61 72 64 0a 0a 24 28  HSTR)/dboard..$(
2950: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
2960: 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69 62 70  RCHSTR)/lib/libp
2970: 61 6e 67 6f 78 2d 31 2e 30 2e 73 6f 20 3a 20 6c  angox-1.0.so : l
2980: 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30  ib/libpangox-1.0
2990: 2e 73 6f 0a 09 69 66 20 5b 5b 20 24 28 41 52 43  .so..if [[ $(ARC
29a0: 48 53 54 52 29 20 3d 3d 20 31 32 2e 35 20 5d 5d  HSTR) == 12.5 ]]
29b0: 3b 20 74 68 65 6e 20 5c 0a 09 6d 6b 64 69 72 20  ; then \..mkdir 
29c0: 2d 70 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e  -p $(PREFIX)/bin
29d0: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c 69 62  /.$(ARCHSTR)/lib
29e0: 3b 20 5c 0a 09 24 28 49 4e 53 54 41 4c 4c 29 20  ; \..$(INSTALL) 
29f0: 6c 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e  lib/libpangox-1.
2a00: 30 2e 73 6f 20 24 28 50 52 45 46 49 58 29 2f 62  0.so $(PREFIX)/b
2a10: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c  in/.$(ARCHSTR)/l
2a20: 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30  ib/libpangox-1.0
2a30: 2e 73 6f 3b 20 5c 0a 09 66 69 0a 0a 24 28 50 52  .so; \..fi..$(PR
2a40: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
2a50: 48 53 54 52 29 2f 6c 69 62 2f 6c 69 62 70 61 6e  HSTR)/lib/libpan
2a60: 67 6f 78 2d 31 2e 30 2e 73 6f 2e 30 20 3a 20 6c  gox-1.0.so.0 : l
2a70: 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30  ib/libpangox-1.0
2a80: 2e 73 6f 2e 30 0a 09 69 66 20 5b 5b 20 24 28 41  .so.0..if [[ $(A
2a90: 52 43 48 53 54 52 29 20 3d 3d 20 31 32 2e 35 20  RCHSTR) == 12.5 
2aa0: 5d 5d 3b 20 74 68 65 6e 20 5c 0a 09 6d 6b 64 69  ]]; then \..mkdi
2ab0: 72 20 2d 70 20 24 28 50 52 45 46 49 58 29 2f 62  r -p $(PREFIX)/b
2ac0: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c  in/.$(ARCHSTR)/l
2ad0: 69 62 3b 20 5c 0a 09 24 28 49 4e 53 54 41 4c 4c  ib; \..$(INSTALL
2ae0: 29 20 6c 69 62 2f 6c 69 62 70 61 6e 67 6f 78 2d  ) lib/libpangox-
2af0: 31 2e 30 2e 73 6f 2e 30 20 24 28 50 52 45 46 49  1.0.so.0 $(PREFI
2b00: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
2b10: 52 29 2f 6c 69 62 2f 6c 69 62 70 61 6e 67 6f 78  R)/lib/libpangox
2b20: 2d 31 2e 30 2e 73 6f 2e 30 3b 20 5c 0a 20 20 20  -1.0.so.0; \.   
2b30: 20 20 20 20 20 66 69 0a 0a 24 28 50 52 45 46 49       fi..$(PREFI
2b40: 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54  X)/bin/.$(ARCHST
2b50: 52 29 2f 6c 69 62 2f 6c 69 62 78 63 62 2d 78 6c  R)/lib/libxcb-xl
2b60: 69 62 2e 73 6f 2e 30 20 3a 20 6c 69 62 2f 6c 69  ib.so.0 : lib/li
2b70: 62 78 63 62 2d 78 6c 69 62 2e 73 6f 2e 30 0a 09  bxcb-xlib.so.0..
2b80: 69 66 20 5b 5b 20 24 28 41 52 43 48 53 54 52 29  if [[ $(ARCHSTR)
2b90: 20 3d 3d 20 31 32 2e 35 20 5d 5d 3b 20 74 68 65   == 12.5 ]]; the
2ba0: 6e 20 5c 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28  n \..mkdir -p $(
2bb0: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
2bc0: 52 43 48 53 54 52 29 2f 6c 69 62 3b 20 5c 0a 09  RCHSTR)/lib; \..
2bd0: 24 28 49 4e 53 54 41 4c 4c 29 20 6c 69 62 2f 6c  $(INSTALL) lib/l
2be0: 69 62 78 63 62 2d 78 6c 69 62 2e 73 6f 2e 30 20  ibxcb-xlib.so.0 
2bf0: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
2c00: 28 41 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69  (ARCHSTR)/lib/li
2c10: 62 78 63 62 2d 78 6c 69 62 2e 73 6f 2e 30 3b 20  bxcb-xlib.so.0; 
2c20: 5c 0a 20 20 20 20 20 20 20 20 66 69 0a 0a 69 6e  \.        fi..in
2c30: 73 74 61 6c 6c 20 3a 20 24 28 50 52 45 46 49 58  stall : $(PREFIX
2c40: 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53 54 52  )/bin/.$(ARCHSTR
2c50: 29 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  ) $(PREFIX)/bin/
2c60: 2e 24 28 41 52 43 48 53 54 52 29 2f 6d 74 65 73  .$(ARCHSTR)/mtes
2c70: 74 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f  t $(PREFIX)/bin/
2c80: 6d 65 67 61 74 65 73 74 20 5c 0a 20 20 20 20 20  megatest \.     
2c90: 20 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 62       $(PREFIX)/b
2ca0: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 64  in/.$(ARCHSTR)/d
2cb0: 62 6f 61 72 64 20 24 28 50 52 45 46 49 58 29 2f  board $(PREFIX)/
2cc0: 62 69 6e 2f 64 61 73 68 62 6f 61 72 64 20 24 28  bin/dashboard $(
2cd0: 48 45 4c 50 45 52 53 29 20 24 28 50 52 45 46 49  HELPERS) $(PREFI
2ce0: 58 29 2f 62 69 6e 2f 6e 62 66 61 6b 65 20 5c 0a  X)/bin/nbfake \.
2cf0: 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45 46            $(PREF
2d00: 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48 53  IX)/bin/.$(ARCHS
2d10: 54 52 29 2f 6d 74 65 78 65 63 20 24 28 50 52 45  TR)/mtexec $(PRE
2d20: 46 49 58 29 2f 62 69 6e 2f 6d 74 65 78 65 63 20  FIX)/bin/mtexec 
2d30: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 73 65  $(PREFIX)/bin/se
2d40: 72 69 61 6c 69 7a 65 2d 65 6e 76 20 5c 0a 09 20  rialize-env \.. 
2d50: 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 6e   $(PREFIX)/bin/n
2d60: 62 66 69 6e 64 20 24 28 50 52 45 46 49 58 29 2f  bfind $(PREFIX)/
2d70: 62 69 6e 2f 6d 74 72 75 6e 6e 65 72 20 24 28 50  bin/mtrunner $(P
2d80: 52 45 46 49 58 29 2f 62 69 6e 2f 76 69 65 77 73  REFIX)/bin/views
2d90: 63 72 65 65 6e 20 24 28 50 52 45 46 49 58 29 2f  creen $(PREFIX)/
2da0: 62 69 6e 2f 6d 74 5f 78 74 65 72 6d 20 5c 0a 09  bin/mt_xterm \..
2db0: 20 20 24 28 50 52 45 46 49 58 29 2f 73 68 61 72    $(PREFIX)/shar
2dc0: 65 2f 64 6f 63 73 2f 6d 65 67 61 74 65 73 74 5f  e/docs/megatest_
2dd0: 6d 61 6e 75 61 6c 2e 68 74 6d 6c 20 24 28 50 52  manual.html $(PR
2de0: 45 46 49 58 29 2f 62 69 6e 2f 72 65 6d 72 75 6e  EFIX)/bin/remrun
2df0: 20 5c 0a 09 20 20 24 28 50 52 45 46 49 58 29 2f   \..  $(PREFIX)/
2e00: 73 68 61 72 65 2f 64 6f 63 73 2f 6d 65 67 61 74  share/docs/megat
2e10: 65 73 74 5f 6d 61 6e 75 61 6c 2e 68 74 6d 6c 20  est_manual.html 
2e20: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 72 65  $(PREFIX)/bin/re
2e30: 6d 72 75 6e 20 24 28 50 52 45 46 49 58 29 2f 62  mrun $(PREFIX)/b
2e40: 69 6e 2f 6d 74 75 74 69 6c 20 5c 0a 09 20 20 24  in/mtutil \..  $
2e50: 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 74 63 6d  (PREFIX)/bin/tcm
2e60: 74 20 24 28 50 52 45 46 49 58 29 2f 73 68 61 72  t $(PREFIX)/shar
2e70: 65 2f 64 62 2f 6d 74 2d 70 67 2e 73 71 6c 20 5c  e/db/mt-pg.sql \
2e80: 0a 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45  .          $(PRE
2e90: 46 49 58 29 2f 73 68 61 72 65 2f 6a 73 2f 6a 71  FIX)/share/js/jq
2ea0: 75 65 72 79 2d 33 2e 31 2e 30 2e 73 6c 69 6d 2e  uery-3.1.0.slim.
2eb0: 6d 69 6e 2e 6a 73 20 5c 0a 20 20 20 20 20 20 20  min.js \.       
2ec0: 20 20 20 24 28 50 52 45 46 49 58 29 2f 62 69 6e     $(PREFIX)/bin
2ed0: 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6c 69 62  /.$(ARCHSTR)/lib
2ee0: 2f 6c 69 62 70 61 6e 67 6f 78 2d 31 2e 30 2e 73  /libpangox-1.0.s
2ef0: 6f 20 5c 0a 20 20 20 20 20 20 20 20 20 20 24 28  o \.          $(
2f00: 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41  PREFIX)/bin/.$(A
2f10: 52 43 48 53 54 52 29 2f 6c 69 62 2f 6c 69 62 70  RCHSTR)/lib/libp
2f20: 61 6e 67 6f 78 2d 31 2e 30 2e 73 6f 2e 30 20 5c  angox-1.0.so.0 \
2f30: 0a 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45  .          $(PRE
2f40: 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43 48  FIX)/bin/.$(ARCH
2f50: 53 54 52 29 2f 6c 69 62 2f 6c 69 62 78 63 62 2d  STR)/lib/libxcb-
2f60: 78 6c 69 62 2e 73 6f 2e 30 0a 23 20 20 20 20 20  xlib.so.0.#     
2f70: 20 20 20 20 24 28 50 52 45 46 49 58 29 2f 62 69      $(PREFIX)/bi
2f80: 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 2f 6e 64  n/.$(ARCHSTR)/nd
2f90: 62 6f 61 72 64 0a 0a 23 20 24 28 50 52 45 46 49  board..# $(PREFI
2fa0: 58 29 2f 62 69 6e 2f 6e 65 77 64 61 73 68 62 6f  X)/bin/newdashbo
2fb0: 61 72 64 0a 0a 24 28 50 52 45 46 49 58 29 2f 62  ard..$(PREFIX)/b
2fc0: 69 6e 2f 2e 24 28 41 52 43 48 53 54 52 29 20 3a  in/.$(ARCHSTR) :
2fd0: 20 0a 09 6d 6b 64 69 72 20 2d 70 20 24 28 50 52   ..mkdir -p $(PR
2fe0: 45 46 49 58 29 2f 62 69 6e 2f 2e 24 28 41 52 43  EFIX)/bin/.$(ARC
2ff0: 48 53 54 52 29 0a 09 6d 6b 64 69 72 20 2d 70 20  HSTR)..mkdir -p 
3000: 24 28 50 52 45 46 49 58 29 2f 62 69 6e 2f 2e 24  $(PREFIX)/bin/.$
3010: 28 41 52 43 48 53 54 52 29 2f 6c 69 62 0a 0a 74  (ARCHSTR)/lib..t
3020: 65 73 74 3a 20 74 65 73 74 73 2f 74 65 73 74 73  est: tests/tests
3030: 2e 73 63 6d 0a 09 63 64 20 74 65 73 74 73 3b 63  .scm..cd tests;c
3040: 73 69 20 2d 49 20 2e 2e 20 2d 62 20 2d 6e 20 74  si -I .. -b -n t
3050: 65 73 74 73 2e 73 63 6d 0a 0a 65 78 74 2d 74 65  ests.scm..ext-te
3060: 73 74 73 2f 2e 66 73 6c 63 6b 6f 75 74 20 3a 20  sts/.fslckout : 
3070: 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29 0a 09  $(MTQA_FOSSIL)..
3080: 6d 6b 64 69 72 20 2d 70 20 65 78 74 2d 74 65 73  mkdir -p ext-tes
3090: 74 73 0a 09 63 64 20 65 78 74 2d 74 65 73 74 73  ts..cd ext-tests
30a0: 3b 66 6f 73 73 69 6c 20 6f 70 65 6e 20 2d 2d 6e  ;fossil open --n
30b0: 65 73 74 65 64 20 24 28 4d 54 51 41 5f 46 4f 53  ested $(MTQA_FOS
30c0: 53 49 4c 29 0a 0a 24 28 4d 54 51 41 5f 46 4f 53  SIL)..$(MTQA_FOS
30d0: 53 49 4c 29 20 3a 0a 09 66 6f 73 73 69 6c 20 63  SIL) :..fossil c
30e0: 6c 6f 6e 65 20 68 74 74 70 73 3a 2f 2f 77 77 77  lone https://www
30f0: 2e 6b 69 61 74 6f 61 2e 63 6f 6d 2f 66 6f 73 73  .kiatoa.com/foss
3100: 69 6c 73 2f 6d 65 67 61 74 65 73 74 5f 71 61 20  ils/megatest_qa 
3110: 24 28 4d 54 51 41 5f 46 4f 53 53 49 4c 29 0a 0a  $(MTQA_FOSSIL)..
3120: 63 6c 65 61 6e 20 3a 20 0a 09 72 6d 20 2d 66 20  clean : ..rm -f 
3130: 24 28 4f 46 49 4c 45 53 29 20 24 28 47 4f 46 49  $(OFILES) $(GOFI
3140: 4c 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20  LES) $(MOFILES) 
3150: 24 28 54 43 4d 54 4f 42 4a 53 29 09 09 5c 0a 20  $(TCMTOBJS)..\. 
3160: 20 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45             $(PRE
3170: 46 49 58 29 2f 6d 65 67 61 74 65 73 74 20 24 28  FIX)/megatest $(
3180: 50 52 45 46 49 58 29 2f 64 61 73 68 62 6f 61 72  PREFIX)/dashboar
3190: 64 20 6d 74 65 73 74 20 6d 74 75 74 69 6c 20 6d  d mtest mtutil m
31a0: 74 75 74 09 5c 0a 20 20 20 20 20 20 20 20 20 20  tut.\.          
31b0: 20 20 74 63 6d 74 20 72 65 61 64 6c 69 6e 65 2d    tcmt readline-
31c0: 66 69 78 2e 73 63 6d 20 73 65 72 69 61 6c 69 7a  fix.scm serializ
31d0: 65 2d 65 6e 76 20 64 62 6f 61 72 64 20 2a 2e 6f  e-env dboard *.o
31e0: 09 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20 20  ..\.            
31f0: 6d 65 67 61 74 65 73 74 2d 66 6f 73 73 69 6c 2d  megatest-fossil-
3200: 68 61 73 68 2e 2a 20 61 6c 74 64 62 2e 73 63 6d  hash.* altdb.scm
3210: 20 6d 6f 66 69 6c 65 73 2f 2a 2e 6f 20 20 20 20   mofiles/*.o    
3220: 20 20 20 20 20 20 20 20 20 20 20 20 5c 0a 20 20              \.  
3230: 20 20 20 20 20 20 20 20 20 20 6d 6f 66 69 6c 65            mofile
3240: 73 2f 2a 2e 6f 20 76 67 2e 6f 20 63 6f 6f 6b 69  s/*.o vg.o cooki
3250: 65 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d 6d 61  e.o dashboard-ma
3260: 69 6e 2e 6f 09 20 20 20 20 20 20 20 20 20 20 20  in.o.           
3270: 20 20 20 20 20 5c 0a 20 20 20 20 20 20 20 20 20       \.         
3280: 20 20 20 64 75 63 74 74 61 70 65 2d 6c 69 62 2e     ducttape-lib.
3290: 6f 20 66 74 61 69 6c 2e 6f 20 6d 75 74 69 6c 73  o ftail.o mutils
32a0: 2e 6f 20 70 6b 74 73 2e 6f 20 72 6d 74 6d 6f 64  .o pkts.o rmtmod
32b0: 2e 6f 20 73 74 6d 6c 32 2e 6f 09 5c 0a 20 20 20  .o stml2.o.\.   
32c0: 20 20 20 20 20 20 20 20 20 74 63 6d 74 2e 6f 20           tcmt.o 
32d0: 2a 2e 69 6d 70 6f 72 74 2e 73 63 6d 20 2a 2e 69  *.import.scm *.i
32e0: 6d 70 6f 72 74 2e 6f 0a 09 72 6d 20 2d 66 20 24  mport.o..rm -f $
32f0: 28 4f 46 49 4c 45 53 29 20 24 28 47 4f 46 49 4c  (OFILES) $(GOFIL
3300: 45 53 29 20 24 28 4d 4f 46 49 4c 45 53 29 20 24  ES) $(MOFILES) $
3310: 28 54 43 4d 54 4f 42 4a 53 29 09 09 5c 0a 20 20  (TCMTOBJS)..\.  
3320: 20 20 20 20 20 20 20 20 20 20 24 28 50 52 45 46            $(PREF
3330: 49 58 29 2f 6d 65 67 61 74 65 73 74 20 24 28 50  IX)/megatest $(P
3340: 52 45 46 49 58 29 2f 64 61 73 68 62 6f 61 72 64  REFIX)/dashboard
3350: 20 6d 74 65 73 74 20 6d 74 75 74 69 6c 20 6d 74   mtest mtutil mt
3360: 75 74 09 5c 0a 20 20 20 20 20 20 20 20 20 20 20  ut.\.           
3370: 20 74 63 6d 74 20 66 74 61 69 6c 2e 69 6d 70 6f   tcmt ftail.impo
3380: 72 74 2e 73 63 6d 20 72 65 61 64 6c 69 6e 65 2d  rt.scm readline-
3390: 66 69 78 2e 73 63 6d 20 73 65 72 69 61 6c 69 7a  fix.scm serializ
33a0: 65 2d 65 6e 76 09 5c 0a 20 20 20 20 20 20 20 20  e-env.\.        
33b0: 20 20 20 20 64 62 6f 61 72 64 20 64 62 6f 61 72      dboard dboar
33c0: 64 2e 6f 20 6d 65 67 61 74 65 73 74 2e 6f 20 64  d.o megatest.o d
33d0: 61 73 68 62 6f 61 72 64 2e 6f 09 09 09 5c 0a 20  ashboard.o...\. 
33e0: 20 20 20 20 20 20 20 20 20 20 20 6d 65 67 61 74             megat
33f0: 65 73 74 2d 66 6f 73 73 69 6c 2d 68 61 73 68 2e  est-fossil-hash.
3400: 2a 20 61 6c 74 64 62 2e 73 63 6d 20 6d 6f 66 69  * altdb.scm mofi
3410: 6c 65 73 2f 2a 2e 6f 20 76 67 2e 6f 0a 09 72 6d  les/*.o vg.o..rm
3420: 20 2d 72 66 20 73 68 61 72 65 0a 0a 23 3d 3d 3d   -rf share..#===
3430: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3440: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3450: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3460: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3470: 3d 3d 3d 0a 23 20 4d 61 6b 65 20 74 68 65 20 72  ===.# Make the r
3480: 65 63 6f 72 64 73 20 66 69 6c 65 73 0a 23 3d 3d  ecords files.#==
3490: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
34a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
34b0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
34c0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
34d0: 3d 3d 3d 3d 0a 0a 23 20 76 67 5f 72 65 63 6f 72  ====..# vg_recor
34e0: 64 73 2e 73 63 6d 20 3a 20 72 65 63 6f 72 64 73  ds.scm : records
34f0: 2e 73 68 0a 23 09 2e 2f 72 65 63 6f 72 64 73 2e  .sh.#../records.
3500: 73 68 0a 0a 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  sh..#===========
3510: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3520: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3530: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3540: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 23 20 44 65  ===========.# De
3550: 70 6c 6f 79 20 73 65 63 74 69 6f 6e 20 28 6e 6f  ploy section (no
3560: 74 20 63 6f 6d 70 6c 65 74 65 20 79 65 74 29 0a  t complete yet).
3570: 23 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  #===============
3580: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
3590: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
35a0: 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d  ================
35b0: 3d 3d 3d 3d 3d 3d 3d 0a 0a 24 28 44 45 50 4c 4f  =======..$(DEPLO
35c0: 59 48 45 4c 50 45 52 53 29 20 3a 20 75 74 69 6c  YHELPERS) : util
35d0: 73 2f 6d 74 5f 2a 0a 09 24 28 49 4e 53 54 41 4c  s/mt_*..$(INSTAL
35e0: 4c 29 20 24 3c 20 24 40 0a 09 63 68 6d 6f 64 20  L) $< $@..chmod 
35f0: 61 2b 58 20 24 40 0a 0a 64 65 70 6c 6f 79 74 61  a+X $@..deployta
3600: 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 20 3a 20  rg/apropos.so : 
3610: 4d 61 6b 65 66 69 6c 65 0a 09 63 68 69 63 6b 65  Makefile..chicke
3620: 6e 2d 69 6e 73 74 61 6c 6c 20 2d 70 20 64 65 70  n-install -p dep
3630: 6c 6f 79 74 61 72 67 20 2d 64 65 70 6c 6f 79 20  loytarg -deploy 
3640: 2d 6b 65 65 70 2d 69 6e 73 74 61 6c 6c 65 64 20  -keep-installed 
3650: 24 28 45 47 47 53 29 0a 0a 64 65 70 6c 6f 79 20  $(EGGS)..deploy 
3660: 3a 20 64 65 70 6c 6f 79 74 61 72 67 2f 6d 74 65  : deploytarg/mte
3670: 73 74 20 64 65 70 6c 6f 79 74 61 72 67 2f 64 62  st deploytarg/db
3680: 6f 61 72 64 20 24 28 44 45 50 4c 4f 59 48 45 4c  oard $(DEPLOYHEL
3690: 50 45 52 53 29 20 64 65 70 6c 6f 79 74 61 72 67  PERS) deploytarg
36a0: 2f 6e 62 66 61 6b 65 20 64 65 70 6c 6f 79 74 61  /nbfake deployta
36b0: 72 67 2f 72 65 6d 72 75 6e 20 64 65 70 6c 6f 79  rg/remrun deploy
36c0: 74 61 72 67 2f 76 69 65 77 73 63 65 65 6e 20 64  targ/viewsceen d
36d0: 65 70 6c 6f 79 74 61 72 67 2f 6e 62 66 69 6e 64  eploytarg/nbfind
36e0: 20 64 65 70 6c 6f 79 74 61 72 67 2f 61 70 72 6f   deploytarg/apro
36f0: 70 6f 73 2e 73 6f 0a 0a 23 20 70 75 74 73 20 64  pos.so..# puts d
3700: 65 70 6c 6f 79 65 64 20 6d 65 67 61 74 65 73 74  eployed megatest
3710: 20 69 6e 20 64 69 72 65 63 74 6f 72 79 20 22 6d   in directory "m
3720: 65 67 61 74 65 73 74 22 0a 64 65 70 6c 6f 79 74  egatest".deployt
3730: 61 72 67 2f 6d 74 65 73 74 20 3a 20 24 28 4f 46  arg/mtest : $(OF
3740: 49 4c 45 53 29 20 6d 65 67 61 74 65 73 74 2e 6f  ILES) megatest.o
3750: 20 64 65 70 6c 6f 79 74 61 72 67 2f 61 70 72 6f   deploytarg/apro
3760: 70 6f 73 2e 73 6f 0a 09 63 73 63 20 2d 64 65 70  pos.so..csc -dep
3770: 6c 6f 79 20 24 28 43 53 43 4f 50 54 53 29 20 24  loy $(CSCOPTS) $
3780: 28 4f 46 49 4c 45 53 29 20 6d 65 67 61 74 65 73  (OFILES) megates
3790: 74 2e 73 63 6d 20 2d 6f 20 64 65 70 6c 6f 79 74  t.scm -o deployt
37a0: 61 72 67 0a 09 6d 76 20 64 65 70 6c 6f 79 74 61  arg..mv deployta
37b0: 72 67 2f 64 65 70 6c 6f 79 74 61 72 67 20 64 65  rg/deploytarg de
37c0: 70 6c 6f 79 74 61 72 67 2f 6d 74 65 73 74 0a 0a  ploytarg/mtest..
37d0: 64 65 70 6c 6f 79 74 61 72 67 2f 64 62 6f 61 72  deploytarg/dboar
37e0: 64 20 3a 20 20 24 28 4f 46 49 4c 45 53 29 20 24  d :  $(OFILES) $
37f0: 28 47 4f 46 49 4c 45 53 29 20 64 61 73 68 62 6f  (GOFILES) dashbo
3800: 61 72 64 2e 73 63 6d 20 64 65 70 6c 6f 79 74 61  ard.scm deployta
3810: 72 67 2f 61 70 72 6f 70 6f 73 2e 73 6f 0a 09 63  rg/apropos.so..c
3820: 73 63 20 2d 64 65 70 6c 6f 79 20 24 28 4f 46 49  sc -deploy $(OFI
3830: 4c 45 53 29 20 24 28 47 4f 46 49 4c 45 53 29 20  LES) $(GOFILES) 
3840: 64 61 73 68 62 6f 61 72 64 2e 73 63 6d 20 2d 6f  dashboard.scm -o
3850: 20 64 65 70 6c 6f 79 74 61 72 67 0a 09 6d 76 20   deploytarg..mv 
3860: 64 65 70 6c 6f 79 74 61 72 67 2f 64 65 70 6c 6f  deploytarg/deplo
3870: 79 74 61 72 67 20 64 65 70 6c 6f 79 74 61 72 67  ytarg deploytarg
3880: 2f 64 62 6f 61 72 64 0a 0a 64 61 74 61 73 68 61  /dboard..datasha
3890: 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 20 3a 20  re-testing/sd : 
38a0: 64 61 74 61 73 68 61 72 65 2e 73 63 6d 20 24 28  datashare.scm $(
38b0: 4f 46 49 4c 45 53 29 0a 09 63 73 63 20 24 28 43  OFILES)..csc $(C
38c0: 53 43 4f 50 54 53 29 20 64 61 74 61 73 68 61 72  SCOPTS) datashar
38d0: 65 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29 20  e.scm $(OFILES) 
38e0: 2d 6f 20 64 61 74 61 73 68 61 72 65 2d 74 65 73  -o datashare-tes
38f0: 74 69 6e 67 2f 73 64 0a 0a 64 61 74 61 73 68 61  ting/sd..datasha
3900: 72 65 2d 74 65 73 74 69 6e 67 2f 73 64 61 74 3a  re-testing/sdat:
3910: 20 73 68 61 72 65 64 61 74 2e 73 63 6d 20 24 28   sharedat.scm $(
3920: 4f 46 49 4c 45 53 29 0a 09 63 73 63 20 24 28 43  OFILES)..csc $(C
3930: 53 43 4f 50 54 53 29 20 73 68 61 72 65 64 61 74  SCOPTS) sharedat
3940: 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29 20 2d  .scm $(OFILES) -
3950: 6f 20 64 61 74 61 73 68 61 72 65 2d 74 65 73 74  o datashare-test
3960: 69 6e 67 2f 73 64 61 74 0a 0a 73 64 20 3a 20 64  ing/sdat..sd : d
3970: 61 74 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67  atashare-testing
3980: 2f 73 64 0a 09 6d 6b 64 69 72 20 2d 70 20 2f 74  /sd..mkdir -p /t
3990: 6d 70 2f 24 28 55 53 45 52 29 2f 64 61 74 61 73  mp/$(USER)/datas
39a0: 68 61 72 65 2f 64 69 73 6b 31 20 2f 74 6d 70 2f  hare/disk1 /tmp/
39b0: 24 28 55 53 45 52 29 2f 62 61 73 65 70 61 74 68  $(USER)/basepath
39c0: 0a 0a 78 74 65 72 6d 20 3a 20 73 64 0a 09 28 65  ..xterm : sd..(e
39d0: 78 70 6f 72 74 20 42 41 53 45 50 41 54 48 3d 2f  xport BASEPATH=/
39e0: 74 6d 70 2f 24 28 55 53 45 52 29 2f 62 61 73 65  tmp/$(USER)/base
39f0: 70 61 74 68 20 3b 20 65 78 70 6f 72 74 20 50 41  path ; export PA
3a00: 54 48 3d 22 24 28 50 57 44 29 2f 64 61 74 61 73  TH="$(PWD)/datas
3a10: 68 61 72 65 2d 74 65 73 74 69 6e 67 3a 24 28 50  hare-testing:$(P
3a20: 41 54 48 29 22 20 3b 20 78 74 65 72 6d 20 26 29  ATH)" ; xterm &)
3a30: 0a 0a 64 61 74 61 73 68 61 72 65 2d 74 65 73 74  ..datashare-test
3a40: 69 6e 67 2f 73 70 75 62 6c 69 73 68 20 3a 20 73  ing/spublish : s
3a50: 70 75 62 6c 69 73 68 2e 73 63 6d 20 24 28 4f 46  publish.scm $(OF
3a60: 49 4c 45 53 29 20 6d 65 67 61 74 65 73 74 2d 76  ILES) megatest-v
3a70: 65 72 73 69 6f 6e 2e 73 63 6d 0a 09 63 73 63 20  ersion.scm..csc 
3a80: 24 28 43 53 43 4f 50 54 53 29 20 73 70 75 62 6c  $(CSCOPTS) spubl
3a90: 69 73 68 2e 73 63 6d 20 6d 61 72 67 73 2e 6f 20  ish.scm margs.o 
3aa0: 70 72 6f 63 65 73 73 2e 6f 20 63 6f 6d 6d 6f 6e  process.o common
3ab0: 2e 6f 20 20 2d 6f 20 64 61 74 61 73 68 61 72 65  .o  -o datashare
3ac0: 2d 74 65 73 74 69 6e 67 2f 73 70 75 62 6c 69 73  -testing/spublis
3ad0: 68 0a 0a 64 61 74 61 73 68 61 72 65 2d 74 65 73  h..datashare-tes
3ae0: 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65 20 3a  ting/sretrieve :
3af0: 20 73 72 65 74 72 69 65 76 65 2e 73 63 6d 20 24   sretrieve.scm $
3b00: 28 4f 46 49 4c 45 53 29 20 6d 65 67 61 74 65 73  (OFILES) megates
3b10: 74 2d 76 65 72 73 69 6f 6e 2e 73 63 6d 0a 09 63  t-version.scm..c
3b20: 73 63 20 24 28 43 53 43 4f 50 54 53 29 20 73 72  sc $(CSCOPTS) sr
3b30: 65 74 72 69 65 76 65 2e 73 63 6d 20 6d 61 72 67  etrieve.scm marg
3b40: 73 2e 6f 20 70 72 6f 63 65 73 73 2e 6f 20 63 6f  s.o process.o co
3b50: 6d 6d 6f 6e 2e 6f 20 20 2d 6f 20 64 61 74 61 73  mmon.o  -o datas
3b60: 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73 72 65  hare-testing/sre
3b70: 74 72 69 65 76 65 0a 0a 0a 64 61 74 61 73 68 61  trieve...datasha
3b80: 72 65 2d 74 65 73 74 69 6e 67 2f 73 61 75 74 68  re-testing/sauth
3b90: 6f 72 69 7a 65 20 3a 20 73 61 75 74 68 6f 72 69  orize : sauthori
3ba0: 7a 65 2e 73 63 6d 20 24 28 4f 46 49 4c 45 53 29  ze.scm $(OFILES)
3bb0: 20 6d 65 67 61 74 65 73 74 2d 76 65 72 73 69 6f   megatest-versio
3bc0: 6e 2e 73 63 6d 0a 09 20 63 73 63 20 24 28 43 53  n.scm.. csc $(CS
3bd0: 43 4f 50 54 53 29 20 73 61 75 74 68 6f 72 69 7a  COPTS) sauthoriz
3be0: 65 2e 73 63 6d 20 6d 61 72 67 73 2e 6f 20 70 72  e.scm margs.o pr
3bf0: 6f 63 65 73 73 2e 6f 20 63 6f 6d 6d 6f 6e 2e 6f  ocess.o common.o
3c00: 20 20 2d 6f 20 64 61 74 61 73 68 61 72 65 2d 74    -o datashare-t
3c10: 65 73 74 69 6e 67 2f 73 61 75 74 68 6f 72 69 7a  esting/sauthoriz
3c20: 65 0a 0a 73 61 75 74 68 2d 69 6e 69 74 3a 0a 09  e..sauth-init:..
3c30: 6d 6b 64 69 72 20 2d 70 20 20 64 61 74 61 73 68  mkdir -p  datash
3c40: 61 72 65 2d 74 65 73 74 69 6e 67 0a 09 72 6d 20  are-testing..rm 
3c50: 20 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69   datashare-testi
3c60: 6e 67 2f 73 61 75 74 68 6f 72 69 7a 65 0a 09 72  ng/sauthorize..r
3c70: 6d 20 20 64 61 74 61 73 68 61 72 65 2d 74 65 73  m  datashare-tes
3c80: 74 69 6e 67 2f 73 72 65 74 72 69 65 76 65 20 0a  ting/sretrieve .
3c90: 09 72 6d 20 20 64 61 74 61 73 68 61 72 65 2d 74  .rm  datashare-t
3ca0: 65 73 74 69 6e 67 2f 73 70 75 62 6c 69 73 68 0a  esting/spublish.
3cb0: 0a 73 61 75 74 68 20 3a 20 73 61 75 74 68 2d 69  .sauth : sauth-i
3cc0: 6e 69 74 20 64 61 74 61 73 68 61 72 65 2d 74 65  nit datashare-te
3cd0: 73 74 69 6e 67 2f 73 61 75 74 68 6f 72 69 7a 65  sting/sauthorize
3ce0: 20 64 61 74 61 73 68 61 72 65 2d 74 65 73 74 69   datashare-testi
3cf0: 6e 67 2f 73 72 65 74 72 69 65 76 65 20 64 61 74  ng/sretrieve dat
3d00: 61 73 68 61 72 65 2d 74 65 73 74 69 6e 67 2f 73  ashare-testing/s
3d10: 70 75 62 6c 69 73 68 20 0a 0a 72 65 61 64 6c 69  publish ..readli
3d20: 6e 65 2d 66 69 78 2e 73 63 6d 20 3a 0a 09 65 63  ne-fix.scm :..ec
3d30: 68 6f 20 22 28 64 65 66 69 6e 65 20 2a 75 73 65  ho "(define *use
3d40: 2d 6e 65 77 2d 72 65 61 64 6c 69 6e 65 2a 20 23  -new-readline* #
3d50: 74 29 22 20 3e 20 72 65 61 64 6c 69 6e 65 2d 66  t)" > readline-f
3d60: 69 78 2e 73 63 6d 0a 0a 61 6c 74 64 62 2e 73 63  ix.scm..altdb.sc
3d70: 6d 20 3a 0a 09 65 63 68 6f 20 22 3b 3b 20 6f 70  m :..echo ";; op
3d80: 74 69 6f 6e 61 6c 20 61 6c 74 65 72 6e 61 74 65  tional alternate
3d90: 20 64 62 20 73 65 74 75 70 22 20 3e 20 61 6c 74   db setup" > alt
3da0: 64 62 2e 73 63 6d 0a 09 65 63 68 6f 20 22 28 64  db.scm..echo "(d
3db0: 65 66 69 6e 65 20 2a 61 76 61 69 6c 61 62 6c 65  efine *available
3dc0: 2d 64 62 2a 20 28 6d 61 6b 65 2d 68 61 73 68 2d  -db* (make-hash-
3dd0: 74 61 62 6c 65 29 29 22 20 3e 3e 20 61 6c 74 64  table))" >> altd
3de0: 62 2e 73 63 6d 0a 09 69 66 20 20 63 73 69 20 2d  b.scm..if  csi -
3df0: 6e 65 20 27 28 75 73 65 20 6d 79 73 71 6c 2d 63  ne '(use mysql-c
3e00: 6c 69 65 6e 74 29 27 3b 74 68 65 6e 20 5c 0a 20  lient)';then \. 
3e10: 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22            echo "
3e20: 28 75 73 65 20 6d 79 73 71 6c 2d 63 6c 69 65 6e  (use mysql-clien
3e30: 74 29 28 68 61 73 68 2d 74 61 62 6c 65 2d 73 65  t)(hash-table-se
3e40: 74 21 20 2a 61 76 61 69 6c 61 62 6c 65 2d 64 62  t! *available-db
3e50: 2a 20 27 6d 79 73 71 6c 20 23 74 29 22 20 3e 3e  * 'mysql #t)" >>
3e60: 20 61 6c 74 64 62 2e 73 63 6d 3b 20 5c 0a 09 66   altdb.scm; \..f
3e70: 69 0a 09 69 66 20 63 73 69 20 2d 6e 65 20 27 28  i..if csi -ne '(
3e80: 75 73 65 20 70 6f 73 74 67 72 65 73 71 6c 29 27  use postgresql)'
3e90: 3b 74 68 65 6e 20 5c 0a 09 20 20 20 65 63 68 6f  ;then \..   echo
3ea0: 20 22 28 75 73 65 20 70 6f 73 74 67 72 65 73 71   "(use postgresq
3eb0: 6c 29 28 68 61 73 68 2d 74 61 62 6c 65 2d 73 65  l)(hash-table-se
3ec0: 74 21 20 2a 61 76 61 69 6c 61 62 6c 65 2d 64 62  t! *available-db
3ed0: 2a 20 27 70 6f 73 74 67 72 65 73 71 6c 20 23 74  * 'postgresql #t
3ee0: 29 22 20 3e 3e 20 61 6c 74 64 62 2e 73 63 6d 3b  )" >> altdb.scm;
3ef0: 5c 0a 09 66 69 0a 0a 70 6f 72 74 6c 6f 67 67 65  \..fi..portlogge
3f00: 72 2d 65 78 61 6d 70 6c 65 20 3a 20 70 6f 72 74  r-example : port
3f10: 6c 6f 67 67 65 72 2d 65 78 61 6d 70 6c 65 2e 73  logger-example.s
3f20: 63 6d 20 61 70 69 2e 6f 20 61 72 63 68 69 76 65  cm api.o archive
3f30: 2e 6f 20 63 6c 69 65 6e 74 2e 6f 20 63 6f 6d 6d  .o client.o comm
3f40: 6f 6e 2e 6f 20 63 6f 6e 66 69 67 66 2e 6f 20 64  on.o configf.o d
3f50: 61 73 68 62 6f 61 72 64 2d 74 65 73 74 73 2e 6f  ashboard-tests.o
3f60: 20 64 61 73 68 62 6f 61 72 64 2d 63 6f 6e 74 65   dashboard-conte
3f70: 78 74 2d 6d 65 6e 75 2e 6f 20 64 62 2e 6f 20 64  xt-menu.o db.o d
3f80: 63 6f 6d 6d 6f 6e 2e 6f 20 65 7a 73 74 65 70 73  common.o ezsteps
3f90: 2e 6f 20 66 69 6c 65 64 62 2e 6f 20 67 65 6e 65  .o filedb.o gene
3fa0: 78 61 6d 70 6c 65 2e 6f 20 67 75 74 69 6c 73 2e  xample.o gutils.
3fb0: 6f 20 68 74 74 70 2d 74 72 61 6e 73 70 6f 72 74  o http-transport
3fc0: 2e 6f 20 69 74 65 6d 73 2e 6f 20 6b 65 79 73 2e  .o items.o keys.
3fd0: 6f 20 6c 61 75 6e 63 68 2e 6f 20 6c 6f 63 6b 2d  o launch.o lock-
3fe0: 71 75 65 75 65 2e 6f 20 6d 61 72 67 73 2e 6f 20  queue.o margs.o 
3ff0: 6d 74 2e 6f 20 6f 64 73 2e 6f 20 70 6f 72 74 6c  mt.o ods.o portl
4000: 6f 67 67 65 72 2e 6f 20 70 72 6f 63 65 73 73 2e  ogger.o process.
4010: 6f 20 72 6d 74 2e 6f 20 72 75 6e 63 6f 6e 66 69  o rmt.o runconfi
4020: 67 2e 6f 20 72 75 6e 73 2e 6f 20 73 64 62 2e 6f  g.o runs.o sdb.o
4030: 20 73 65 72 76 65 72 2e 6f 20 73 79 6e 63 68 61   server.o syncha
4040: 73 68 2e 6f 20 74 61 73 6b 73 2e 6f 20 74 64 62  sh.o tasks.o tdb
4050: 2e 6f 20 74 65 73 74 73 2e 6f 20 74 72 65 65 2e  .o tests.o tree.
4060: 6f 0a 09 63 73 63 20 24 28 43 53 43 4f 50 54 53  o..csc $(CSCOPTS
4070: 29 20 70 6f 72 74 6c 6f 67 67 65 72 2d 65 78 61  ) portlogger-exa
4080: 6d 70 6c 65 2e 73 63 6d 20 61 70 69 2e 6f 20 61  mple.scm api.o a
4090: 72 63 68 69 76 65 2e 6f 20 63 6c 69 65 6e 74 2e  rchive.o client.
40a0: 6f 20 63 6f 6d 6d 6f 6e 2e 6f 20 63 6f 6e 66 69  o common.o confi
40b0: 67 66 2e 6f 20 64 61 73 68 62 6f 61 72 64 2d 74  gf.o dashboard-t
40c0: 65 73 74 73 2e 6f 20 64 61 73 68 62 6f 61 72 64  ests.o dashboard
40d0: 2d 63 6f 6e 74 65 78 74 2d 6d 65 6e 75 2e 6f 20  -context-menu.o 
40e0: 64 62 2e 6f 20 64 63 6f 6d 6d 6f 6e 2e 6f 20 65  db.o dcommon.o e
40f0: 7a 73 74 65 70 73 2e 6f 20 66 69 6c 65 64 62 2e  zsteps.o filedb.
4100: 6f 20 67 65 6e 65 78 61 6d 70 6c 65 2e 6f 20 67  o genexample.o g
4110: 75 74 69 6c 73 2e 6f 20 68 74 74 70 2d 74 72 61  utils.o http-tra
4120: 6e 73 70 6f 72 74 2e 6f 20 69 74 65 6d 73 2e 6f  nsport.o items.o
4130: 20 6b 65 79 73 2e 6f 20 6c 61 75 6e 63 68 2e 6f   keys.o launch.o
4140: 20 6c 6f 63 6b 2d 71 75 65 75 65 2e 6f 20 6d 61   lock-queue.o ma
4150: 72 67 73 2e 6f 20 6d 74 2e 6f 20 6f 64 73 2e 6f  rgs.o mt.o ods.o
4160: 20 70 6f 72 74 6c 6f 67 67 65 72 2e 6f 20 70 72   portlogger.o pr
4170: 6f 63 65 73 73 2e 6f 20 72 6d 74 2e 6f 20 72 75  ocess.o rmt.o ru
4180: 6e 63 6f 6e 66 69 67 2e 6f 20 72 75 6e 73 2e 6f  nconfig.o runs.o
4190: 20 73 64 62 2e 6f 20 73 65 72 76 65 72 2e 6f 20   sdb.o server.o 
41a0: 73 79 6e 63 68 61 73 68 2e 6f 20 74 61 73 6b 73  synchash.o tasks
41b0: 2e 6f 20 74 64 62 2e 6f 20 74 65 73 74 73 2e 6f  .o tdb.o tests.o
41c0: 20 74 72 65 65 2e 6f 0a 0a 23 20 63 72 65 61 74   tree.o..# creat
41d0: 65 20 61 20 70 64 66 20 64 6f 74 20 67 72 61 70  e a pdf dot grap
41e0: 68 76 69 7a 20 64 69 61 67 72 61 6d 20 66 72 6f  hviz diagram fro
41f0: 6d 20 6e 6f 74 61 74 69 6f 6e 73 20 69 6e 20 72  m notations in r
4200: 6d 74 2e 73 63 6d 0a 72 6d 74 2e 70 64 66 20 3a  mt.scm.rmt.pdf :
4210: 20 72 6d 74 2e 73 63 6d 0a 09 67 72 65 70 20 27   rmt.scm..grep '
4220: 3b 3b 44 4f 54 27 20 72 6d 74 2e 73 63 6d 20 7c  ;;DOT' rmt.scm |
4230: 20 73 65 64 20 2d 65 20 27 73 2f 2e 2a 3b 3b 44   sed -e 's/.*;;D
4240: 4f 54 20 2f 2f 27 20 3e 20 72 6d 74 2e 64 6f 74  OT //' > rmt.dot
4250: 3b 64 6f 74 20 2d 54 70 64 66 20 72 6d 74 2e 64  ;dot -Tpdf rmt.d
4260: 6f 74 20 2d 6f 20 72 6d 74 2e 70 64 66 0a 0a 62  ot -o rmt.pdf..b
4270: 75 69 6c 64 6d 61 6e 75 61 6c 3a 0a 09 63 64 20  uildmanual:..cd 
4280: 64 6f 63 73 2f 6d 61 6e 75 61 6c 20 26 26 20 6d  docs/manual && m
4290: 61 6b 65 0a 0a 77 69 6b 69 70 61 67 65 3d 70 6c  ake..wikipage=pl
42a0: 61 6e 0a 65 64 69 74 77 69 6b 69 3a 0a 09 63 64  an.editwiki:..cd
42b0: 20 64 6f 63 73 2f 6d 61 6e 75 61 6c 20 26 26 20   docs/manual && 
42c0: 2e 2e 2f 2e 2e 2f 75 74 69 6c 73 2f 65 64 69 74  ../../utils/edit
42d0: 77 69 6b 69 20 24 28 77 69 6b 69 70 61 67 65 29  wiki $(wikipage)
42e0: 0a 0a 76 69 65 77 6d 61 6e 75 61 6c 3a 0a 09 61  ..viewmanual:..a
42f0: 72 6f 72 61 20 64 6f 63 73 2f 6d 61 6e 75 61 6c  rora docs/manual
4300: 2f 6d 65 67 61 74 65 73 74 5f 6d 61 6e 75 61 6c  /megatest_manual
4310: 2e 68 74 6d 6c 0a 0a 74 61 72 67 65 74 73 3a 0a  .html..targets:.
4320: 09 40 67 72 65 70 20 3a 20 4d 61 6b 65 66 69 6c  .@grep : Makefil
4330: 65 20 7c 20 70 65 72 6c 20 2d 6e 65 20 27 2f 5e  e | perl -ne '/^
4340: 28 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 2d 5d 2b 29  ([A-Za-z0-9_-]+)
4350: 3a 2f 20 26 26 20 70 72 69 6e 74 20 22 24 24 31  :/ && print "$$1
4360: 5c 6e 22 27 0a 0a 0a 75 6e 69 74 20 3a 0a 09 63  \n"'...unit :..c
4370: 64 20 74 65 73 74 73 3b 6d 61 6b 65 20 75 6e 69  d tests;make uni
4380: 74 0a                                            t.