summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README227
1 files changed, 227 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 000000000..e884deab8
--- /dev/null
+++ b/README
@@ -0,0 +1,227 @@
+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.
+
+
+3. Setting up database
+
+You should be run all six scripts named make*.sh. This creates the
+databases and populates them a teeny bit.
+
+
+
+*******************************************************
+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;
+ }
+
+
+