RSS

(root)/bugzilla/4.2 : /README (revision 32)

To get this branch, use:
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