Hex Artifact Content
Not logged in

Artifact fc69bc5ebbd48c2130023262b6f793137813bffa:

File www/mkdownload.tcl part of check-in [50e953a810] - Added the mkdownload.tcl script for generating the download.html page. by drh on 2008-03-17 21:14:26.

0000: 23 21 2f 75 73 72 2f 62 69 6e 2f 74 63 6c 73 68  #!/usr/bin/tclsh
0010: 0a 23 0a 23 20 52 75 6e 20 74 68 69 73 20 73 63  .#.# Run this sc
0020: 72 69 70 74 20 74 6f 20 62 75 69 6c 64 20 74 68  ript to build th
0030: 65 20 22 64 6f 77 6e 6c 6f 61 64 22 20 70 61 67  e "download" pag
0040: 65 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75  e on standard ou
0050: 74 70 75 74 2e 0a 23 0a 23 0a 70 75 74 73 20 5c  tput..#.#.puts \
0060: 0a 7b 3c 68 74 6d 6c 3e 0a 3c 68 65 61 64 3e 0a  .{<html>.<head>.
0070: 3c 74 69 74 6c 65 3e 46 6f 73 73 69 6c 20 44 6f  <title>Fossil Do
0080: 77 6e 6c 6f 61 64 3c 2f 74 69 74 6c 65 3e 0a 3c  wnload</title>.<
0090: 2f 68 65 61 64 3e 0a 3c 62 6f 64 79 3e 0a 3c 68  /head>.<body>.<h
00a0: 31 3e 46 6f 73 73 69 6c 20 44 6f 77 6e 6c 6f 61  1>Fossil Downloa
00b0: 64 3c 2f 68 31 3e 0a 0a 3c 70 3e 0a 54 68 69 73  d</h1>..<p>.This
00c0: 20 70 61 67 65 20 63 6f 6e 74 61 69 6e 73 20 70   page contains p
00d0: 72 65 62 75 69 6c 74 20 62 69 6e 61 72 69 65 73  rebuilt binaries
00e0: 20 66 6f 72 20 0a 3c 61 20 68 72 65 66 3d 22 69   for .<a href="i
00f0: 6e 64 65 78 2e 68 74 6d 6c 22 3e 66 6f 73 73 69  ndex.html">fossi
0100: 6c 3c 2f 61 3e 20 66 6f 72 20 76 61 72 69 6f 75  l</a> for variou
0110: 73 20 61 72 63 68 69 74 65 63 74 75 72 65 73 2e  s architectures.
0120: 0a 54 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65  .The source code
0130: 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e   is available in
0140: 20 74 68 65 0a 3c 61 20 68 72 65 66 3d 22 68 74   the.<a href="ht
0150: 74 70 3a 2f 2f 77 77 77 2e 66 6f 73 73 69 6c 2d  tp://www.fossil-
0160: 73 63 6d 2e 6f 72 67 2f 66 6f 73 73 69 6c 2f 74  scm.org/fossil/t
0170: 69 6d 65 6c 69 6e 65 22 3e 73 65 6c 66 2d 68 6f  imeline">self-ho
0180: 73 74 69 6e 67 0a 66 6f 73 73 69 6c 20 72 65 70  sting.fossil rep
0190: 6f 73 69 74 6f 72 79 3c 2f 61 3e 2e 0a 3c 2f 70  ository</a>..</p
01a0: 3e 0a 0a 3c 74 61 62 6c 65 20 63 65 6c 6c 70 61  >..<table cellpa
01b0: 64 64 69 6e 67 3d 22 35 22 3e 0a 7d 0a 0a 70 72  dding="5">.}..pr
01c0: 6f 63 20 50 72 6f 64 75 63 74 20 7b 70 61 74 74  oc Product {patt
01d0: 65 72 6e 20 64 65 73 63 7d 20 7b 0a 20 20 73 65  ern desc} {.  se
01e0: 74 20 66 6c 69 73 74 20 5b 67 6c 6f 62 20 2d 6e  t flist [glob -n
01f0: 6f 63 6f 6d 70 6c 61 69 6e 20 64 6f 77 6e 6c 6f  ocomplain downlo
0200: 61 64 2f 24 70 61 74 74 65 72 6e 5d 0a 20 20 66  ad/$pattern].  f
0210: 6f 72 65 61 63 68 20 66 69 6c 65 20 5b 6c 73 6f  oreach file [lso
0220: 72 74 20 2d 64 69 63 74 20 24 66 6c 69 73 74 5d  rt -dict $flist]
0230: 20 7b 0a 20 20 20 20 73 65 74 20 66 69 6c 65 20   {.    set file 
0240: 5b 66 69 6c 65 20 74 61 69 6c 20 24 66 69 6c 65  [file tail $file
0250: 5d 0a 20 20 20 20 69 66 20 7b 21 5b 72 65 67 65  ].    if {![rege
0260: 78 70 20 2d 2d 20 7b 2d 28 5b 61 2d 66 30 2d 39  xp -- {-([a-f0-9
0270: 5d 7b 31 30 7d 29 5b 5e 61 2d 66 30 2d 39 5d 7d  ]{10})[^a-f0-9]}
0280: 20 24 66 69 6c 65 20 61 6c 6c 20 76 65 72 73 69   $file all versi
0290: 6f 6e 5d 7d 20 63 6f 6e 74 69 6e 75 65 0a 20 20  on]} continue.  
02a0: 20 20 73 65 74 20 6d 74 69 6d 65 20 5b 66 69 6c    set mtime [fil
02b0: 65 20 6d 74 69 6d 65 20 64 6f 77 6e 6c 6f 61 64  e mtime download
02c0: 2f 24 66 69 6c 65 5d 0a 20 20 20 20 73 65 74 20  /$file].    set 
02d0: 64 61 74 65 20 5b 63 6c 6f 63 6b 20 66 6f 72 6d  date [clock form
02e0: 61 74 20 24 6d 74 69 6d 65 20 2d 66 6f 72 6d 61  at $mtime -forma
02f0: 74 20 7b 25 59 2d 25 6d 2d 25 64 20 25 48 3a 25  t {%Y-%m-%d %H:%
0300: 4d 3a 25 53 20 55 54 43 7d 20 2d 67 6d 74 20 31  M:%S UTC} -gmt 1
0310: 5d 0a 20 20 20 20 73 65 74 20 73 69 7a 65 20 5b  ].    set size [
0320: 66 69 6c 65 20 73 69 7a 65 20 64 6f 77 6e 6c 6f  file size downlo
0330: 61 64 2f 24 66 69 6c 65 5d 0a 20 20 20 20 73 65  ad/$file].    se
0340: 74 20 75 6e 69 74 73 20 62 79 74 65 73 0a 20 20  t units bytes.  
0350: 20 20 69 66 20 7b 24 73 69 7a 65 3e 31 30 32 34    if {$size>1024
0360: 2a 31 30 32 34 7d 20 7b 0a 20 20 20 20 20 20 73  *1024} {.      s
0370: 65 74 20 73 69 7a 65 20 5b 66 6f 72 6d 61 74 20  et size [format 
0380: 25 2e 32 66 20 5b 65 78 70 72 20 7b 24 73 69 7a  %.2f [expr {$siz
0390: 65 2f 28 31 30 32 34 2e 30 2a 31 30 32 34 2e 30  e/(1024.0*1024.0
03a0: 29 7d 5d 5d 0a 20 20 20 20 20 20 73 65 74 20 75  )}]].      set u
03b0: 6e 69 74 73 20 4d 69 42 0a 20 20 20 20 7d 20 65  nits MiB.    } e
03c0: 6c 73 65 69 66 20 7b 24 73 69 7a 65 3e 31 30 32  lseif {$size>102
03d0: 34 7d 20 7b 0a 20 20 20 20 20 20 73 65 74 20 73  4} {.      set s
03e0: 69 7a 65 20 5b 66 6f 72 6d 61 74 20 25 2e 32 66  ize [format %.2f
03f0: 20 5b 65 78 70 72 20 7b 24 73 69 7a 65 2f 28 31   [expr {$size/(1
0400: 30 32 34 2e 30 29 7d 5d 5d 0a 20 20 20 20 20 20  024.0)}]].      
0410: 73 65 74 20 75 6e 69 74 73 20 4b 69 42 0a 20 20  set units KiB.  
0420: 20 20 7d 0a 20 20 20 20 70 75 74 73 20 22 3c 74    }.    puts "<t
0430: 72 3e 3c 74 64 20 77 69 64 74 68 3d 5c 22 31 30  r><td width=\"10
0440: 5c 22 3e 3c 2f 74 64 3e 22 0a 20 20 20 20 70 75  \"></td>".    pu
0450: 74 73 20 22 3c 74 64 20 76 61 6c 69 67 6e 3d 5c  ts "<td valign=\
0460: 22 74 6f 70 5c 22 20 61 6c 69 67 6e 3d 5c 22 72  "top\" align=\"r
0470: 69 67 68 74 5c 22 3e 22 0a 20 20 20 20 70 75 74  ight\">".    put
0480: 73 20 22 3c 61 20 68 72 65 66 3d 5c 22 64 6f 77  s "<a href=\"dow
0490: 6e 6c 6f 61 64 2f 24 66 69 6c 65 5c 22 3e 24 66  nload/$file\">$f
04a0: 69 6c 65 3c 2f 61 3e 3c 2f 74 64 3e 22 0a 20 20  ile</a></td>".  
04b0: 20 20 70 75 74 73 20 22 3c 74 64 20 77 69 64 74    puts "<td widt
04c0: 68 3d 5c 22 35 5c 22 3e 3c 2f 74 64 3e 22 0a 20  h=\"5\"></td>". 
04d0: 20 20 20 72 65 67 73 75 62 20 2d 61 6c 6c 20 56     regsub -all V
04e0: 45 52 53 49 4f 4e 20 24 64 65 73 63 20 24 76 65  ERSION $desc $ve
04f0: 72 73 69 6f 6e 20 64 32 0a 20 20 20 20 70 75 74  rsion d2.    put
0500: 73 20 22 3c 74 64 20 76 61 6c 69 67 6e 3d 5c 22  s "<td valign=\"
0510: 74 6f 70 5c 22 3e 5b 73 74 72 69 6e 67 20 74 72  top\">[string tr
0520: 69 6d 20 24 64 32 5d 2e 3c 62 72 3e 53 69 7a 65  im $d2].<br>Size
0530: 3a 20 24 73 69 7a 65 20 24 75 6e 69 74 73 2e 3c  : $size $units.<
0540: 62 72 3e 22 0a 20 20 20 20 70 75 74 73 20 22 43  br>".    puts "C
0550: 72 65 61 74 65 64 3a 20 24 64 61 74 65 3c 2f 74  reated: $date</t
0560: 64 3e 3c 2f 74 72 3e 22 0a 20 20 7d 0a 7d 0a 0a  d></tr>".  }.}..
0570: 50 72 6f 64 75 63 74 20 66 6f 73 73 69 6c 2d 6c  Product fossil-l
0580: 69 6e 75 78 2d 78 38 36 2d 2a 2e 67 7a 20 7b 0a  inux-x86-*.gz {.
0590: 20 20 50 72 65 62 75 69 6c 74 20 66 6f 73 73 69    Prebuilt fossi
05a0: 6c 20 62 69 6e 61 72 79 20 76 65 72 73 69 6f 6e  l binary version
05b0: 20 5b 56 45 52 53 49 4f 4e 5d 20 66 6f 72 20 4c   [VERSION] for L
05c0: 69 6e 75 78 20 6f 6e 20 78 38 36 0a 7d 0a 50 72  inux on x86.}.Pr
05d0: 6f 64 75 63 74 20 66 6f 73 73 69 6c 2d 6d 61 78  oduct fossil-max
05e0: 6f 73 78 2d 78 38 36 2d 2a 2e 67 7a 20 7b 0a 20  osx-x86-*.gz {. 
05f0: 20 50 72 65 62 75 69 6c 74 20 66 6f 73 73 69 6c   Prebuilt fossil
0600: 20 62 69 6e 61 72 79 20 76 65 72 73 69 6f 6e 20   binary version 
0610: 5b 56 45 52 53 49 4f 4e 5d 20 66 6f 72 20 4d 61  [VERSION] for Ma
0620: 63 4f 53 58 20 6f 6e 20 78 38 36 0a 7d 0a 50 72  cOSX on x86.}.Pr
0630: 6f 64 75 63 74 20 66 6f 73 73 69 6c 2d 77 33 32  oduct fossil-w32
0640: 2d 2a 2e 7a 69 70 20 7b 0a 20 20 50 72 65 62 75  -*.zip {.  Prebu
0650: 69 6c 74 20 66 6f 73 73 69 6c 20 62 69 6e 61 72  ilt fossil binar
0660: 79 20 76 65 72 73 69 6f 6e 20 5b 56 45 52 53 49  y version [VERSI
0670: 4f 4e 5d 20 66 6f 72 20 77 69 6e 64 6f 77 73 0a  ON] for windows.
0680: 7d 0a 0a 0a 70 75 74 73 20 7b 3c 2f 74 61 62 6c  }...puts {</tabl
0690: 65 3e 0a 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d  e>.</body>.</htm
06a0: 6c 3e 0a 7d 0a                                   l>.}.