Installation

System

Under UNIX, Scmbug is available in the form of Debian and RPM packages. The provided packages are:

Under Windows, the entire Scmbug system is available in the form of a single .zip file. It must be manually installed in C:/Program Files/Scmbug. It requires ActiveState ActivePerl installed in C:/Perl/bin/perl, and a temporary directory called C:/Temp.

Source code distributions are also available. Figure 2 shows how the system can be configured and installed from source. It is possible to choose a different destination of the libraries and binaries of Scmbug both in UNIX and Windows systems at configuration time. If you are configuring from source code, running './configure --help' can provide more information.

	bash$ ./configure
	bash$ make
	bash$ su
	bash# make install-common
	bash# make install-doc
	bash# make install-tools
	bash# make install-server
        

Figure 2. Installation of the system from source.

Tip

Installing all these packages will NOT automatically integrate an SCM repository with a bug-tracking system. It will only install the basic software needed to do so.

A user must configure the Integration Daemon and start it as shown in Figure 3. Then, a user must run the Glue Installer to install the Scmbug integration in an SCM repository.

Starting the Integration Daemon in UNIX systems:

bash# /etc/init.d/scmbug-server start
                

Starting the Integration Daemon in Windows systems:

C:\> cd C:/Program Files/Scmbug/etc/init.d
C:/Program Files/Scmbug/etc/init.d> scmbug-server.bat
                

Figure 3. Integration daemon start.

Tip

When specifying paths in Windows, either in the glue installer, the glue configuration file, or the integration daemon, paths should have directories separated with a forward (/) slash.

Tip

There are various dependencies on the packages provided. Both dependencies on other packages, and on Perl modules. If they are ignored, the Integration Daemon and the Integration Tools will detect the missing dependency and refuse to execute.

Documentation

Installation of documentation, including this manual, requires installing the package scmbug-doc.

Integration Tools

Installation of the Integration Tools requires installing the packages scmbug-common and scmbug-tools. It also requires a diffing tool. For Windows, one such binary (diff.exe) is available in the GNU utilities for Win32.

Running the VDD Generator additionally requires installing the xsltproc, and docbook-utils packages. It is uncertain where one could get these packages for Windows. An xsltproc distribution for Windows seems to be available from Igor Zlatkovic's website, but we have yet to locate a docbook-utils package for Windows.

Integration Daemon

Installation of the daemon requires installing the packages scmbug-common and scmbug-server. Additionally, it requires installing the Perl modules Mail::Sendmail (for policy Mail on success) and XML::Simple (for an activity_get_vdd issued by the VDD Generator), as shown in Figure 4. If an SCM to bug-tracking username mapping is configured based on variable mapping_ldap, as described in the Section called Valid SCM to bug-tracking username mapping in the chapter called Features, the Perl module Net::LDAP must also be installed.

Installation in UNIX systems:

bash$ su
bash# perl -MCPAN -e "install Mail::Sendmail"
bash# perl -MCPAN -e "install XML::Simple"
                

Installation in Windows systems:

C:\> ppm
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.
ppm> install Mail-Sendmail
ppm> install XML-Simple
                

Figure 4. Mail::Sendmail, XML::Simple installation.

The file /etc/scmbug/daemon.conf holds the configuration of the daemon.

Integration with multiple bug-tracking systems can be accomplished by starting multiple daemons listening at different ports.

Bugzilla

For reasons explained in the Section called Bugzilla in the chapter called Bug-tracking Backends, the integration daemon requires local presence of the source code used to run a Bugzilla instance. It also requires access to the database used to store Bugzilla's data. It is recommended that the daemon is installed on the same machine Bugzilla runs, but this is not required. If the daemon is installed on the same machine Bugzilla runs, Scmbug will force the Bugzilla version cache (which is a local file) to be regenerated when activity_tag integration requests are processed.

Mantis

Integration with Mantis requires access to the database used to store Mantis' data. At a minimum, it requires installing the DBI Perl module, as shown in Figure 5.

Installation in UNIX systems:

bash$ su
bash# perl -MCPAN -e "install DBI"
        

Installation in Windows systems:

C:\> ppm
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.
ppm> install DBI
                

Figure 5. DBI installation.

As explained in the Section called Mantis in the chapter called Bug-tracking Backends, Mantis supports installation with multiple database backends, and requires the corresponding DBD Perl module to be installed. For example, if Mantis is installed with a MySQL database backend, the DBD::mysql Perl module must also be installed(Figure 6) and the database_vendor variable must be configured as shown in Figure 3 in the Section called Mantis in the chapter called Bug-tracking Backends.

Installation in UNIX systems:

	bash$ su
	bash# perl -MCPAN -e "install DBD::mysql"
        

Installation in Windows systems:

C:\> ppm
PPM - Programmer's Package Manager version 3.1.
Copyright (c) 2001 ActiveState Corp. All Rights Reserved.
ActiveState is a devision of Sophos.

Entering interactive shell. Using Term::ReadLine::Stub as readline library.

Type 'help' to get started.
ppm> install DBD-mysql
                

Figure 6. DBD::mysql installation.

Request Tracker

For reasons explained in the Section called Request Tracker in the chapter called Bug-tracking Backends, the integration daemon requires local presence of the source code used to run a RequestTracker instance. It has not yet been investigated if it also requires local access to the database used to store RequestTracker's data.