bzr branch
/bugzilla/4.2
| Line | Revision | Contents |
| 1 | 3 | This is Bugzilla. See <http://www.mozilla.org/bugs/>. |
| 2 | ||
| 3 | ||
| 4 | ========== |
|
| 5 | DISCLAIMER |
|
| 6 | ========== |
|
| 7 | ||
| 8 | This is not very well packaged code. It's not packaged at all. Don't |
|
| 9 | come here expecting something you plop in a directory, twiddle a few |
|
| 10 | things, and you're off and using it. Work has to be done to get |
|
| 11 | there. We'd like to get there, but it wasn't clear when that would |
|
| 12 | be, and so we decided to let people see it first. |
|
| 13 | ||
| 14 | ||
| 15 | ||
| 16 | ============ |
|
| 17 | INSTALLATION |
|
| 18 | ============ |
|
| 19 | ||
| 20 | (This section stolen heavily from the Bonsai INSTALL document. It's |
|
| 21 | also probably incomplete. "We're accepting patches", especially to |
|
| 22 | this document!) |
|
| 23 | ||
| 24 | First, you need some other things: |
|
| 25 | ||
| 26 | 1) MySQL database server. |
|
| 27 | 2) Tcl 7.6 |
|
| 28 | 3) TclX 7.6 |
|
| 29 | 4) mysqltcl program (hmm.. This was tricky.. Read on) |
|
| 30 | 5) Some kind of HTTP server so you could use CGI scripts |
|
| 31 | ||
| 32 | 1.1 Getting and setting up MySQL database |
|
| 33 | ||
| 34 | Visit MySQL homepage at http://www.tcx.se and grab the latest |
|
| 35 | stable binary release of the server. Sure, you can get sources and |
|
| 36 | compile them yourself, but binaries are the easiest and the fastest |
|
| 37 | way to get it up and running. Follow instructions found in |
|
| 38 | manual. There is a section about installing binary-only |
|
| 39 | distributions. |
|
| 40 | ||
| 41 | You should create database "bugs". It may be a good idea to make it |
|
| 42 | writable by all users on your machine and change access level |
|
| 43 | later. This would save you a lot of time trying to guess whether it's |
|
| 44 | permissions or a mistake in the script that make things fail. |
|
| 45 | ||
| 46 | 1.2-3 Getting and building Tcl & TclX 7.6 |
|
| 47 | ||
| 48 | Tcl homepage is at http://www.scriptics.com. You may get sources |
|
| 49 | for UNIX from ftp://ftp.scriptics.com/pub/tcl/tcl7_6/tcl7.6p2.tar.gz. |
|
| 50 | TclX is an extension for Tcl that adds a lot of useful functions that |
|
| 51 | are heavily used in the Bugzilla tool. |
|
| 52 | TclX page is http://www.neosoft.com/tclx. Download sources from |
|
| 53 | ftp://ftp.neosoft.com/pub/tcl/TclX/tclX7.6.0.tar.gz. Watch out for the |
|
| 54 | case of the letters in URL. These guys are going to bring some fun |
|
| 55 | into your life by spelling their program name in various ways. |
|
| 56 | ||
| 57 | Now you've probably got both Tcl and TclX 7.6. You may try to use |
|
| 58 | version 8.X but I'm not sure about results. Unfortunately I'm not an |
|
| 59 | expert in "Tcl&Co.". |
|
| 60 | ||
| 61 | Build and install Tcl first. Then build and install TclX. This |
|
| 62 | should go without serious problems |
|
| 63 | ||
| 64 | 1.4 mysqltcl - the tricky part |
|
| 65 | ||
| 66 | Grab msqltcl 1.50 (yes, "msqltcl" without 'y'. That's not a typo) from |
|
| 67 | MySQL site's contributed software area (http://www.tcx.se/Contrib/) or |
|
| 68 | from mSQL site (www.hughes.com.au). I've used version 1.50 and it |
|
| 69 | works for me, though you may try more recent version at your own |
|
| 70 | risk. You're risking anyway. |
|
| 71 | ||
| 72 | Then grab mysqltcl.c-patch from MySQL's contrib area and apply this |
|
| 73 | patch to msqltcl.c file from msqltcl-1.50 distribution. |
|
| 74 | ||
| 75 | Try to make msqltcl binary which is in fact mYsqltcl already. Very |
|
| 76 | likely that you will not be able to compile it without modifications. |
|
| 77 | ||
| 78 | You can use the patch in APPENDIX 1 to see what changes I had to make |
|
| 79 | to compile mysqltcl. Your mileage may vary. |
|
| 80 | ||
| 81 | ||
| 82 | 1.5 HTTP server |
|
| 83 | ||
| 84 | You have a freedom of choice here - Apache, Netscape or any other |
|
| 85 | server on UNIX would do. The only thing - to make configuration easier |
|
| 86 | you'd better run HTTP daemon on the same machine that you run MySQL |
|
| 87 | server on. Make sure that you can access 'bugs' database with user |
|
| 88 | id you're running the daemon with. |
|
| 89 | ||
| 90 | ||
| 91 | 2. TWEAKING THE TOOLS |
|
| 92 | ||
| 93 | Now you should have all necessary tools to be able to run Bugzilla |
|
| 94 | and see why the wouldn't work for you right now. |
|
| 95 | ||
| 96 | First of all you have to change "#!/usr/bonsaitools" to wherever |
|
| 97 | you've installed your binaries in all executable scripts in Bugzilla |
|
| 98 | directories. |
|
| 99 | ||
| 100 | ||
| 101 | 3. Setting up database |
|
| 102 | ||
| 103 | You should be run all six scripts named make*.sh. This creates the |
|
| 104 | databases and populates them a teeny bit. |
|
| 105 | ||
| 106 | ||
| 107 | 25 | 4. Setting the parameters |
| 108 | ||
| 109 | At this point, you ought to be able to go and browse some pages. But you'd |
|
| 110 | like to customize some things. |
|
| 111 | ||
| 112 | Create yourself an account. (Try to enter a new bug, and it will |
|
| 113 | prompt you for your login. Give it your email address, and have it |
|
| 114 | mail you your password.) Go visit the query page; that ought to force |
|
| 115 | the creation of the "params" file in your installation dir. Edit the |
|
| 116 | params file, and change the line that says "set param(maintainer)" to |
|
| 117 | have your email address as the maintainer. Go visit the query page |
|
| 118 | again; there should now be a link at the bottom that invites you to |
|
| 119 | edit the parameters. (If you have cookies turned off, you'll have to |
|
| 120 | go to editparams.cgi manually.) |
|
| 121 | ||
| 122 | Tweak the parameters to taste. Be careful. |
|
| 123 | ||
| 124 | ||
| 125 | 5. Set up the whining cron job. |
|
| 126 | ||
| 127 | It's a good idea to set up a daily cronjob that does |
|
| 128 | ||
| 129 | cd <your-installation-dir> ; ./whineatnews.tcl |
|
| 130 | ||
| 131 | This causes email that gets sent to anyone who has a NEW bug that |
|
| 132 | hasn't been touched for several days. For more info, see the |
|
| 133 | whinedays and whinemail parameters. |
|
| 134 | ||
| 135 | ||
| 136 | 3 | |
| 137 | ******************************************************* |
|
| 138 | APPENDIXES |
|
| 139 | ******************************************************* |
|
| 140 | ||
| 141 | ||
| 142 | APPENDIX 1. Patch to build mysqltcl. |
|
| 143 | -------------------------------------- |
|
| 144 | ||
| 145 | diff -u -r msqltcl-1.50/Makefile mysqltcl-1.50/Makefile |
|
| 146 | --- msqltcl-1.50/Makefile Tue Jun 6 07:25:39 1995 |
|
| 147 | +++ mysqltcl-1.50/Makefile Tue Jun 23 18:20:07 1998 |
|
| 148 | @@ -38,11 +38,11 @@ |
|
| 149 | # |
|
| 150 | #----- Tcl/Tk libraries & such |
|
| 151 | # Path for Tcl include files. |
|
| 152 | -TCLINCL = -I/usr/local/include |
|
| 153 | +TCLINCL = -I../include |
|
| 154 | # Path for Tk include files, if different from the above. |
|
| 155 | TKINCL = |
|
| 156 | # Libraries required to link plain Tcl. |
|
| 157 | -TCLLIBS = -L/usr/local/lib -ltcl -lm |
|
| 158 | +TCLLIBS = -L../lib -ltclx7.6.0 -ltcl7.6 -lm -lnsl -lsocket |
|
| 159 | # Libraries required to link plain Tk. |
|
| 160 | TKLIBS = -L/usr/local/lib -ltk -ltcl -lX11 -lm |
|
| 161 | ||
| 162 | @@ -66,11 +66,11 @@ |
|
| 163 | # |
|
| 164 | #----- Tcl/Tk libraries & such |
|
| 165 | # Path for Tcl include files. |
|
| 166 | -NEWTCLINCL = -I/usr/local/new/include |
|
| 167 | +NEWTCLINCL = -I../include |
|
| 168 | # Path for Tk include files, if different from the above. |
|
| 169 | NEWTKINCL = |
|
| 170 | # Libraries required to link plain Tcl. |
|
| 171 | -NEWTCLLIBS = -L/usr/local/new/lib -ltcl -lm |
|
| 172 | +NEWTCLLIBS = -L../lib -ltclx7.6.0 -ltcl7.6 -lm -lnsl -lsocket |
|
| 173 | # Libraries required to link plain Tk. |
|
| 174 | NEWTKLIBS = -L/usr/local/new/lib -ltk -ltcl -lX11 -lm |
|
| 175 | ||
| 176 | @@ -82,7 +82,7 @@ |
|
| 177 | # Path for TclX/TkX include files, if different from plain Tcl. |
|
| 178 | NEWTCLXINCL = |
|
| 179 | # Extra libraries required to link TclX. |
|
| 180 | -NEWTCLXLIBS = -L/usr/local/new/lib -ltclx |
|
| 181 | +NEWTCLXLIBS = -L../mysql/lib -ltclx |
|
| 182 | # Extra libraries required to link TkX. |
|
| 183 | NEWTKXLIBS = -L/usr/local/new/lib -ltkx -ltclx |
|
| 184 | # TclX/TkX 'AppInit' files (base names). |
|
| 185 | @@ -94,16 +94,16 @@ |
|
| 186 | # |
|
| 187 | #----- mSQL libraries & such |
|
| 188 | # Path for mSQL include files. |
|
| 189 | -MSQLINCL = -I/usr/local2/src/Minerva/include |
|
| 190 | +MSQLINCL = -I../mysql/include |
|
| 191 | # Libraries required to link an mSQL application. |
|
| 192 | -MSQLLIB = -L/usr/local2/src/Minerva/lib -lmsql |
|
| 193 | +MSQLLIB = -L../mysql/lib -lmysqlclient |
|
| 194 | ||
| 195 | #===== END OF CONFIGURATION DEFINITIONS ===== |
|
| 196 | ||
| 197 | INCL = -I. ${MSQLINCL} ${TCLINCL} ${TKINCL} |
|
| 198 | CFLAGS = ${OPTIM} -c |
|
| 199 | LDFLAGS = ${OPTIM} |
|
| 200 | -PROGS = msqltcl msqlwish |
|
| 201 | +PROGS = msqltcl # msqlwish |
|
| 202 | TCLLINK = ${MSQLLIB} ${TCLLIBS} |
|
| 203 | TKLINK = ${MSQLLIB} ${TKLIBS} |
|
| 204 | ||
| 205 | diff -u -r msqltcl-1.50/new-tclAppInit.c mysqltcl-1.50/new-tclAppInit.c |
|
| 206 | --- msqltcl-1.50/new-tclAppInit.c Tue Jun 6 07:25:38 1995 |
|
| 207 | +++ mysqltcl-1.50/new-tclAppInit.c Tue Jun 23 18:28:14 1998 |
|
| 208 | @@ -14,7 +14,7 @@ |
|
| 209 | static char sccsid[] = "@(#) tclAppInit.c 1.11 94/12/17 16:14:03"; |
|
| 210 | #endif /* not lint */ |
|
| 211 | ||
| 212 | -#include "tcl.h" |
|
| 213 | +#include "tclExtend.h" |
|
| 214 | ||
| 215 | /* |
|
| 216 | * The following variable is a special hack that is needed in order for |
|
| 217 | @@ -48,7 +48,7 @@ |
|
| 218 | int argc; /* Number of command-line arguments. */ |
|
| 219 | char **argv; /* Values of command-line arguments. */ |
|
| 220 | { |
|
| 221 | - Tcl_Main(argc, argv); |
|
| 222 | + TclX_Main(argc, argv, Tcl_AppInit); |
|
| 223 | return 0; /* Needed only to prevent compiler warning. */ |
|
| 224 | } |
|
| 225 | ||
| 226 | @@ -79,6 +79,10 @@ |
|
| 227 | return TCL_ERROR; |
|
| 228 | } |
|
| 229 | ||
| 230 | + if (Tclx_Init(interp) == TCL_ERROR) { |
|
| 231 | + return TCL_ERROR; |
|
| 232 | + } |
|
| 233 | + |
|
| 234 | /* |
|
| 235 | * Call the init procedures for included packages. Each call should |
|
| 236 | * look like this: |
|
| 237 | @@ -90,7 +94,7 @@ |
|
| 238 | * where "Mod" is the name of the module. |
|
| 239 | */ |
|
| 240 | ||
| 241 | - if (Msqltcl_Init(interp) == TCL_ERROR) { |
|
| 242 | + if (Mysqltcl_Init(interp) == TCL_ERROR) { |
|
| 243 | return TCL_ERROR; |
|
| 244 | } |
|
| 245 | ||
| 246 | @@ -106,6 +110,6 @@ |
|
| 247 | * then no user-specific startup file will be run under any conditions. |
|
| 248 | */ |
|
| 249 | ||
| 250 | - tcl_RcFileName = "~/.tclshrc"; |
|
| 251 | +/* tcl_RcFileName = "~/.tclshrc"; */ |
|
| 252 | return TCL_OK; |
|
| 253 | } |
|
| 254 | ||
| 255 | ||
| 256 |
Loggerhead 1.18.1 is a web-based interface for Bazaar branches