CVSTrac Legacy Code

Hex Artifact Content
Login

Artifact a552bdce93c6d6bb43c5e69cc71d20d098df2ca2:

Instance of technote [a4a1f5e662] - How The CVSTrac Website Is Configured by drh 2011-09-13 22:39:42.
0000: 43 20 48 6f 77 5c 73 54 68 65 5c 73 43 56 53 54  C How\sThe\sCVST
0010: 72 61 63 5c 73 57 65 62 73 69 74 65 5c 73 49 73  rac\sWebsite\sIs
0020: 5c 73 43 6f 6e 66 69 67 75 72 65 64 0a 44 20 32  \sConfigured.D 2
0030: 30 31 31 2d 30 39 2d 31 33 54 32 33 3a 31 35 3a  011-09-13T23:15:
0040: 33 38 2e 35 30 33 0a 45 20 32 30 31 31 2d 30 39  38.503.E 2011-09
0050: 2d 31 33 54 32 32 3a 33 39 3a 34 32 20 61 34 61  -13T22:39:42 a4a
0060: 31 66 35 65 36 36 32 65 32 61 36 66 36 65 63 38  1f5e662e2a6f6ec8
0070: 34 66 39 64 39 36 36 61 37 34 39 37 65 33 34 65  4f9d966a7497e34e
0080: 66 64 33 35 39 0a 54 20 2b 62 67 63 6f 6c 6f 72  fd359.T +bgcolor
0090: 20 2a 20 23 38 30 64 36 62 30 0a 55 20 64 72 68   * #80d6b0.U drh
00a0: 0a 57 20 34 37 36 35 0a 3c 68 32 3e 42 61 63 6b  .W 4765.<h2>Back
00b0: 67 72 6f 75 6e 64 3c 2f 68 32 3e 0d 0a 0d 0a 43  ground</h2>....C
00c0: 56 53 20 69 73 20 6c 65 67 61 63 79 2e 20 20 4e  VS is legacy.  N
00d0: 6f 62 6f 64 79 20 75 73 65 73 20 69 74 20 66 6f  obody uses it fo
00e0: 72 20 6e 65 77 20 77 6f 72 6b 20 61 6e 79 20 6d  r new work any m
00f0: 6f 72 65 2e 20 20 41 6e 64 20 74 68 65 20 73 61  ore.  And the sa
0100: 6d 65 20 69 73 20 74 72 75 65 0d 0a 6f 66 20 43  me is true..of C
0110: 56 53 54 72 61 63 2e 20 20 57 65 20 63 6f 6e 74  VSTrac.  We cont
0120: 69 6e 75 65 20 74 6f 20 6d 61 69 6e 74 61 69 6e  inue to maintain
0130: 20 69 74 20 66 6f 72 20 74 68 65 20 73 61 6b 65   it for the sake
0140: 20 6f 66 20 73 69 74 65 73 20 74 68 61 74 0d 0a   of sites that..
0150: 63 6f 6e 74 69 6e 75 65 20 74 6f 20 75 73 65 20  continue to use 
0160: 69 74 2c 20 61 6e 64 20 74 6f 20 63 6f 6e 74 69  it, and to conti
0170: 6e 75 65 20 74 6f 20 62 65 20 61 62 6c 65 20 74  nue to be able t
0180: 6f 20 64 69 73 70 6c 61 79 20 68 69 73 74 6f 72  o display histor
0190: 69 63 61 6c 20 74 69 63 6b 65 74 73 0d 0a 61 6e  ical tickets..an
01a0: 64 20 77 69 6b 69 20 70 61 67 65 73 20 74 68 61  d wiki pages tha
01b0: 74 20 77 68 65 72 65 20 65 6e 74 65 72 65 64 20  t where entered 
01c0: 79 65 61 72 73 20 61 67 6f 20 77 68 65 6e 20 43  years ago when C
01d0: 56 53 20 61 6e 64 20 43 56 53 54 72 61 63 20 77  VS and CVSTrac w
01e0: 68 65 72 65 20 73 74 69 6c 6c 0d 0a 69 6e 20 61  here still..in a
01f0: 63 74 69 76 65 20 75 73 65 2e 20 20 42 75 74 20  ctive use.  But 
0200: 74 68 65 20 77 6f 72 6c 64 20 68 61 73 20 6d 6f  the world has mo
0210: 76 65 20 6f 6e 2e 20 20 50 72 6f 6a 65 63 74 73  ve on.  Projects
0220: 20 73 68 6f 75 6c 64 20 74 72 61 6e 73 69 74 69   should transiti
0230: 6f 6e 20 74 6f 0d 0a 6e 65 77 65 72 20 61 6e 64  on to..newer and
0240: 20 62 65 74 74 65 72 20 73 79 73 74 65 6d 73 20   better systems 
0250: 74 68 61 74 20 61 72 65 20 6e 6f 77 20 61 76 61  that are now ava
0260: 69 6c 61 62 6c 65 2e 20 20 43 56 53 54 72 61 63  ilable.  CVSTrac
0270: 20 68 61 73 20 62 65 63 6f 6d 65 20 61 6e 0d 0a   has become an..
0280: 68 69 73 74 6f 72 69 63 61 6c 20 61 72 74 69 66  historical artif
0290: 61 63 74 2e 0d 0a 0d 0a 57 65 20 72 65 63 65 6e  act.....We recen
02a0: 74 6c 79 20 75 70 67 72 61 64 65 64 20 74 68 65  tly upgraded the
02b0: 20 73 65 72 76 65 72 20 74 68 61 74 20 68 6f 73   server that hos
02c0: 74 73 20 77 77 77 2e 63 76 73 74 72 61 63 2e 6f  ts www.cvstrac.o
02d0: 72 67 2c 20 61 6e 64 20 61 73 20 70 61 72 74 20  rg, and as part 
02e0: 6f 66 0d 0a 74 68 61 74 20 75 70 67 72 61 64 65  of..that upgrade
02f0: 2c 20 77 65 20 70 75 72 70 6f 73 65 6c 79 20 64  , we purposely d
0300: 69 64 20 3c 75 3e 6e 6f 74 3c 2f 75 3e 20 69 6e  id <u>not</u> in
0310: 73 74 61 6c 6c 20 43 56 53 2c 20 73 69 6e 63 65  stall CVS, since
0320: 20 69 74 20 69 73 20 61 20 73 65 63 75 72 69 74   it is a securit
0330: 79 20 0d 0a 72 69 73 6b 2e 20 20 41 6c 6c 20 6f  y ..risk.  All o
0340: 66 20 74 68 65 20 43 56 53 54 72 61 63 20 73 6f  f the CVSTrac so
0350: 75 72 63 65 20 63 6f 64 65 20 69 73 20 6e 6f 77  urce code is now
0360: 20 6f 6e 20 0d 0a 5b 68 74 74 70 3a 2f 2f 77 77   on ..[http://ww
0370: 77 2e 66 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67  w.fossil-scm.org
0380: 2f 20 7c 20 46 6f 73 73 69 6c 5d 20 2d 20 61 20  / | Fossil] - a 
0390: 64 69 73 74 72 69 62 75 74 65 64 20 76 65 72 73  distributed vers
03a0: 69 6f 6e 20 63 6f 6e 74 72 6f 6c 20 73 79 73 74  ion control syst
03b0: 65 6d 0d 0a 74 68 61 74 20 69 6e 63 6f 72 70 6f  em..that incorpo
03c0: 72 61 74 65 73 20 6d 61 6e 79 20 6f 66 20 74 68  rates many of th
03d0: 65 20 66 65 61 74 75 72 65 73 20 6f 72 69 67 69  e features origi
03e0: 6e 61 6c 6c 79 20 64 65 76 65 6c 6f 70 65 64 20  nally developed 
03f0: 66 6f 72 20 43 56 53 54 72 61 63 2e 0d 0a 49 6e  for CVSTrac...In
0400: 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 43 56   other words, CV
0410: 53 54 72 61 63 20 69 73 20 6e 6f 20 6c 6f 6e 67  STrac is no long
0420: 65 72 20 73 65 6c 66 2d 68 6f 73 74 69 6e 67 2e  er self-hosting.
0430: 20 20 49 74 20 68 61 73 20 62 65 65 6e 20 6d 6f    It has been mo
0440: 76 65 64 20 69 6e 74 6f 0d 0a 61 20 72 65 74 69  ved into..a reti
0450: 72 65 6d 65 6e 74 20 68 6f 6d 65 2e 0d 0a 0d 0a  rement home.....
0460: 3c 68 32 3e 53 65 72 76 65 72 20 43 6f 6e 66 69  <h2>Server Confi
0470: 67 75 72 61 74 69 6f 6e 3c 2f 68 32 3e 0d 0a 0d  guration</h2>...
0480: 0a 43 56 53 54 72 61 63 20 69 73 20 73 74 69 6c  .CVSTrac is stil
0490: 6c 20 72 75 6e 20 69 6e 20 6f 72 64 65 72 20 74  l run in order t
04a0: 6f 20 70 72 6f 76 69 64 65 20 61 63 63 65 73 73  o provide access
04b0: 20 74 6f 20 68 69 73 74 6f 72 69 63 61 6c 20 74   to historical t
04c0: 69 63 6b 65 74 73 20 61 6e 64 0d 0a 77 69 6b 69  ickets and..wiki
04d0: 20 70 61 67 65 73 2e 20 20 54 68 65 20 63 75 72   pages.  The cur
04e0: 72 65 6e 74 20 6d 61 6e 69 66 65 73 74 61 74 69  rent manifestati
04f0: 6f 6e 20 6f 66 0d 0a 43 56 53 54 72 61 63 20 72  on of..CVSTrac r
0500: 75 6e 73 20 61 73 20 61 20 73 74 61 6e 64 2d 61  uns as a stand-a
0510: 6c 6f 6e 65 20 43 47 49 20 70 72 6f 63 65 73 73  lone CGI process
0520: 20 69 6e 73 69 64 65 20 61 20 63 68 72 6f 6f 74   inside a chroot
0530: 20 6a 61 69 6c 2e 20 20 4e 6f 20 6f 74 68 65 72   jail.  No other
0540: 0d 0a 73 6f 66 74 77 61 72 65 20 69 73 20 6e 65  ..software is ne
0550: 63 65 73 73 61 72 79 20 66 6f 72 20 43 56 53 54  cessary for CVST
0560: 72 61 63 20 74 6f 20 72 75 6e 2e 20 20 46 6f 72  rac to run.  For
0570: 6d 65 72 6c 79 2c 20 77 65 20 6e 65 65 64 65 64  merly, we needed
0580: 20 2f 62 69 6e 2f 73 68 20 61 6e 64 0d 0a 2f 75   /bin/sh and../u
0590: 73 72 2f 62 69 6e 2f 63 76 73 2e 20 20 42 75 74  sr/bin/cvs.  But
05a0: 20 74 68 6f 73 65 20 65 78 65 63 75 74 61 62 6c   those executabl
05b0: 65 73 20 61 72 65 20 61 20 73 65 63 75 72 69 74  es are a securit
05c0: 79 20 72 69 73 6b 20 61 6e 64 20 73 6f 20 43 56  y risk and so CV
05d0: 53 54 72 61 63 20 68 61 73 0d 0a 62 65 65 6e 20  STrac has..been 
05e0: 65 6e 68 61 6e 63 65 64 20 74 6f 20 6e 6f 20 6c  enhanced to no l
05f0: 6f 6e 67 65 72 20 72 65 71 75 69 72 65 20 74 68  onger require th
0600: 65 6d 2e 0d 0a 0d 0a 54 68 65 20 48 54 54 50 20  em.....The HTTP 
0610: 73 65 72 76 65 72 20 6f 6e 20 74 68 65 20 77 77  server on the ww
0620: 77 2e 63 76 73 74 72 61 63 2e 6f 72 67 20 77 65  w.cvstrac.org we
0630: 62 73 69 74 65 20 69 73 0d 0a 5b 68 74 74 70 3a  bsite is..[http:
0640: 2f 2f 77 77 77 2e 73 71 6c 69 74 65 2e 6f 72 67  //www.sqlite.org
0650: 2f 64 6f 63 73 72 63 2f 61 72 74 69 66 61 63 74  /docsrc/artifact
0660: 2f 31 34 63 39 39 36 35 64 61 31 39 65 20 7c 20  /14c9965da19e | 
0670: 61 6c 74 68 74 74 70 64 2e 63 5d 2e 0d 0a 54 68  althttpd.c]...Th
0680: 69 73 20 73 65 72 76 65 72 20 69 73 20 69 6d 70  is server is imp
0690: 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 20 73 69  lemented as a si
06a0: 6e 67 6c 65 20 66 69 6c 65 20 6f 66 20 41 4e 53  ngle file of ANS
06b0: 49 2d 43 20 63 6f 64 65 2e 20 20 44 6f 63 75 6d  I-C code.  Docum
06c0: 65 6e 74 61 74 69 6f 6e 0d 0a 6f 6e 20 68 6f 77  entation..on how
06d0: 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 61 6c   to configure al
06e0: 74 68 74 74 70 64 2e 63 20 69 73 20 66 6f 75 6e  thttpd.c is foun
06f0: 64 20 69 6e 20 61 20 63 6f 6d 6d 65 6e 74 20 69  d in a comment i
0700: 6e 20 74 68 65 20 66 69 72 73 74 20 35 30 0d 0a  n the first 50..
0710: 6f 72 20 36 30 20 6c 69 6e 65 73 20 6f 66 20 74  or 60 lines of t
0720: 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 66  he source code f
0730: 69 6c 65 2e 20 20 41 20 73 65 70 61 72 61 74 65  ile.  A separate
0740: 0d 0a 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68  ..instance of th
0750: 65 20 73 65 72 76 65 72 20 69 73 20 6c 61 75 6e  e server is laun
0760: 63 68 65 64 20 66 6f 72 20 65 61 63 68 20 69 6e  ched for each in
0770: 62 6f 75 6e 64 20 54 43 50 2f 49 50 20 63 6f 6e  bound TCP/IP con
0780: 6e 65 63 74 69 6f 6e 20 76 69 61 0d 0a 78 69 6e  nection via..xin
0790: 65 74 64 2e 20 20 78 69 6e 65 74 64 20 69 73 20  etd.  xinetd is 
07a0: 63 6f 6e 66 69 67 75 72 65 64 20 75 73 69 6e 67  configured using
07b0: 20 74 68 65 20 66 69 6c 65 20 2f 65 74 63 2f 78   the file /etc/x
07c0: 69 6e 65 74 64 2e 64 2f 68 74 74 70 20 77 68 69  inetd.d/http whi
07d0: 63 68 0d 0a 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74  ch..looks like t
07e0: 68 69 73 3a 0d 0a 0d 0a 3c 62 6c 6f 63 6b 71 75  his:....<blockqu
07f0: 6f 74 65 3e 3c 70 72 65 3e 0d 0a 73 65 72 76 69  ote><pre>..servi
0800: 63 65 20 68 74 74 70 0d 0a 7b 0d 0a 20 20 70 6f  ce http..{..  po
0810: 72 74 20 3d 20 38 30 0d 0a 20 20 73 6f 63 6b 65  rt = 80..  socke
0820: 74 5f 74 79 70 65 20 3d 20 73 74 72 65 61 6d 0d  t_type = stream.
0830: 0a 20 20 77 61 69 74 20 3d 20 6e 6f 0d 0a 20 20  .  wait = no..  
0840: 75 73 65 72 20 3d 20 72 6f 6f 74 0d 0a 20 20 73  user = root..  s
0850: 65 72 76 65 72 20 3d 20 2f 75 73 72 2f 62 69 6e  erver = /usr/bin
0860: 2f 61 6c 74 68 74 74 70 64 0d 0a 20 20 73 65 72  /althttpd..  ser
0870: 76 65 72 5f 61 72 67 73 20 3d 20 2d 6c 6f 67 66  ver_args = -logf
0880: 69 6c 65 20 2f 6c 6f 67 73 2f 68 74 74 70 2e 6c  ile /logs/http.l
0890: 6f 67 20 2d 72 6f 6f 74 20 2f 68 6f 6d 65 2f 77  og -root /home/w
08a0: 77 77 20 2d 75 73 65 72 20 77 77 77 2d 64 61 74  ww -user www-dat
08b0: 61 0d 0a 7d 0d 0a 3c 2f 70 72 65 3e 3c 2f 62 6c  a..}..</pre></bl
08c0: 6f 63 6b 71 75 6f 74 65 3e 0d 0a 0d 0a 54 68 69  ockquote>....Thi
08d0: 73 20 73 61 6d 65 20 48 54 54 50 20 73 65 72 76  s same HTTP serv
08e0: 65 72 20 61 6c 73 6f 20 73 65 72 76 65 72 73 20  er also servers 
08f0: 73 69 74 65 20 5b 68 74 74 70 3a 2f 2f 77 77 77  site [http://www
0900: 2e 73 71 6c 69 74 65 2e 6f 72 67 2f 5d 20 61 6e  .sqlite.org/] an
0910: 64 0d 0a 5b 68 74 74 70 3a 2f 2f 77 77 77 2e 66  d..[http://www.f
0920: 6f 73 73 69 6c 2d 73 63 6d 2e 6f 72 67 2f 5d 20  ossil-scm.org/] 
0930: 61 6e 64 20 73 65 76 65 72 61 6c 20 6f 74 68 65  and several othe
0940: 72 20 64 6f 6d 61 69 6e 73 2e 20 20 54 68 65 20  r domains.  The 
0950: 48 4f 53 54 20 70 61 72 61 6d 65 74 65 72 0d 0a  HOST parameter..
0960: 6f 6e 20 74 68 65 20 48 54 54 50 20 68 65 61 64  on the HTTP head
0970: 65 72 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68  er determines wh
0980: 69 63 68 20 63 6f 6e 74 65 6e 74 20 69 73 20 73  ich content is s
0990: 65 72 76 65 64 2e 20 20 45 76 65 72 79 74 68 69  erved.  Everythi
09a0: 6e 67 20 72 75 6e 73 0d 0a 6f 6e 20 61 20 73 69  ng runs..on a si
09b0: 6e 67 6c 65 20 6c 6f 77 2d 70 6f 77 65 72 20 5b  ngle low-power [
09c0: 68 74 74 70 3a 2f 2f 77 77 77 2e 6c 69 6e 6f 64  http://www.linod
09d0: 65 2e 63 6f 6d 2f 20 7c 20 4c 69 6e 6f 64 65 5d  e.com/ | Linode]
09e0: 20 76 69 72 74 75 61 6c 20 6d 61 63 68 69 6e 65   virtual machine
09f0: 2e 0d 0a 0d 0a 59 6f 75 20 63 61 6e 20 69 6e 66  .....You can inf
0a00: 65 72 20 66 72 6f 6d 20 74 68 65 20 22 73 65 72  er from the "ser
0a10: 76 65 72 5f 61 72 67 73 22 20 6c 69 6e 65 20 61  ver_args" line a
0a20: 62 6f 76 65 20 74 68 61 74 20 61 6c 74 68 74 74  bove that althtt
0a30: 70 64 2e 63 20 70 75 74 73 20 69 74 73 65 6c 66  pd.c puts itself
0a40: 0d 0a 69 6e 20 61 20 63 68 72 6f 6f 74 20 6a 61  ..in a chroot ja
0a50: 69 6c 20 61 74 20 2f 68 6f 6d 65 2f 77 77 77 20  il at /home/www 
0a60: 61 6e 64 20 63 68 61 6e 67 65 73 20 74 6f 20 74  and changes to t
0a70: 68 65 20 77 77 77 2d 64 61 74 61 20 75 73 65 72  he www-data user
0a80: 20 62 65 66 6f 72 65 20 64 6f 69 6e 67 0d 0a 61   before doing..a
0a90: 6e 79 74 68 69 6e 67 20 65 6c 73 65 2e 20 20 54  nything else.  T
0aa0: 68 69 73 20 63 68 72 6f 6f 74 20 6a 61 69 6c 20  his chroot jail 
0ab0: 63 6f 6e 74 61 69 6e 73 20 6e 6f 20 73 68 61 72  contains no shar
0ac0: 65 64 20 6c 69 62 72 61 72 69 65 73 20 61 6e 64  ed libraries and
0ad0: 20 61 20 6d 69 6e 69 6d 61 6c 0d 0a 6e 75 6d 62   a minimal..numb
0ae0: 65 72 20 6f 66 20 65 78 65 63 75 74 61 62 6c 65  er of executable
0af0: 73 20 28 66 6f 73 73 69 6c 20 61 6e 64 20 63 76  s (fossil and cv
0b00: 73 74 72 61 63 2c 20 66 6f 72 20 65 78 61 6d 70  strac, for examp
0b10: 6c 65 29 2e 20 20 4e 6f 74 65 20 69 6e 20 70 61  le).  Note in pa
0b20: 72 74 69 63 75 6c 61 72 0d 0a 74 68 61 74 20 74  rticular..that t
0b30: 68 69 73 20 63 68 72 6f 6f 74 20 6a 61 69 6c 20  his chroot jail 
0b40: 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e  does not contain
0b50: 20 2f 62 69 6e 2f 73 68 20 6f 72 20 2f 75 73 72   /bin/sh or /usr
0b60: 2f 62 69 6e 2f 63 76 73 2c 20 77 68 69 63 68 20  /bin/cvs, which 
0b70: 6c 69 6d 69 74 73 0d 0a 74 68 65 20 66 75 6e 63  limits..the func
0b80: 74 69 6f 6e 61 6c 69 74 79 20 6f 66 20 43 56 53  tionality of CVS
0b90: 54 72 61 63 20 73 6f 6d 65 77 68 61 74 2e 0d 0a  Trac somewhat...
0ba0: 0d 0a 54 68 65 72 65 20 69 73 20 61 20 66 69 6c  ..There is a fil
0bb0: 65 20 6f 6e 20 74 68 65 20 77 77 77 2e 63 76 73  e on the www.cvs
0bc0: 74 72 61 63 2e 6f 72 67 20 77 65 62 73 69 74 65  trac.org website
0bd0: 20 6e 61 6d 65 64 20 22 63 76 73 74 72 61 63 22   named "cvstrac"
0be0: 2e 20 20 54 68 61 74 20 66 69 6c 65 20 68 61 73  .  That file has
0bf0: 0d 0a 69 74 73 20 65 78 65 63 75 74 65 20 70 65  ..its execute pe
0c00: 72 6d 69 73 73 69 6f 6e 20 62 69 74 20 73 65 74  rmission bit set
0c10: 20 28 72 77 78 72 2d 78 72 2d 78 29 20 73 6f 20   (rwxr-xr-x) so 
0c20: 74 68 61 74 20 61 6c 74 68 74 74 70 64 2e 63 20  that althttpd.c 
0c30: 77 69 6c 6c 20 72 75 6e 20 69 74 20 61 73 0d 0a  will run it as..
0c40: 43 47 49 20 77 68 65 6e 65 76 65 72 20 69 74 20  CGI whenever it 
0c50: 69 73 20 73 70 65 63 69 66 69 65 64 20 6f 6e 20  is specified on 
0c60: 74 68 65 20 55 52 4c 20 70 61 74 68 2e 20 20 54  the URL path.  T
0c70: 68 65 20 66 69 6c 65 20 69 73 20 61 20 73 63 72  he file is a scr
0c80: 69 70 74 2c 20 61 73 0d 0a 66 6f 6c 6c 6f 77 73  ipt, as..follows
0c90: 3a 0d 0a 0d 0a 3c 62 6c 6f 63 6b 71 75 6f 74 65  :....<blockquote
0ca0: 3e 3c 70 72 65 3e 0d 0a 23 21 2f 75 73 72 2f 62  ><pre>..#!/usr/b
0cb0: 69 6e 2f 63 76 73 74 72 61 63 0d 0a 64 69 72 65  in/cvstrac..dire
0cc0: 63 74 6f 72 79 3a 20 2f 63 76 73 74 72 61 63 0d  ctory: /cvstrac.
0cd0: 0a 70 72 6f 6a 65 63 74 3a 20 63 76 73 74 72 61  .project: cvstra
0ce0: 63 0d 0a 3c 2f 70 72 65 3e 3c 2f 62 6c 6f 63 6b  c..</pre></block
0cf0: 71 75 6f 74 65 3e 0d 0a 0d 0a 54 68 65 20 2f 75  quote>....The /u
0d00: 73 72 2f 62 69 6e 2f 63 76 73 74 72 61 63 20 65  sr/bin/cvstrac e
0d10: 78 65 63 75 74 61 62 6c 65 20 69 73 20 72 65 61  xecutable is rea
0d20: 6c 6c 79 20 66 6f 75 6e 64 20 69 6e 20 2f 68 6f  lly found in /ho
0d30: 6d 65 2f 77 77 77 2f 75 73 72 2f 62 69 6e 2c 20  me/www/usr/bin, 
0d40: 62 75 74 0d 0a 74 68 65 20 2f 68 6f 6d 65 2f 77  but..the /home/w
0d50: 77 77 20 69 73 20 6f 6d 69 74 74 65 64 20 62 65  ww is omitted be
0d60: 63 61 75 73 65 20 6f 66 20 74 68 65 20 63 68 72  cause of the chr
0d70: 6f 6f 74 20 6a 61 69 6c 2e 20 20 2f 75 73 72 2f  oot jail.  /usr/
0d80: 62 69 6e 2f 63 76 73 74 72 61 63 0d 0a 69 73 20  bin/cvstrac..is 
0d90: 63 6f 6d 70 69 6c 65 64 20 77 69 74 68 0d 0a 2d  compiled with..-
0da0: 73 74 61 74 69 63 20 73 6f 20 74 68 61 74 20 69  static so that i
0db0: 74 20 75 73 65 73 20 6e 6f 20 73 68 61 72 65 64  t uses no shared
0dc0: 20 6c 69 62 72 61 72 69 65 73 2e 20 20 54 68 65   libraries.  The
0dd0: 20 43 56 53 54 72 61 63 20 64 61 74 61 62 61 73   CVSTrac databas
0de0: 65 20 66 6f 72 20 74 68 65 0d 0a 43 56 53 54 72  e for the..CVSTr
0df0: 61 63 20 70 72 6f 6a 65 63 74 20 69 73 20 6c 6f  ac project is lo
0e00: 63 61 74 65 64 20 69 6e 20 74 68 65 20 64 69 72  cated in the dir
0e10: 65 63 74 6f 72 79 20 22 2f 63 76 73 74 72 61 63  ectory "/cvstrac
0e20: 22 20 28 72 65 6c 61 74 69 76 65 20 74 6f 20 74  " (relative to t
0e30: 68 65 0d 0a 63 68 72 6f 6f 74 20 6a 61 69 6c 2c  he..chroot jail,
0e40: 20 6f 72 20 22 2f 68 6f 6d 65 2f 77 77 77 2f 63   or "/home/www/c
0e50: 76 73 74 72 61 63 22 20 69 6e 20 72 65 61 6c 69  vstrac" in reali
0e60: 74 79 29 20 61 6e 64 20 74 68 65 20 6e 61 6d 65  ty) and the name
0e70: 20 6f 66 20 74 68 65 20 43 56 53 54 72 61 63 0d   of the CVSTrac.
0e80: 0a 64 61 74 61 62 61 73 65 20 69 73 20 22 63 76  .database is "cv
0e90: 73 74 72 61 63 2e 64 62 22 2e 20 20 4e 6f 74 65  strac.db".  Note
0ea0: 20 74 68 61 74 20 74 68 65 20 22 2e 64 62 22 20   that the ".db" 
0eb0: 73 75 66 66 69 78 20 69 73 20 61 64 64 65 64 20  suffix is added 
0ec0: 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2e 0d 0a  automatically...
0ed0: 0d 0a 3c 68 32 3e 42 75 69 6c 64 69 6e 67 20 54  ..<h2>Building T
0ee0: 68 65 20 43 56 53 54 72 61 63 20 45 78 65 63 75  he CVSTrac Execu
0ef0: 74 61 62 6c 65 3c 2f 68 32 3e 0d 0a 0d 0a 54 68  table</h2>....Th
0f00: 65 20 63 76 73 74 72 61 63 20 65 78 65 63 75 74  e cvstrac execut
0f10: 61 62 6c 65 20 66 6f 75 6e 64 20 69 6e 20 2f 68  able found in /h
0f20: 6f 6d 65 2f 77 77 77 2f 75 73 72 2f 62 69 6e 20  ome/www/usr/bin 
0f30: 28 6f 72 20 2f 75 73 72 2f 62 69 6e 20 72 65 6c  (or /usr/bin rel
0f40: 61 74 69 76 65 0d 0a 74 6f 20 74 68 65 20 63 68  ative..to the ch
0f50: 72 6f 6f 74 20 6a 61 69 6c 29 20 69 73 20 62 75  root jail) is bu
0f60: 69 6c 74 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0d  ilt as follows:.
0f70: 0a 0d 0a 20 20 31 2e 20 20 43 68 65 63 6b 6f 75  ...  1.  Checkou
0f80: 74 20 74 68 65 20 43 56 53 54 72 61 63 20 73 6f  t the CVSTrac so
0f90: 75 72 63 65 20 74 72 65 65 20 69 6e 74 6f 20 61  urce tree into a
0fa0: 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 6e 61   subdirectory na
0fb0: 6d 65 64 20 22 63 76 73 74 72 61 63 22 2e 0d 0a  med "cvstrac"...
0fc0: 20 20 20 20 20 20 54 68 69 73 20 69 6e 76 6f 6c        This invol
0fd0: 76 65 73 20 63 6c 6f 6e 69 6e 67 20 74 68 65 20  ves cloning the 
0fe0: 72 65 70 6f 73 69 74 6f 72 79 20 69 66 20 6e 65  repository if ne
0ff0: 63 65 73 73 61 72 79 2c 20 74 68 65 6e 20 64 6f  cessary, then do
1000: 69 6e 67 0d 0a 20 20 20 20 20 20 22 6d 6b 64 69  ing..      "mkdi
1010: 72 20 63 76 73 74 72 61 63 3b 20 63 64 20 63 76  r cvstrac; cd cv
1020: 73 74 72 61 63 22 20 61 6e 64 20 66 69 6e 61 6c  strac" and final
1030: 6c 79 0d 0a 20 20 20 20 20 20 22 66 6f 73 73 69  ly..      "fossi
1040: 6c 20 6f 70 65 6e 20 2e 2e 2f 63 76 73 74 72 61  l open ../cvstra
1050: 63 2e 66 6f 73 73 69 6c 22 2e 0d 0a 0d 0a 20 20  c.fossil".....  
1060: 32 2e 20 20 43 72 65 61 74 65 20 61 20 73 69 62  2.  Create a sib
1070: 6c 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 22  ling directory "
1080: 62 6c 64 22 2e 20 20 43 6f 70 79 20 22 6c 69 6e  bld".  Copy "lin
1090: 75 78 2d 67 63 63 2e 6d 6b 22 20 66 72 6f 6d 20  ux-gcc.mk" from 
10a0: 74 68 65 20 73 6f 75 72 63 65 0d 0a 20 20 20 20  the source..    
10b0: 20 20 64 69 72 65 63 74 6f 72 79 20 69 6e 74 6f    directory into
10c0: 20 22 6d 61 6b 65 66 69 6c 65 22 20 69 6e 20 74   "makefile" in t
10d0: 68 65 20 22 62 6c 64 22 20 64 69 72 65 63 74 6f  he "bld" directo
10e0: 72 79 2e 0d 0a 0d 0a 20 20 33 2e 20 20 45 64 69  ry.....  3.  Edi
10f0: 74 20 22 6d 61 6b 65 66 69 6c 65 22 3a 20 20 28  t "makefile":  (
1100: 61 29 20 20 53 65 74 20 53 52 43 44 49 52 20 74  a)  Set SRCDIR t
1110: 6f 20 22 2e 2e 2f 63 76 73 74 72 61 63 22 2e 20  o "../cvstrac". 
1120: 20 28 62 29 20 43 68 61 6e 67 65 0d 0a 20 20 20   (b) Change..   
1130: 20 20 20 54 43 43 20 74 6f 20 22 67 63 63 20 2d     TCC to "gcc -
1140: 4f 73 20 2d 73 74 61 74 69 63 20 2d 49 2e 20 2d  Os -static -I. -
1150: 44 53 51 4c 49 54 45 5f 54 48 52 45 41 44 53 41  DSQLITE_THREADSA
1160: 46 45 3d 30 20 2d 44 53 51 4c 49 54 45 5f 4f 4d  FE=0 -DSQLITE_OM
1170: 49 54 5f 4c 4f 41 44 5f 45 58 54 45 4e 53 49 4f  IT_LOAD_EXTENSIO
1180: 4e 22 2e 20 20 28 63 29 20 43 68 61 6e 67 65 20  N".  (c) Change 
1190: 4c 49 42 53 51 4c 49 54 45 20 74 6f 20 22 2e 2f  LIBSQLITE to "./
11a0: 73 71 6c 69 74 65 33 2e 63 20 2d 6c 63 72 79 70  sqlite3.c -lcryp
11b0: 74 20 2d 6c 6d 22 2e 0d 0a 0d 0a 20 20 34 2e 20  t -lm".....  4. 
11c0: 20 4d 6f 76 65 20 61 20 63 6f 70 79 20 6f 66 20   Move a copy of 
11d0: 74 68 65 20 53 51 4c 69 74 65 20 61 6d 61 6c 67  the SQLite amalg
11e0: 61 6d 61 74 69 6f 6e 20 61 6e 64 20 68 65 61 64  amation and head
11f0: 65 72 20 69 6e 74 6f 20 74 68 65 20 62 75 69 6c  er into the buil
1200: 64 0d 0a 20 20 20 20 20 20 64 69 72 65 63 74 6f  d..      directo
1210: 72 79 2e 0d 0a 0d 0a 20 20 35 2e 20 20 54 79 70  ry.....  5.  Typ
1220: 65 20 22 6d 61 6b 65 22 2e 0d 0a 0d 0a 54 68 65  e "make".....The
1230: 20 73 74 65 70 73 20 61 62 6f 76 65 20 62 75 69   steps above bui
1240: 6c 64 20 61 20 73 74 61 74 69 63 61 6c 6c 79 20  ld a statically 
1250: 6c 69 6e 6b 65 64 20 62 69 6e 61 72 79 20 74 68  linked binary th
1260: 61 74 20 63 61 6e 20 74 68 65 6e 20 62 65 20 63  at can then be c
1270: 6f 70 69 65 64 20 69 6e 74 6f 0d 0a 2f 68 6f 6d  opied into../hom
1280: 65 2f 77 77 77 2f 75 73 72 2f 62 69 6e 2e 20 20  e/www/usr/bin.  
1290: 4e 6f 74 20 61 6c 6c 20 66 65 61 74 75 72 65 73  Not all features
12a0: 20 6f 66 0d 0a 43 56 53 54 72 61 63 20 61 72 65   of..CVSTrac are
12b0: 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68   supported by th
12c0: 69 73 20 62 75 69 6c 64 2c 20 62 75 74 20 65 6e  is build, but en
12d0: 6f 75 67 68 20 66 65 61 74 75 72 65 73 20 61 72  ough features ar
12e0: 65 20 73 75 70 70 6f 72 74 20 74 6f 0d 0a 70 72  e support to..pr
12f0: 6f 76 69 64 65 20 61 63 63 65 73 73 20 74 6f 20  ovide access to 
1300: 6c 65 67 61 63 79 20 77 69 6b 69 20 70 61 67 65  legacy wiki page
1310: 73 20 61 6e 64 20 74 69 63 6b 65 74 73 20 69 6e  s and tickets in
1320: 20 74 68 65 20 43 56 53 54 72 61 63 20 64 61 74   the CVSTrac dat
1330: 61 62 61 73 65 0d 0a 66 69 6c 65 73 2e 0d 0a 0d  abase..files....
1340: 0a 0d 0a 0d 0a 0a 5a 20 36 30 35 32 32 36 63 39  ......Z 605226c9
1350: 39 66 65 62 31 31 34 31 32 63 35 32 65 31 34 31  9feb11412c52e141
1360: 37 31 61 36 61 38 33 61 0a                       71a6a83a.