spadesmaster |
04-27-2007 04:19 PM |
Wierd CVS checkout problem from CGI perl script
I am trying to create a Intranet Web interface to allow non-technical types to kickoff our build script via a CGI interface.
* CGI interface works.
* Perl script executes and does everything BUT the CVS checkout I request.
* CVS does get execute (/usr/local/cvsroot/CVSROOT/history shows the checkout request)
* CVS only creates an empty working directory (with just the CVS control files). None of the actual project files are in it.
* Same script run from the command-line sudoed as www-data checks out all the files correctly.
Here is the relevant code:
Code:
`/bin/rm -rf $dirSrc/dqcode`;
print "Normal CVS checkout of dqcode...\n";
$syscmd = "cd $dirSrc; pwd; /usr/bin/cvs -d $dirCvs checkout $strProject";
print "Executing $syscmd\n";
`$syscmd`;
This outputs this when run as CGI-BIN:
Quote:
Normal CVS checkout of dqcode...
Executing cd /share/Builds/Src; pwd; /usr/bin/cvs -d /usr/local/cvsroot checkout dqcode
CVS checkout of /share/Builds/Src/dqcode failed!
|
And when run from the command-line it outputs:
Quote:
Normal CVS checkout of dqcode...
Executing cd /share/Builds/Src; pwd; /usr/bin/cvs -d /usr/local/cvsroot checkout
dqcode
cvs checkout: Updating dqcode
cvs checkout: Updating dqcode/Autorun
...
|
I suspected a current directory or permission problem, but the sudo as www-data test and pwd check seem to verify that isn't it. Any other ideas? Any CVS error log somewhere other than the history file? I know CVS is the one failing, but cannot seem to get any debug output (the -v parameter didn't output anything either).
Blitzkrieg ('tanks in advance),
Christopher
|