2000-08-15 02:22:15 +04:00
|
|
|
Currently this is Alpha/Beta code, because no one but me is using it
|
|
|
|
yet (and even I am not using all the features I have tested). If you
|
|
|
|
are not really comfortable coding in perl I suggest you wait until
|
|
|
|
more people are using it and we get the minor kinks worked out of the
|
|
|
|
code and documentation.
|
|
|
|
|
|
|
|
|
|
|
|
To install:
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-09-22 19:07:28 +04:00
|
|
|
1) read and edit the variables found in the files ./src/lib/* particularly:
|
|
|
|
|
|
|
|
TinderConfig.pm: general configuration settings
|
2000-10-18 03:47:08 +04:00
|
|
|
TreeData.pm: version control configuration
|
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
These modules will take some programming experiance to configure
|
|
|
|
|
2000-09-22 19:07:28 +04:00
|
|
|
Error_Parse.pm: the regular expressions for highlighting errors
|
|
|
|
FileStructure.pm: filesystem (storage) and global/per-project settings
|
|
|
|
BTData.pm: bug tracking configuration
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
2) Run configure. You may wish to change the default directories in
|
|
|
|
configure for some of the makefile variables. When configure is done
|
|
|
|
you will have a Makefile and a config.out. Please read config.out and
|
|
|
|
make any changes which need to be made for your system.
|
2000-11-14 02:48:11 +03:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
3) run ./configure to generate a Makefile. Although Tinderbox
|
2000-10-18 03:47:08 +04:00
|
|
|
consists entirely of perl scripts we must substitute some values into
|
|
|
|
the source code to make it executable.
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
4) run make to create executable versions of the source code.
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
5) run the test programs as described in /build/test/ReadMe to ensure
|
2000-08-15 02:22:15 +04:00
|
|
|
that you have configured the program correctly.
|
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
6) run make install
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
7) set up a cron job to run $prefix/bin/tinder.cgi --daemon-mode
|
2000-09-10 21:33:42 +04:00
|
|
|
every five minutes.
|
|
|
|
set up a cron job to run $prefix/bin/tinder.cgi/rmlogs once a day.
|
2000-10-18 03:47:08 +04:00
|
|
|
six am is a good time to run this as the machine load is usually light
|
|
|
|
and will avoids any day light savings problems.
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
8) set up the $prefix/bin/processmail* programs to receive the
|
2000-09-22 19:24:16 +04:00
|
|
|
incoming tinderbox mail. The process id which receives and process
|
2000-10-18 03:47:08 +04:00
|
|
|
the mail must be the the same id which runs the tinderbox cron job to
|
|
|
|
prepare the web pages. Usually this set up is accomplished by having
|
|
|
|
the MTA (Sendmail) pass mail for particular accounts into a script.
|
|
|
|
This can be configued via a global configuration file (Sendmail alias
|
|
|
|
file) or via a .forward file (each account gets the same user id but a
|
|
|
|
different home directory, each home directory gets a .forward to cause
|
|
|
|
incomming mail to be delivered through the correct tinderbox mail
|
|
|
|
processing program).
|
|
|
|
|
|
|
|
If it is not possible to have mail delivery on your web machine and to
|
|
|
|
have your web machine deliver specific mail through a program then I
|
|
|
|
suggest you use fetchmail to simulate this delivery format. Download
|
|
|
|
fetchmail (from http://tuxedo.org/~esr/fetchmail) and install it on
|
|
|
|
your webserver. Have the mail sent to any pop/imap mail server which
|
|
|
|
is accessible from the webserver. Configure fetchmail to gather the
|
|
|
|
mail from the mail server and pass it through to the correct mail
|
|
|
|
processing program. You should keep the polling interval short (30
|
|
|
|
seconds) as long polling intervals will cause delays in the tinderbox
|
|
|
|
system and limit how quickly users see the new data. If the polling
|
|
|
|
interval is too short then you will overload your pop server with
|
|
|
|
needless queries. Fetchmail should run under the same id as the
|
|
|
|
tinderbox server. The fetchmail configuration file will look
|
|
|
|
something like:
|
|
|
|
|
|
|
|
poll mail.provider.net with proto pop3:
|
|
|
|
user "tinderbox_builds" there has password "u can't krak this"
|
|
|
|
is tinder here and wants mda "$prefix/bin/processmail_builds"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We use the mail address 'tinderbox_builds' for build information
|
|
|
|
destined for the webserver. Similarly the bug tracking system should
|
|
|
|
send mail to 'tinderbox_bugs'. Currently I have a program called
|
2000-09-22 19:24:16 +04:00
|
|
|
'processmail' it will eventually be renamed to 'processmail_builds' so
|
2000-10-18 03:47:08 +04:00
|
|
|
that it is clear what mail it is processing. (Originally there was
|
|
|
|
only one mail processing program.) The bug tracking mail is parsed by
|
|
|
|
the script processmail_bugs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2000-06-22 08:17:19 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
9) if you are using VC_CVS.pm then you will need to put a ~/.cvspass
|
2000-08-11 04:27:27 +04:00
|
|
|
for tinderbox to use. Log into the CVS repository yourself, once for
|
2000-10-18 03:47:08 +04:00
|
|
|
each tree you have defined. The login command must use the
|
|
|
|
hostname/modules exactly as you wrote it in TreeData. Then copy your
|
|
|
|
~/.cvspass into the tinderbox server user id's home directory. This
|
|
|
|
must be the REAL home of the Tinderbox daemon, as listed in
|
2000-08-11 04:27:27 +04:00
|
|
|
/etc/passwd/ and set in the $HOME environmental variable for
|
|
|
|
tinder.cgi.
|
|
|
|
|
2000-08-30 06:14:14 +04:00
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
10) setup the build machines to mail their build logs (with tinderbox
|
2000-10-18 03:47:08 +04:00
|
|
|
variables on the top) to the web server machine. New builds must not
|
|
|
|
start earlier then 6 minutes after the last build started. Each build
|
|
|
|
machine mails the build log of each build and puts some build data at
|
|
|
|
the top of the log. Build information includes whether the build was
|
|
|
|
a success, which error parsers to use on the log file and what build
|
|
|
|
this is. The mail processing program has a help file (--help) which
|
|
|
|
details the format it knows how to accept.
|
|
|
|
|
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
11) Set up the bug tracking system to send mail to 'tinderbox_bugs' on
|
2000-10-18 03:47:08 +04:00
|
|
|
the webserver machine whenever a Bug ticket changes state. It is not
|
|
|
|
interesting to see which tickets are being worked on, so restrict
|
|
|
|
mailing to changes in ticket state not updates (edit) of a ticket.
|
|
|
|
|
|
|
|
|
2000-11-29 22:47:38 +03:00
|
|
|
12) Check that the time on your webserver, your version control
|
2000-10-18 03:47:08 +04:00
|
|
|
machine, your bug tracking machine and your build machines are all in
|
2000-11-29 22:47:38 +03:00
|
|
|
sync. Check that mail if build mail bounces on any of the above
|
2000-10-18 03:47:08 +04:00
|
|
|
machines that it will be recieved by someone who can act on it.
|
2000-06-22 08:17:19 +04:00
|
|
|
|