8.2. Installation

8.2.1. System

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

Tip

If you believe your system meets the package dependencies, but installing packages fails due to missing dependencies, installation of the packages is still possible. Installation of RPM packages can be forced as shown in Figure 8-2, and installation of Debian packages can be forced as shown in Figure 8-3.

Figure 8-2. Forcing installation of RPM packages.

	  bash$ rpm -ivh --force --nodeps <RPM_PACKAGE_NAME>
          

Figure 8-3. Forcing installation of Debian packages.

	  bash$ dpkg -i --force-depends <DEB_PACKAGE_NAME>
          

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 8-4 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. It is also possible to build the system without documentation. If you are configuring from source code, running './configure --help' can provide more information.

Figure 8-4. Installation of the system from source.

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

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 8-5. Then, a user must run the Glue Installer to install the Scmbug integration in an SCM repository.

Figure 8-5. Integration daemon start.

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
                

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.

8.2.2. Documentation

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

8.2.3. 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. However, both xsltproc and docbook-utils are provided by Cygwin.

Running the Merger requires instaling the Perl module XML::Simple (for an activity_get_bugs), as shown in Figure 8-6.

Figure 8-6. XML::Simple installation.

Installation in UNIX systems:

bash$ su
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 XML-Simple
                

8.2.4. 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 notification) and XML::Simple (for an activity_get_vdd issued by the VDD Generator), as shown in Figure 8-7. If an SCM to bug-tracking username mapping is configured based on variable mapping_ldap, as described in Section 4.4.8, the Perl module Net::LDAP must also be installed.

Figure 8-7. Mail::Sendmail, XML::Simple installation.

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
                

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

The daemon can be started in different execution modes. These are defined in the daemon configuration file using the daemon_mode variable and are:

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

8.2.4.1. Bugzilla

For reasons explained in Section 6.1, 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.

Warning

On Windows, DBI version 1.50 or greater is required, and can be installed as shown in Figure 8-8. Earlier versions have threading issues.

8.2.4.2. 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 8-8.

Warning

On Windows, DBI version 1.50 or greater is required. Earlier versions have threading issues.

Figure 8-8. DBI installation.

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
                
As explained in Section 6.2, 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 8-9) and the database_vendor variable must be configured as shown in Figure 6-3.

Figure 8-9. DBD::mysql installation.

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
                

8.2.4.3. Request Tracker

For reasons explained in Section 6.3, 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.