gecko-dev/webtools/bugzilla
terry%netscape.com 4fc335dd6b Oops; mention nomail and maillock. (Thanks to
Sam Ziegler <ziegler@mediaguaranty.com> for pointing out their lack.)
1998-09-02 22:31:50 +00:00
..
1x1.gif Bugzilla source. 1998-08-26 06:14:20 +00:00
ant.jpg smaller version of the ant image (8k instead of 17k.) 1998-08-26 22:36:05 +00:00
bug_form.tcl Hacky preventative for bug 540 -- disable the "edit long description" 1998-08-27 18:14:14 +00:00
bug_status.html Bugzilla source. 1998-08-26 06:14:20 +00:00
buglist.cgi Patch by Sam Ziegler <ziegler@mediaguaranty.com> -- allow querying for 1998-09-02 19:02:30 +00:00
CGI.tcl Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
changepassword.cgi Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
CHANGES Changelog of important Bugzilla changes. 1998-09-02 18:56:48 +00:00
colchange.cgi Get rid of "verified_ts" and "resolved_ts" stuff; we aren't keeping 1998-08-28 20:19:31 +00:00
defparams.tcl Added parameters to specify the HTML that goes at the top of every 1998-09-01 04:33:37 +00:00
doclosebug.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
doeditparams.cgi Allow editing of parameters via a web page. 1998-09-01 04:21:45 +00:00
edit_desc.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
editparams.cgi Use POST, not GET. Allow for boolean params. 1998-09-01 20:54:24 +00:00
enter_bug.cgi Patch inspired by Sam Ziegler <ziegler@mediaguaranty.com> -- deal 1998-09-01 21:01:44 +00:00
globals.tcl Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
help.html Bugzilla source. 1998-08-26 06:14:20 +00:00
how_to_mail.html Bugzilla source. 1998-08-26 06:14:20 +00:00
index.html give the image a border 1998-08-26 22:36:44 +00:00
long_list.cgi Get rid of the "read and eat" line; it doesn't make sense here. 1998-08-28 13:50:41 +00:00
makeactivitytable.sh Bugzilla source. 1998-08-26 06:14:20 +00:00
makebugtable.sh Bugzilla source. 1998-08-26 06:14:20 +00:00
makecctable.sh Bugzilla source. 1998-08-26 06:14:20 +00:00
makecomponenttable.sh Oh, gee, djw doesn't work here anymore, and doesn't own the Layout 1998-09-01 04:58:10 +00:00
makelogincookiestable.sh Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
makeprofilestable.sh Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
makeversiontable.sh The default product is now called "Mozilla". 1998-08-27 15:30:25 +00:00
new_comment.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
newquip.html Bugzilla source. 1998-08-26 06:14:20 +00:00
post_bug.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
process_bug.cgi Fixed bug 513 -- adding CC field caused crash. 1998-08-28 18:32:15 +00:00
processmail Use the "urlbase" param. Make regeneration easier. 1998-09-01 14:02:13 +00:00
query.cgi Patch by Sam Ziegler <ziegler@mediaguaranty.com> -- allow querying for 1998-09-02 19:02:30 +00:00
README Oops; mention nomail and maillock. (Thanks to 1998-09-02 22:31:50 +00:00
relogin.cgi Changed the way password validation works. We now keep a 1998-09-02 18:54:54 +00:00
sanitycheck.cgi Do some simple sanity checks. 1998-09-01 01:20:36 +00:00
show_activity.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
show_bug.cgi Bugzilla source. 1998-08-26 06:14:20 +00:00
whineatnews.tcl Whine at people who haven't been checking their NEW bugs. 1998-09-01 04:22:32 +00:00

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This is Bugzilla.  See <http://www.mozilla.org/bugs/>.


	==========
	DISCLAIMER
	==========

This is not very well packaged code.  It's not packaged at all.  Don't
come here expecting something you plop in a directory, twiddle a few
things, and you're off and using it.  Work has to be done to get
there.  We'd like to get there, but it wasn't clear when that would
be, and so we decided to let people see it first.



	============
	INSTALLATION
	============

(This section stolen heavily from the Bonsai INSTALL document.  It's
also probably incomplete.  "We're accepting patches", especially to
this document!)

First, you need some other things:

   1) MySQL database server.
   2) Tcl 7.6
   3) TclX 7.6
   4) mysqltcl program (hmm.. This was tricky.. Read on)
   5) Some kind of HTTP server so you could use CGI scripts

