Thursday, November 5, 2009

Tweak single instance of tinderbox to work on two different perforce servers

Tinderbox is a tool developed by Mozilla, which collects build logs and presents the logs and the result it in a nice, clear and concise way.

But one instance of tinderbox works with one SCM system. In our organization, we have 2 different perforce servers, but we don't want to have two different tinderbox installations for 2 different perforce servers. To make one instance of tinderbox to work on two different perforce servers, following tweak needs to be done Tinderbox code.

File 1: tb_code/lib/TinderDB/VC_Perforce.pm
Add following lines

936a937,942
> if ($filespec =~ /RKM/) { #Here RKM is the depot name, whose p4 server is different
> $ENV{'P4PORT'} = $TinderConfig::RKM_PERFORCE_PORT;
> $ENV{'P4USER'} = $TinderConfig::RKM_PERFORCE_USER;
> $ENV{'P4PASSWD'} = $TinderConfig::RKM_PERFORCE_PASSWD;
> }
>


File 2: tb_code/local_conf/TinderConfig.pm
Add the following lines
62a63,66
> #RKM Perforce variables
> $RKM_PERFORCE_PORT="perforce:1777";
> $RKM_PERFORCE_USER="p4id";
> $RKM_PERFORCE_PASSWD="xxxxxx";

Basically we are defining different set of perforce variables in File2 and making File 1 to use it matching a depot in the alternative perforce server

No comments: