[Collab-qa-commits] r822 - in svnbuildstat/trunk: lib/SvnBuildStat script
goneri at alioth.debian.org
goneri at alioth.debian.org
Sun Apr 27 12:46:58 UTC 2008
Author: goneri
Date: 2008-04-27 12:46:56 +0000 (Sun, 27 Apr 2008)
New Revision: 822
Modified:
svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
svnbuildstat/trunk/script/svnbuildstat_import-new-report.pl
Log:
save the qajob log
Modified: svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Common.pm 2008-04-27 01:53:05 UTC (rev 821)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Common.pm 2008-04-27 12:46:56 UTC (rev 822)
@@ -11,7 +11,7 @@
require Exporter;
our @ISA = "Exporter";
-our @EXPORT = qw(mkTarballFromChangelogentry updateRepositoryentryDebianversion checkRepositoryentryWatchfile testUrl mkRootdirectoryFromRepositoryentry getDataFromDebianFtp parseControl parseChangelog createTarballUrlFromTarballlayout getTODO getTarballURLWithWatchfile recurseMkdir updateLastBuildSymlink);
+our @EXPORT = qw(mkTarballFromChangelogentry updateRepositoryentryDebianversion checkRepositoryentryWatchfile testUrl mkRootdirectoryFromRepositoryentry getDataFromDebianFtp parseControl parseChangelog createTarballUrlFromTarballlayout getTODO getTarballURLWithWatchfile recurseMkdir updateLastBuildSymlink getQajobResultDirectory getFullQajobResultDirectory);
our $archs = "(i386|m68k|sparc|alpha|powerpc|".
"arm|mips|mipsel|hppa|ia64|s390|amd64|".
@@ -357,7 +357,7 @@
#
#}
# return the local directory where to store the files created after a build
-sub getResultDirectory {
+sub getBuildResultDirectory {
my $build = shift;
my $buildDirectory = '/'.$$build->changelogentry_id->repositoryentry_id->repository_id->team_id->shortname.'/'.$$build->changelogentry_id->repositoryentry_id->sourcepackage_id->name.'/'.$$build->changelogentry_id->repositoryentry_id->changelogentry_id->id.'/build/'.$$build->id;
@@ -365,10 +365,10 @@
return $buildDirectory;
}
-sub getFullResultDirectory {
+sub getFullBuildResultDirectory {
my $build = shift;
- my $resultdirectory = getResultDirectory($build);
+ my $resultdirectory = getBuildResultDirectory($build);
return unless $resultdirectory;
my $cfg = Config::IniFiles->new( -file => $ENV{HOME}."/.svnbuildstat.ini" ) or die "can't load config file";
@@ -378,10 +378,34 @@
return $staticdir.'/files'.$resultdirectory;
}
+sub getQajobResultDirectory {
+ my $qajob = shift;
+
+ my $qajobDirectory = '/'.$$qajob->changelogentry_id->repositoryentry_id->repository_id->team_id->shortname.'/'.$$qajob->changelogentry_id->repositoryentry_id->sourcepackage_id->name.'/'.$$qajob->changelogentry_id->repositoryentry_id->changelogentry_id->id.'/qajob/'.$$qajob->id;
+
+ return $qajobDirectory;
+}
+
+sub getFullQajobResultDirectory {
+ my $qajob = shift;
+
+ my $qajobDirectory = getQajobResultDirectory($qajob);
+ return unless $qajobDirectory;
+
+ my $cfg = Config::IniFiles->new( -file => $ENV{HOME}."/.svnbuildstat.ini" ) or die "can't load config file";
+ my $staticdir = $cfg->val('path', 'staticdir');
+
+ return $staticdir.'/files'.$qajobDirectory;
+}
+
+
+
+
+
sub updateLastBuildSymlink {
my $build = shift;
- my $resultdirectory = getResultDirectory($build);
+ my $resultdirectory = getBuildResultDirectory($build);
return unless $resultdirectory;
my $cfg = Config::IniFiles->new( -file => $ENV{HOME}."/.svnbuildstat.ini" ) or die "can't load config file";
Modified: svnbuildstat/trunk/script/svnbuildstat_import-new-report.pl
===================================================================
--- svnbuildstat/trunk/script/svnbuildstat_import-new-report.pl 2008-04-27 01:53:05 UTC (rev 821)
+++ svnbuildstat/trunk/script/svnbuildstat_import-new-report.pl 2008-04-27 12:46:56 UTC (rev 822)
@@ -136,20 +136,20 @@
$build->buildisok ($infofile->{build} eq "ok"?"true":"false");
$build->duration($infofile->{'stamp_build-end'}-$infofile->{'stamp_build-start'});
- my $fullResultDirectory = SvnBuildStat::Common::getFullResultDirectory(\$build);
- my $debTargetDirectory = $fullResultDirectory."/deb";
-# my $explodedTargetDirectory = $fullResultDirectory."/exploded";
- recurseMkdir($fullResultDirectory);
+ my $fullBuildResultDirectory = SvnBuildStat::Common::getFullBuildResultDirectory(\$build);
+ my $debTargetDirectory = $fullBuildResultDirectory."/deb";
+# my $explodedTargetDirectory = $fullBuildResultDirectory."/exploded";
+ recurseMkdir($fullBuildResultDirectory);
recurseMkdir($debTargetDirectory);
# recurseMkdir($explodedTargetDirectory);
-# if (!-d $fullResultDirectory || !-d $debTargetDirectory || !-d $explodedTargetDirectory) {
- if (!-d $fullResultDirectory || !-d $debTargetDirectory) {
+# if (!-d $fullBuildResultDirectory || !-d $debTargetDirectory || !-d $explodedTargetDirectory) {
+ if (!-d $fullBuildResultDirectory || !-d $debTargetDirectory) {
print("recuseMkdir failed\n");
info("recurseMkdir failed");
return;
}
- copy ($dir.'/'.$infofile->{logfile}, $fullResultDirectory."/build.log") or warn;
- copy ($File::Find::name, $fullResultDirectory."/build.info") or warn;
+ copy ($dir.'/'.$infofile->{logfile}, $fullBuildResultDirectory."/build.log") or warn;
+ copy ($File::Find::name, $fullBuildResultDirectory."/build.info") or warn;
my @localfile;
@@ -210,9 +210,9 @@
}
- my $changelogentry = $schema->resultset('Qajob')->search(id => $infofile->{'qajob_id'}, cookie => $infofile->{'cookie'})->first;
+ my $qajob = $schema->resultset('Qajob')->search(id => $infofile->{'qajob_id'}, cookie => $infofile->{'cookie'})->first;
- if (!$changelogentry) {
+ if (!$qajob) {
#cleanUp ($dir, $infofile);
return;
}
@@ -227,10 +227,22 @@
my $qaresultentry = $schema->resultset('Qaresultentry')->find_or_create(
qatag_id => $qatag->id,
text => $_->{qaresultentry},
- qajob_id => $changelogentry->id
+ qajob_id => $qajob->id
);
}
+ print $infofile->{'logfile'}."\n";
+ if ($infofile->{'logfile'}) {
+ my $fullQajobResultDirectory = getFullQajobResultDirectory(\$qajob);
+ if (!recurseMkdir ($fullQajobResultDirectory)) {
+ error("Failed to create $fullQajobResultDirectory");
+ }
+ if (copy ($dir.'/'.$infofile->{'logfile'}, $fullQajobResultDirectory.'/qajob.log')) {
+ $qajob->date("NOW");
+ } else {
+ error ("Failed to save log ".$dir.'/'.$infofile->{'logfile'});
+ }
+ }
$qajob->date("NOW");
$qajob->update;
More information about the Collab-qa-commits
mailing list