1.1 Getting and setting up MySQL database

   Visit MySQL homepage at http://www.tcx.se and grab the latest
stable binary release of the server. Sure, you can get sources and
compile them yourself, but binaries are the easiest and the fastest
way to get it up and running. Follow instructions found in
manual. There is a section about installing binary-only
distributions. 

   You should create database "bugs". It may be a good idea to make it
writable by all users on your machine and change access level
later. This would save you a lot of time trying to guess whether it's
permissions or a mistake in the script that make things fail.

1.2-3 Getting and building Tcl & TclX 7.6

    Tcl homepage is at http://www.scriptics.com. You may get sources
for UNIX from ftp://ftp.scriptics.com/pub/tcl/tcl7_6/tcl7.6p2.tar.gz.
TclX is an extension for Tcl that adds a lot of useful functions that
are heavily used in the Bugzilla tool. 
TclX page is http://www.neosoft.com/tclx. Download sources from
ftp://ftp.neosoft.com/pub/tcl/TclX/tclX7.6.0.tar.gz. Watch out for the
case of the letters in URL. These guys are going to bring some fun
into your life by spelling their program name in various ways.

    Now you've probably got both Tcl and TclX 7.6. You may try to use
version 8.X but I'm not sure about results. Unfortunately I'm not an
expert in "Tcl&Co.".

    Build and install Tcl first. Then build and install TclX. This
should go without serious problems

1.4 mysqltcl - the tricky part

   Grab msqltcl 1.50 (yes, "msqltcl" without 'y'. That's not a typo) from
MySQL site's contributed software area (http://www.tcx.se/Contrib/) or
from mSQL site (www.hughes.com.au). I've used version 1.50 and it
works for me, though you may try more recent version at your own
risk. You're risking anyway. 

   Then grab mysqltcl.c-patch from MySQL's contrib area and apply this
patch to msqltcl.c file from msqltcl-1.50 distribution. 

   Try to make msqltcl binary which is in fact mYsqltcl already. Very
likely that you will not be able to compile it without modifications.
    
   You can use the patch in APPENDIX 1 to see what changes I had to make
to compile mysqltcl. Your mileage may vary.


1.5 HTTP server

You have a freedom of choice here - Apache, Netscape or any other
server on UNIX would do. The only thing - to make configuration easier
you'd better run HTTP daemon on the same machine that you run MySQL
server on. Make sure that you can access 'bugs' database with user
id you're running the daemon with.


2. TWEAKING THE TOOLS

   Now you should have all necessary tools to be able to run Bugzilla
and see why the wouldn't work for you right now. 

   First of all you have to change "#!/usr/bonsaitools" to wherever
you've installed your binaries in all executable scripts in Bugzilla
directories.

   Make sure the directory containing the binaries is writable by the 
web server.  Bugzilla keeps some temporary files here.

  Create an empty file in that directory named "comments"; make sure
it is writable by the web server.  Also, create empty files named
"nomail" and "mail".

3. Setting up database

First, run mysql, and tell it "create database bugs;".

Now, you should be run all six scripts named make*.sh.  This creates the
database tables and populates them a teeny bit.


4. Setting the parameters

At this point, you ought to be able to go and browse some pages.  But you'd
like to customize some things.

Create yourself an account.  (Try to enter a new bug, and it will
prompt you for your login.  Give it your email address, and have it
mail you your password.)  Go visit the query page; that ought to force
the creation of the "params" file in your installation dir.  Edit the
params file, and change the line that says "set param(maintainer)" to
have your email address as the maintainer.  Go visit the query page
again; there should now be a link at the bottom that invites you to
edit the parameters.  (If you have cookies turned off, you'll have to
go to editparams.cgi manually.)

Tweak the parameters to taste.  Be careful.


5. Set up the whining cron job.

It's a good idea to set up a daily cronjob that does

	cd <your-installation-dir> ; ./whineatnews.tcl

This causes email that gets sent to anyone who has a NEW bug that
hasn't been touched for several days.  For more info, see the
whinedays and whinemail parameters.



*******************************************************
APPENDIXES
*******************************************************


APPENDIX 1. Patch to build mysqltcl.
--------------------------------------

diff -u -r msqltcl-1.50/Makefile mysqltcl-1.50/Makefile
--- msqltcl-1.50/Makefile	Tue Jun  6 07:25:39 1995
+++ mysqltcl-1.50/Makefile	Tue Jun 23 18:20:07 1998
@@ -38,11 +38,11 @@
 #
 #----- Tcl/Tk libraries & such
 # Path for Tcl include files.
-TCLINCL = -I/usr/local/include
+TCLINCL = -I../include
 # Path for Tk include files, if different from the above.
 TKINCL =
 # Libraries required to link plain Tcl.
-TCLLIBS = -L/usr/local/lib -ltcl -lm
+TCLLIBS = -L../lib -ltclx7.6.0 -ltcl7.6 -lm -lnsl -lsocket
 # Libraries required to link plain Tk.
 TKLIBS = -L/usr/local/lib -ltk -ltcl -lX11 -lm
 
@@ -66,11 +66,11 @@
 #
 #----- Tcl/Tk libraries & such
 # Path for Tcl include files.
-NEWTCLINCL = -I/usr/local/new/include
+NEWTCLINCL = -I../include
 # Path for Tk include files, if different from the above.
 NEWTKINCL =
 # Libraries required to link plain Tcl.
-NEWTCLLIBS = -L/usr/local/new/lib -ltcl -lm
+NEWTCLLIBS = -L../lib -ltclx7.6.0 -ltcl7.6 -lm -lnsl -lsocket
 # Libraries required to link plain Tk.
 NEWTKLIBS = -L/usr/local/new/lib -ltk -ltcl -lX11 -lm
 
@@ -82,7 +82,7 @@
 # Path for TclX/TkX include files, if different from plain Tcl.
 NEWTCLXINCL =
 # Extra libraries required to link TclX.
-NEWTCLXLIBS = -L/usr/local/new/lib -ltclx
+NEWTCLXLIBS = -L../mysql/lib -ltclx
 # Extra libraries required to link TkX.
 NEWTKXLIBS = -L/usr/local/new/lib -ltkx -ltclx
 # TclX/TkX 'AppInit' files (base names).
@@ -94,16 +94,16 @@
 #
 #----- mSQL libraries & such
 # Path for mSQL include files.
-MSQLINCL = -I/usr/local2/src/Minerva/include
+MSQLINCL = -I../mysql/include
 # Libraries required to link an mSQL application.
-MSQLLIB = -L/usr/local2/src/Minerva/lib -lmsql
+MSQLLIB = -L../mysql/lib -lmysqlclient
 
 #===== END OF CONFIGURATION DEFINITIONS =====
 
 INCL = -I. ${MSQLINCL} ${TCLINCL} ${TKINCL}
 CFLAGS = ${OPTIM} -c
 LDFLAGS = ${OPTIM}
-PROGS = msqltcl msqlwish
+PROGS = msqltcl # msqlwish
 TCLLINK = ${MSQLLIB} ${TCLLIBS}
 TKLINK = ${MSQLLIB} ${TKLIBS}
 
diff -u -r msqltcl-1.50/new-tclAppInit.c mysqltcl-1.50/new-tclAppInit.c
--- msqltcl-1.50/new-tclAppInit.c	Tue Jun  6 07:25:38 1995
+++ mysqltcl-1.50/new-tclAppInit.c	Tue Jun 23 18:28:14 1998
@@ -14,7 +14,7 @@
 static char sccsid[] = "@(#) tclAppInit.c 1.11 94/12/17 16:14:03";
 #endif /* not lint */
 
-#include "tcl.h"
+#include "tclExtend.h"
 
 /*
  * The following variable is a special hack that is needed in order for
@@ -48,7 +48,7 @@
     int argc;			/* Number of command-line arguments. */
     char **argv;		/* Values of command-line arguments. */
 {
-    Tcl_Main(argc, argv);
+    TclX_Main(argc, argv, Tcl_AppInit);
     return 0;			/* Needed only to prevent compiler warning. */
 }
 
@@ -79,6 +79,10 @@
 	return TCL_ERROR;
     }
 
+    if (Tclx_Init(interp) == TCL_ERROR) {
+	return TCL_ERROR;
+    }
+
     /*
      * Call the init procedures for included packages.  Each call should
      * look like this:
@@ -90,7 +94,7 @@
      * where "Mod" is the name of the module.
      */
 
-    if (Msqltcl_Init(interp) == TCL_ERROR) {
+    if (Mysqltcl_Init(interp) == TCL_ERROR) {
 	return TCL_ERROR;
     }
 
@@ -106,6 +110,6 @@
      * then no user-specific startup file will be run under any conditions.
      */
 
-    tcl_RcFileName = "~/.tclshrc";
+/*    tcl_RcFileName = "~/.tclshrc"; */
     return TCL_OK;
 }