[Collab-qa-commits] r559 - in svnbuildstat/trunk: . lib lib/SvnBuildStat lib/SvnBuildStat/Controller lib/SvnBuildStat/Model lib/SvnBuildStat/View script

goneri-guest at alioth.debian.org goneri-guest at alioth.debian.org
Wed Dec 5 17:51:05 UTC 2007


Author: goneri-guest
Date: 2007-12-05 17:51:05 +0000 (Wed, 05 Dec 2007)
New Revision: 559

Added:
   svnbuildstat/trunk/lib/SvnBuildStat.pm
Modified:
   svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
   svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm
   svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm
   svnbuildstat/trunk/lib/SvnBuildStat/View/TT.pm
   svnbuildstat/trunk/schema-pg.sql
   svnbuildstat/trunk/script/svnbuildstat_agent.pl
   svnbuildstat/trunk/script/svnbuildstat_update-db.pl
   svnbuildstat/trunk/script/svnbuildstat_update-repository.pl
   svnbuildstat/trunk/script/svnbuildstat_www_server.pl
Log:
put the Model, Controller and View directories directly in the lib/SvnBuildStat
create the sourcepackage table and adjust svnbuildstat_update-db.pl


Modified: svnbuildstat/trunk/lib/SvnBuildStat/Common.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Common.pm	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Common.pm	2007-12-05 17:51:05 UTC (rev 559)
@@ -8,15 +8,15 @@
 our @ISA = "Exporter";
 our @EXPORT = qw(mkTarballFromPackage testUrl mkRootdirectoryFromPackage getDataFromDebianFtp parseControl parseChangelog);
 
-sub mkTarballFromPackage {
-  my $package = shift;
+sub mkTarballFromRepositoryentry {
+  my $repositoryentry = shift;
 
-  my $majorrelease = $$package->svndebrelease;
+  my $majorrelease = $$repositoryentry->svndebrelease;
   return unless $majorrelease;
   $majorrelease =~ s/^\d+://;
   $majorrelease =~ s/-[+0-9A-Za-z\.~]*$//;
 
-  $$package->name.'_'.$majorrelease.".orig.tar.gz";
+  $$repositoryentry->sourcepackage_id->name.'_'.$majorrelease.".orig.tar.gz";
 }
 
 # Return true if the file pointed by the URL exists
@@ -44,10 +44,9 @@
 }
 
 sub getDataFromDebianFtp {
-  my $package = shift;
-  return unless $$package->name;
-  return unless $$package->svndebrelease;
-  my $svndebrelease = $$package->svndebrelease; 
+  my $repositoryentry = shift;
+  return unless $$repositoryentry->svndebrelease;
+  my $svndebrelease = $$repositoryentry->svndebrelease; 
   $svndebrelease =~ s/^\d+://; # remove the EPOCH
 
   my $ret = {};
@@ -58,16 +57,16 @@
   my $ua = LWP::UserAgent->new;
   $ua->agent("SvnBuildStat/0.1 ");
 
-  if ($$package->svndebrelease !~ /-[\d+\.]+$/) {
+  if ($$repositoryentry->svndebrelease !~ /-[\d+\.]+$/) {
     $ret->{isnative} = 't';
   } else {
     my $debmirror = 'http://ftp.debian.org/debian';
-    my $debdiff .= $$package->name."_".$svndebrelease.".diff.gz";
-    my $tarball = SvnBuildStat::Common::mkTarballFromPackage($package);
+    my $debdiff .= $$repositoryentry->sourcepackage_id->name."_".$svndebrelease.".diff.gz";
+    my $tarball = SvnBuildStat::Common::mkTarballFromRepositoryentry($repositoryentry);
 
     if ($tarball) {
       foreach my $section (qw/main contrib non-free/) {
-	my $tmp = "$1/".$$package->name if $$package->name =~ /^(lib.|.)/;
+	my $tmp = "$1/".$$repositoryentry->sourcepackage_id->name if $$repositoryentry->sourcepackage_id->name =~ /^(lib.|.)/;
 	my $debdiffuri = $debmirror.'/pool/'.$section.'/'.$tmp.'/'.$debdiff;
 	my $tmp_tarballuri = $debmirror.'/pool/'.$section.'/'.$tmp.'/'.$tarball;
 	if (testUrl($debdiffuri)) {

Modified: svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Controller/Builds.pm	2007-12-05 17:51:05 UTC (rev 559)
@@ -21,6 +21,7 @@
 
 =cut
 
+
 sub index : Private {
   my ( $self, $c ) = @_;
 
@@ -46,9 +47,9 @@
 sub debug : Local {
   my ( $self, $c, $param ) = @_;
 
-use Data::Dumper;
-my $txt = Dumper($c->{repositoryurl});
-  $c->response->body($txt);
+  use Data::Dumper;
+  my $tmp = Dumper($self->config->{yoyo});
+  $c->response->body($tmp);
 
 }
 =head1 AUTHOR

Modified: svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/lib/SvnBuildStat/Model/DB.pm	2007-12-05 17:51:05 UTC (rev 559)
@@ -1,4 +1,4 @@
-package SvnBuildStat::WWW::Model::DB;
+package SvnBuildStat::Model::DB;
 
 use strict;
 use base 'Catalyst::Model::DBIC::Schema';
@@ -20,10 +20,10 @@
 );
 =head1 NAME
 
-SvnBuildStat::WWW::Model::DB - Catalyst DBIC Schema Model
+SvnBuildStat::odel::DB - Catalyst DBIC Schema Model
 =head1 SYNOPSIS
 
-See L<SvnBuildStat::WWW>
+See L<SvnBuildStat>
 
 =head1 DESCRIPTION
 

Modified: svnbuildstat/trunk/lib/SvnBuildStat/View/TT.pm
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat/View/TT.pm	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/lib/SvnBuildStat/View/TT.pm	2007-12-05 17:51:05 UTC (rev 559)
@@ -1,4 +1,4 @@
-package SvnBuildStat::WWW::View::TT;
+package SvnBuildStat::View::TT;
 
 use strict;
 use base 'Catalyst::View::TT';
@@ -10,24 +10,24 @@
   WRAPPER      => 'site/wrapper',
   ERROR        => 'error.tt2',
   INCLUDE_PATH => [
-  SvnBuildStat::WWW->path_to( 'root', 'src' ),
-  SvnBuildStat::WWW->path_to( 'root', 'lib' )
+  SvnBuildStat->path_to( 'root', 'src' ),
+  SvnBuildStat->path_to( 'root', 'lib' )
   ],
 );
 
 =head1 NAME
 
-SvnBuildStat::WWW::View::TT - TT View for SvnBuildStat::WWW
+SvnBuildStat::View::TT - TT View for SvnBuildStat
 
 =head1 DESCRIPTION
 
-TT View for SvnBuildStat::WWW. 
+TT View for SvnBuildStat 
 
 =head1 AUTHOR
 
 =head1 SEE ALSO
 
-L<SvnBuildStat::WWW>
+L<SvnBuildStat>
 
 Goneri Le Bouder,,,
 

Copied: svnbuildstat/trunk/lib/SvnBuildStat.pm (from rev 549, svnbuildstat/trunk/lib/SvnBuildStat/WWW.pm)
===================================================================
--- svnbuildstat/trunk/lib/SvnBuildStat.pm	                        (rev 0)
+++ svnbuildstat/trunk/lib/SvnBuildStat.pm	2007-12-05 17:51:05 UTC (rev 559)
@@ -0,0 +1,63 @@
+package SvnBuildStat;
+
+use strict;
+use warnings;
+
+use Catalyst::Runtime '5.70';
+
+# Set flags and add plugins for the application
+#
+#         -Debug: activates the debug mode for very useful log messages
+#   ConfigLoader: will load the configuration from a YAML file in the
+#                 application's home directory
+# Static::Simple: will serve static files from the application's root 
+#                 directory
+
+use Catalyst qw/-Debug ConfigLoader Static::Simple/;
+#use Catalyst qw/ConfigLoader Static::Simple/;
+
+our $VERSION = '0.01';
+
+# Configure the application. 
+#
+# Note that settings in SvnBuildStat::WWW.yml (or other external
+# configuration file that you set up manually) take precedence
+# over this when using ConfigLoader. Thus configuration
+# details given here can function as a default configuration,
+# with a external configuration file acting as an override for
+# local deployment.
+
+__PACKAGE__->config(name => 'SvnBuildStat');
+
+# Start the application
+__PACKAGE__->setup;
+
+
+=head1 NAME
+
+SvnBuildStat::WWW - Catalyst based application
+
+=head1 SYNOPSIS
+
+    script/svnbuildstat_www_server.pl
+
+=head1 DESCRIPTION
+
+[enter your description here]
+
+=head1 SEE ALSO
+
+L<SvnBuildStat::WWW::Controller::Root>, L<Catalyst>
+
+=head1 AUTHOR
+
+Goneri Le Bouder,,,
+
+=head1 LICENSE
+
+This library is free software, you can redistribute it and/or modify
+it under the same terms as Perl itself.
+
+=cut
+
+1;

Modified: svnbuildstat/trunk/schema-pg.sql
===================================================================
--- svnbuildstat/trunk/schema-pg.sql	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/schema-pg.sql	2007-12-05 17:51:05 UTC (rev 559)
@@ -74,6 +74,13 @@
 
 ALTER TABLE public.arch_id_seq OWNER TO svnbuildstat;
 
+--
+-- Name: arch_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('arch_id_seq', 4, true);
+
+
 SET default_tablespace = '';
 
 SET default_with_oids = false;
@@ -106,7 +113,7 @@
 -- Name: TABLE binarypackage; Type: COMMENT; Schema: public; Owner: svnbuildstat
 --
 
-COMMENT ON TABLE binarypackage IS 'Binary packages';
+COMMENT ON TABLE binarypackage IS 'Binary repositoryentrys';
 
 
 --
@@ -143,6 +150,13 @@
 
 
 --
+-- Name: binarypackage_build_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('binarypackage_build_id_seq', 12, true);
+
+
+--
 -- Name: binarypackage_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -163,13 +177,20 @@
 
 
 --
+-- Name: binarypackage_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('binarypackage_id_seq', 11, true);
+
+
+--
 -- Name: bug; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
 CREATE TABLE bug (
     bug_id integer NOT NULL,
     severity_id integer,
-    package_id integer,
+    repositoryentry_id integer,
     name text
 );
 
@@ -190,12 +211,19 @@
 ALTER TABLE public.build_id_seq OWNER TO svnbuildstat;
 
 --
+-- Name: build_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('build_id_seq', 8451, true);
+
+
+--
 -- Name: build; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
 CREATE TABLE build (
     id integer DEFAULT nextval('build_id_seq'::regclass) NOT NULL,
-    package_id integer,
+    repositoryentry_id integer,
     svndebrelease text,
     build_log text,
     piuparts_log text,
@@ -214,10 +242,10 @@
 ALTER TABLE public.build OWNER TO svnbuildstat;
 
 --
--- Name: COLUMN build.package_id; Type: COMMENT; Schema: public; Owner: svnbuildstat
+-- Name: COLUMN build.repositoryentry_id; Type: COMMENT; Schema: public; Owner: svnbuildstat
 --
 
-COMMENT ON COLUMN build.package_id IS 'deprecated, use changelogentry_id instead';
+COMMENT ON COLUMN build.repositoryentry_id IS 'deprecated, use changelogentry_id instead';
 
 
 --
@@ -241,7 +269,7 @@
 CREATE TABLE changelogentry (
     id integer NOT NULL,
     userlogin_id integer,
-    package_id integer NOT NULL,
+    repositoryentry_id integer NOT NULL,
     date timestamp without time zone,
     log text,
     rev text NOT NULL
@@ -278,6 +306,13 @@
 
 
 --
+-- Name: changelogentry_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('changelogentry_id_seq', 9223, true);
+
+
+--
 -- Name: host_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -291,6 +326,13 @@
 ALTER TABLE public.host_id_seq OWNER TO svnbuildstat;
 
 --
+-- Name: host_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('host_id_seq', 6, true);
+
+
+--
 -- Name: host; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -318,176 +360,64 @@
 ALTER TABLE public.linda_id_seq OWNER TO svnbuildstat;
 
 --
--- Name: lintian_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
+-- Name: linda_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
 --
 
-CREATE SEQUENCE lintian_id_seq
-    INCREMENT BY 1
-    NO MAXVALUE
-    NO MINVALUE
-    CACHE 1;
+SELECT pg_catalog.setval('linda_id_seq', 71, true);
 
 
-ALTER TABLE public.lintian_id_seq OWNER TO svnbuildstat;
-
 --
--- Name: maintainer_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
+-- Name: lintian_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
-CREATE SEQUENCE maintainer_id_seq
+CREATE SEQUENCE lintian_id_seq
     INCREMENT BY 1
     NO MAXVALUE
     NO MINVALUE
     CACHE 1;
 
 
-ALTER TABLE public.maintainer_id_seq OWNER TO svnbuildstat;
+ALTER TABLE public.lintian_id_seq OWNER TO svnbuildstat;
 
 --
--- Name: maintainer; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
+-- Name: lintian_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
 --
 
-CREATE TABLE maintainer (
-    id integer DEFAULT nextval('maintainer_id_seq'::regclass) NOT NULL,
-    email text,
-    name text
-);
+SELECT pg_catalog.setval('lintian_id_seq', 123, true);
 
 
-ALTER TABLE public.maintainer OWNER TO svnbuildstat;
-
 --
--- Name: package_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
+-- Name: maintainer_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
-CREATE SEQUENCE package_id_seq
+CREATE SEQUENCE maintainer_id_seq
     INCREMENT BY 1
     NO MAXVALUE
     NO MINVALUE
     CACHE 1;
 
 
-ALTER TABLE public.package_id_seq OWNER TO svnbuildstat;
+ALTER TABLE public.maintainer_id_seq OWNER TO svnbuildstat;
 
 --
--- Name: package; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
+-- Name: maintainer_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
 --
 
-CREATE TABLE package (
-    id integer DEFAULT nextval('package_id_seq'::regclass) NOT NULL,
-    tarballuri text,
-    repository_id integer,
-    name text,
-    vcsrev text,
-    istarballpresent boolean DEFAULT false,
-    isindebian boolean DEFAULT false,
-    svndebrelease text,
-    vcsuri text,
-    isuptodate boolean,
-    upstreamrelease text,
-    isnative boolean DEFAULT false,
-    lastcheck timestamp without time zone,
-    iswatchfilebroken boolean,
-    lastbuildstart timestamp without time zone,
-    blacklisted boolean DEFAULT false,
-    i386 boolean DEFAULT true,
-    powerpc boolean DEFAULT true,
-    amd64 boolean DEFAULT true,
-    sparc boolean DEFAULT true,
-    todo text,
-    currentchangelogentry text,
-    currentpendingbug text,
-    isinincoming boolean DEFAULT false,
-    isinnew boolean DEFAULT false,
-    issrcinmypool boolean DEFAULT false,
-    realsvndebrelease text,
-    dscuri text
-);
+SELECT pg_catalog.setval('maintainer_id_seq', 494, true);
 
 
-ALTER TABLE public.package OWNER TO svnbuildstat;
-
 --
--- Name: COLUMN package.vcsrev; Type: COMMENT; Schema: public; Owner: svnbuildstat
+-- Name: maintainer; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
-COMMENT ON COLUMN package.vcsrev IS 'vcs only, the id of the revision';
-
-
---
--- Name: COLUMN package.istarballpresent; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.istarballpresent IS 'vcs only, is it possible to find the upstream tarball to prepare the source package to build';
-
-
---
--- Name: COLUMN package.vcsuri; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.vcsuri IS 'the vcsuri to use to get the source package';
-
-
---
--- Name: COLUMN package.isnative; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.isnative IS 'vcsonly, is an upstream tarball needed?';
-
-
---
--- Name: COLUMN package.lastbuildstart; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.lastbuildstart IS 'last time a buildbot started to build this release of the package';
-
-
---
--- Name: COLUMN package.blacklisted; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.blacklisted IS 'FUCKED, a way do disable the build of a package';
-
-
---
--- Name: COLUMN package.currentchangelogentry; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.currentchangelogentry IS 'The current, non upload changelog entry';
-
-
---
--- Name: COLUMN package.currentpendingbug; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.currentpendingbug IS 'BAD DESIGN: The list of Closes: #bug in the last, non uploaded changelog entry';
-
-
---
--- Name: COLUMN package.issrcinmypool; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.issrcinmypool IS 'DEPRECATED';
-
-
---
--- Name: COLUMN package.dscuri; Type: COMMENT; Schema: public; Owner: svnbuildstat
---
-
-COMMENT ON COLUMN package.dscuri IS 'The uri to the .dsc file';
-
-
---
--- Name: package_maintainer; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
---
-
-CREATE TABLE package_maintainer (
-    package_id integer NOT NULL,
-    maintainer_id integer NOT NULL
+CREATE TABLE maintainer (
+    id integer DEFAULT nextval('maintainer_id_seq'::regclass) NOT NULL,
+    email text,
+    name text
 );
 
 
-ALTER TABLE public.package_maintainer OWNER TO svnbuildstat;
+ALTER TABLE public.maintainer OWNER TO svnbuildstat;
 
 --
 -- Name: qalog; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
@@ -523,6 +453,13 @@
 
 
 --
+-- Name: qalog_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qalog_id_seq', 1, false);
+
+
+--
 -- Name: qaresult; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -559,6 +496,13 @@
 
 
 --
+-- Name: qaresult_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qaresult_id_seq', 1, false);
+
+
+--
 -- Name: qaresult_qatag; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -593,6 +537,13 @@
 
 
 --
+-- Name: qaresult_qatag_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qaresult_qatag_id_seq', 1, false);
+
+
+--
 -- Name: qastatus; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -626,6 +577,13 @@
 
 
 --
+-- Name: qastatus_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qastatus_id_seq', 1, false);
+
+
+--
 -- Name: qatag; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -659,6 +617,13 @@
 
 
 --
+-- Name: qatag_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qatag_id_seq', 1, false);
+
+
+--
 -- Name: qatool; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -701,6 +666,13 @@
 
 
 --
+-- Name: qatool_description_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qatool_description_seq', 1, false);
+
+
+--
 -- Name: qatool_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -722,6 +694,13 @@
 
 
 --
+-- Name: qatool_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qatool_id_seq', 1, false);
+
+
+--
 -- Name: qatool_version_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -743,6 +722,13 @@
 
 
 --
+-- Name: qatool_version_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('qatool_version_seq', 1, false);
+
+
+--
 -- Name: repository_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -756,6 +742,13 @@
 ALTER TABLE public.repository_id_seq OWNER TO svnbuildstat;
 
 --
+-- Name: repository_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('repository_id_seq', 25, true);
+
+
+--
 -- Name: repository; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -803,6 +796,153 @@
 
 
 --
+-- Name: repository_vcs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('repository_vcs_id_seq', 10, true);
+
+
+--
+-- Name: repositoryentry_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
+--
+
+CREATE SEQUENCE repositoryentry_id_seq
+    INCREMENT BY 1
+    NO MAXVALUE
+    NO MINVALUE
+    CACHE 1;
+
+
+ALTER TABLE public.repositoryentry_id_seq OWNER TO svnbuildstat;
+
+--
+-- Name: repositoryentry_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('repositoryentry_id_seq', 2806, true);
+
+
+--
+-- Name: repositoryentry; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+CREATE TABLE repositoryentry (
+    id integer DEFAULT nextval('repositoryentry_id_seq'::regclass) NOT NULL,
+    tarballuri text,
+    repository_id integer,
+    vcsrev text,
+    istarballpresent boolean DEFAULT false,
+    isindebian boolean DEFAULT false,
+    svndebrelease text,
+    vcsuri text,
+    isuptodate boolean,
+    upstreamrelease text,
+    isnative boolean DEFAULT false,
+    lastcheck timestamp without time zone,
+    iswatchfilebroken boolean,
+    lastbuildstart timestamp without time zone,
+    blacklisted boolean DEFAULT false,
+    i386 boolean DEFAULT true,
+    powerpc boolean DEFAULT true,
+    amd64 boolean DEFAULT true,
+    sparc boolean DEFAULT true,
+    todo text,
+    currentchangelogentry text,
+    currentpendingbug text,
+    isinincoming boolean DEFAULT false,
+    isinnew boolean DEFAULT false,
+    issrcinmypool boolean DEFAULT false,
+    realsvndebrelease text,
+    dscuri text,
+    sourcepackage_id integer NOT NULL
+);
+
+
+ALTER TABLE public.repositoryentry OWNER TO svnbuildstat;
+
+--
+-- Name: COLUMN repositoryentry.vcsrev; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.vcsrev IS 'vcs only, the id of the revision';
+
+
+--
+-- Name: COLUMN repositoryentry.istarballpresent; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.istarballpresent IS 'vcs only, is it possible to find the upstream tarball to prepare the source repositoryentry to build';
+
+
+--
+-- Name: COLUMN repositoryentry.vcsuri; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.vcsuri IS 'the vcsuri to use to get the source repositoryentry';
+
+
+--
+-- Name: COLUMN repositoryentry.isnative; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.isnative IS 'vcsonly, is an upstream tarball needed?';
+
+
+--
+-- Name: COLUMN repositoryentry.lastbuildstart; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.lastbuildstart IS 'last time a buildbot started to build this release of the repositoryentry';
+
+
+--
+-- Name: COLUMN repositoryentry.blacklisted; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.blacklisted IS 'FUCKED, a way do disable the build of a repositoryentry';
+
+
+--
+-- Name: COLUMN repositoryentry.currentchangelogentry; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.currentchangelogentry IS 'The current, non upload changelog entry';
+
+
+--
+-- Name: COLUMN repositoryentry.currentpendingbug; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.currentpendingbug IS 'BAD DESIGN: The list of Closes: #bug in the last, non uploaded changelog entry';
+
+
+--
+-- Name: COLUMN repositoryentry.issrcinmypool; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.issrcinmypool IS 'DEPRECATED';
+
+
+--
+-- Name: COLUMN repositoryentry.dscuri; Type: COMMENT; Schema: public; Owner: svnbuildstat
+--
+
+COMMENT ON COLUMN repositoryentry.dscuri IS 'The uri to the .dsc file';
+
+
+--
+-- Name: repositoryentry_maintainer; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+CREATE TABLE repositoryentry_maintainer (
+    repositoryentry_id integer NOT NULL,
+    maintainer_id integer NOT NULL
+);
+
+
+ALTER TABLE public.repositoryentry_maintainer OWNER TO svnbuildstat;
+
+--
 -- Name: severity_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
 --
 
@@ -816,6 +956,13 @@
 ALTER TABLE public.severity_id_seq OWNER TO svnbuildstat;
 
 --
+-- Name: severity_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('severity_id_seq', 7, true);
+
+
+--
 -- Name: severity; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -828,6 +975,45 @@
 ALTER TABLE public.severity OWNER TO svnbuildstat;
 
 --
+-- Name: sourcepackage; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+CREATE TABLE sourcepackage (
+    id integer NOT NULL,
+    name text
+);
+
+
+ALTER TABLE public.sourcepackage OWNER TO svnbuildstat;
+
+--
+-- Name: sourcepackage_id_seq; Type: SEQUENCE; Schema: public; Owner: svnbuildstat
+--
+
+CREATE SEQUENCE sourcepackage_id_seq
+    INCREMENT BY 1
+    NO MAXVALUE
+    NO MINVALUE
+    CACHE 1;
+
+
+ALTER TABLE public.sourcepackage_id_seq OWNER TO svnbuildstat;
+
+--
+-- Name: sourcepackage_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: svnbuildstat
+--
+
+ALTER SEQUENCE sourcepackage_id_seq OWNED BY sourcepackage.id;
+
+
+--
+-- Name: sourcepackage_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('sourcepackage_id_seq', 12, true);
+
+
+--
 -- Name: team; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -862,6 +1048,13 @@
 
 
 --
+-- Name: team_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('team_id_seq', 1, true);
+
+
+--
 -- Name: userlogin; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -902,6 +1095,13 @@
 
 
 --
+-- Name: userlogin_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('userlogin_id_seq', 195, true);
+
+
+--
 -- Name: vcs; Type: TABLE; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -941,11 +1141,18 @@
 
 
 --
+-- Name: vcs_id_seq; Type: SEQUENCE SET; Schema: public; Owner: svnbuildstat
+--
+
+SELECT pg_catalog.setval('vcs_id_seq', 2, true);
+
+
+--
 -- Name: viewtobuild; Type: VIEW; Schema: public; Owner: svnbuildstat
 --
 
 CREATE VIEW viewtobuild AS
-    SELECT package.id, package.i386, package.powerpc, package.sparc, package.amd64, changelogentry.rev FROM ((package LEFT JOIN build ON ((package.id = build.package_id))) LEFT JOIN changelogentry ON ((build.changelogentry_id = changelogentry.id))) WHERE (((package.blacklisted = false) AND (package.dscuri IS NOT NULL)) AND ((package.lastbuildstart IS NULL) OR (package.lastbuildstart < (now() - '03:00:00'::interval)))) ORDER BY (build.id IS NOT NULL), build."time";
+    SELECT repositoryentry.id, repositoryentry.i386, repositoryentry.powerpc, repositoryentry.sparc, repositoryentry.amd64, changelogentry.rev FROM ((repositoryentry LEFT JOIN build ON ((repositoryentry.id = build.repositoryentry_id))) LEFT JOIN changelogentry ON ((build.changelogentry_id = changelogentry.id))) WHERE (((repositoryentry.blacklisted = false) AND (repositoryentry.dscuri IS NOT NULL)) AND ((repositoryentry.lastbuildstart IS NULL) OR (repositoryentry.lastbuildstart < (now() - '03:00:00'::interval)))) ORDER BY (build.id IS NOT NULL), build."time";
 
 
 ALTER TABLE public.viewtobuild OWNER TO svnbuildstat;
@@ -1038,6 +1245,13 @@
 -- Name: id; Type: DEFAULT; Schema: public; Owner: svnbuildstat
 --
 
+ALTER TABLE sourcepackage ALTER COLUMN id SET DEFAULT nextval('sourcepackage_id_seq'::regclass);
+
+
+--
+-- Name: id; Type: DEFAULT; Schema: public; Owner: svnbuildstat
+--
+
 ALTER TABLE team ALTER COLUMN id SET DEFAULT nextval('team_id_seq'::regclass);
 
 
@@ -1056,6 +1270,327 @@
 
 
 --
+-- Data for Name: arch; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY arch (id, name) FROM stdin;
+1	i386
+2	amd64
+3	i386:
+4	sparc
+\.
+
+
+--
+-- Data for Name: binarypackage; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY binarypackage (id, name) FROM stdin;
+1	/home/svnbuildstat/2787-1196544458/bluetooth
+2	/home/svnbuildstat/2787-1196544458/bluez-cups
+3	/home/svnbuildstat/2787-1196544458/bluez-pcmcia-support
+4	/home/svnbuildstat/2787-1196544458/bluez-utils
+5	/home/svnbuildstat/2794-1196544542/python-bluez
+6	bluetooth
+7	bluez-cups
+8	bluez-pcmcia-support
+9	bluez-utils
+10	python-bluez
+11	./
+\.
+
+
+--
+-- Data for Name: binarypackage_build; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY binarypackage_build (id, binarypackage_id, build_id) FROM stdin;
+\.
+
+
+--
+-- Data for Name: bug; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY bug (bug_id, severity_id, repositoryentry_id, name) FROM stdin;
+\.
+
+
+--
+-- Data for Name: build; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY build (id, repositoryentry_id, svndebrelease, build_log, piuparts_log, host_id, buildisok, duration, pbuilder_release, agent_release, arch_id, "time", changelog, changelogentry_id) FROM stdin;
+\.
+
+
+--
+-- Data for Name: changelogentry; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY changelogentry (id, userlogin_id, repositoryentry_id, date, log, rev) FROM stdin;
+\.
+
+
+--
+-- Data for Name: host; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY host (id, name, arch, maintainer_id) FROM stdin;
+1	sd-6539	i386	\N
+2	shuttle	amd64	\N
+3	julie	i386	\N
+4	clara	amd64	\N
+5	linda	i386	\N
+6	osc-test2	i386	\N
+\.
+
+
+--
+-- Data for Name: maintainer; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY maintainer (id, email, name) FROM stdin;
+445	debian-qt-kde at lists.debian.org	Debian Qt/KDE Maintainers
+446	chrsmrtn at debian.org	Christopher Martin
+447	nacho at debian.org	Nacho Barrientos Arias
+448	debian at pusling.com	Sune Vuorela
+450	ana at debian.org	Ana Beatriz Guerrero Lopez
+449	dato at net.com.org.es	Adeodato Simó
+451	fboudra at free.fr	Fathi Boudra
+452	noel at debian.org	Noèl Köthe
+453	joshdeb at metzlers.org	Josh Metzler
+454	geromanas at mailas.com	Modestas Vainius
+455	trigger+debian at space-based.de	Armin Berres
+456	rcardenes at debian.org	Ricardo Cardenes
+457	schepler at debian.org	Daniel Schepler
+458	francesco.pedrini at gmail.com	Francesco Pedrini
+459	hobbsee at ubuntu.com	Sarah Hobbs
+460	jeremy.laine at m4x.org	Jeremy Lainé
+461	isaac at debian.org	Isaac Clerencia
+462	bab at debian.org	Ben Burton
+463	pyro at debian.org	Brian Nelson
+464	piuparts-devel at lists.alioth.debian.org	piuparts developers team
+465	liw at iki.fi	Lars Wirzenius
+466	ballombe at debian.org	Bill Allombert
+467	iwj at debian.org	Ian Jackson
+468	jsw at debian.org	John Wright
+469	webapps-common-repositoryentrys at lists.alioth.debian.org	Debian Webapps Team
+470	sukria at debian.org	Alexis Sukrieh
+471	rperrot at debian.org	Rémi Perrot
+472	pkg-vim-maintainers at lists.alioth.debian.org	Debian VIM Maintainers
+473	nobse at debian.org	Norbert Tretkowski
+474	madcoder at debian.org	Pierre Habouzit
+475	zack at debian.org	Stefano Zacchiroli
+476	jamessan at debian.org	James Vega
+477	fpletz at franz-pletz.org	Franz Pletz
+478	piefel at debian.org	Michael Piefel
+479	matthijs at cacholong.nl	Matthijs Mohlmann
+480	sukria at sukria.net	Alexis Sukrieh
+481	pepijn at ce.et.tudelft.nl	Pepijn de Langen
+482	bigon at bigon.be	Laurent Bigonville
+483	pkg-bluetooth-maintainers at lists.alioth.debian.org	Debian Bluetooth Maintainers
+484	ejad at debian.org	Edd Dumbill
+485	filippo at debian.org	Filippo Giunchedi
+486	admin at marioiseli.com	Mario Iseli
+487	mario at debian.org	Mario Iseli
+488	pb at nexus.co.uk	Phil Blundell
+489	filippo at esaurito.net	Filippo Giunchedi
+490	oystein at gisnas.net	Oystein Gisnas
+491	francesco at namuri.it	Francesco Namuri
+492	stappers at debian.org	Geert Stappers
+493	albert at csail.mit.edu	Albert Huang
+494	dancer at debian.org	Junichi Uekawa
+443	maks at sternwelten.at	maximilian attems
+444	jbailey at raspberryginger.com	Jeff Bailey
+\.
+
+
+--
+-- Data for Name: qalog; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qalog (id, log) FROM stdin;
+\.
+
+
+--
+-- Data for Name: qaresult; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qaresult (id, qatool_id, qastatus_id, build_id, qalog_id) FROM stdin;
+\.
+
+
+--
+-- Data for Name: qaresult_qatag; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qaresult_qatag (id, qaresult_id, qatag) FROM stdin;
+\.
+
+
+--
+-- Data for Name: qastatus; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qastatus (id, name) FROM stdin;
+\.
+
+
+--
+-- Data for Name: qatag; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qatag (id, name) FROM stdin;
+\.
+
+
+--
+-- Data for Name: qatool; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY qatool (id, name, version, description) FROM stdin;
+\.
+
+
+--
+-- Data for Name: repository; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY repository (id, uri, name, tarballlayout, enabled, vcsrev, lastcheck, shortname, team_id, vcs_id) FROM stdin;
+10	svn://svn.debian.org/svn/pkg-bluetooth	Debian Bluetooth Team	\N	t	631	2007-12-05 18:45:59.345563	pkg-bluetooth	1	1
+\.
+
+
+--
+-- Data for Name: repositoryentry; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY repositoryentry (id, tarballuri, repository_id, vcsrev, istarballpresent, isindebian, svndebrelease, vcsuri, isuptodate, upstreamrelease, isnative, lastcheck, iswatchfilebroken, lastbuildstart, blacklisted, i386, powerpc, amd64, sparc, todo, currentchangelogentry, currentpendingbug, isinincoming, isinnew, issrcinmypool, realsvndebrelease, dscuri, sourcepackage_id) FROM stdin;
+2795	@DEBMIRROR@/pool/non-free/b/bluez-firmware/bluez-firmware_1.2.orig.tar.gz	10	375	t	t	1.2-2	svn://svn.debian.org/svn/pkg-bluetooth/bluez-firmware/trunk	\N	\N	f	2007-12-05 18:44:09.239156	\N	\N	f	t	t	t	t		bluez-firmware (1.2-2) unstable; urgency=low\n\n  * move /usr/lib/firmware to /lib/firmware (Closes: #400040) \n  \n -- Filippo Giunchedi <filippo at debian.org>  Sat, 16 Sep 2006 22:57:52 +0200\n\n	400040,	f	f	f	1.2-2	\N	1
+2796	@DEBMIRROR@/pool/main/b/bluez-gnome/bluez-gnome_0.13.orig.tar.gz	10	540	t	f	0.13-2	svn://svn.debian.org/svn/pkg-bluetooth/bluez-gnome/trunk	\N	\N	f	2007-12-05 18:44:18.926097	\N	\N	f	t	t	t	t		bluez-gnome (0.13-2) unstable; urgency=low\n\n  * Build in a clean sid chroot (Closes: #435730)\n\n -- Filippo Giunchedi <filippo at debian.org>  Thu, 02 Aug 2007 10:30:16 +0200\n\n	435730,	f	f	f	0.13-2	\N	2
+2797	@DEBMIRROR@/pool/main/b/bluez-hcidump/bluez-hcidump_1.39.orig.tar.gz	10	533	t	t	1.39-1	svn://svn.debian.org/svn/pkg-bluetooth/bluez-hcidump/trunk	\N	\N	f	2007-12-05 18:44:25.271271	\N	\N	f	t	t	t	t	ARRAY(0xdc3750)	bluez-hcidump (1.39-1) unstable; urgency=low\n\n  * New upstream release\n\n -- Filippo Giunchedi <filippo at debian.org>  Thu, 02 Aug 2007 10:45:04 +0200\n\n	\N	f	f	f	1.39-1	\N	3
+2798		10	64	f	f	0.26-1	svn://svn.debian.org/svn/pkg-bluetooth/bluez-pin/trunk	\N	\N	f	2007-12-05 18:44:32.971756	\N	\N	f	t	t	t	t		bluez-pin (0.26-1) UNRELEASED; urgency=low\n\n  * New upstream release\n\n -- Filippo Giunchedi <filippo at debian.org>  Sun,  6 Nov 2005 21:21:15 +0100\n\n	\N	f	f	f	0.26-1	\N	4
+2800	@DEBMIRROR@/pool/main/g/gnome-bluetooth/gnome-bluetooth_0.9.1.orig.tar.gz	10	539	t	f	0.9.1-2	svn://svn.debian.org/svn/pkg-bluetooth/gnome-bluetooth/trunk	\N	\N	f	2007-12-05 18:44:48.29444	\N	\N	f	t	t	t	t		gnome-bluetooth (0.9.1-2) UNRELEASED; urgency=low\n\n  * Integrate changes from pkg-gnome svn repository [Oystein Gisnas, Loic\n    Minier, see #253735] \n\n -- Filippo Giunchedi <filippo at debian.org>  Thu, 02 Aug 2007 18:51:07 +0200\n\n	\N	f	f	f	0.9.1-2	\N	6
+2801		10	408	f	f	0.2-1	svn://svn.debian.org/svn/pkg-bluetooth/gnome-vfs-obexftp/trunk	\N	\N	f	2007-12-05 18:44:55.862465	\N	\N	f	t	t	t	t		gnome-vfs-obexftp (0.2-1) UNRELEASED; urgency=low\n\n  * Initial release. (Closes: #XXXXXX)\n\n -- Oystein Gisnas <oystein at gisnas.net>  Sat, 13 Jan 2007 11:13:14 +0100\n	\N	f	f	f	0.2-1	\N	7
+2802	@DEBMIRROR@/pool/main/libb/libbtctl/libbtctl_0.9.0.orig.tar.gz	10	512	t	t	0.9.0-2	svn://svn.debian.org/svn/pkg-bluetooth/libbtctl/trunk	\N	\N	f	2007-12-05 18:45:04.097678	\N	\N	f	t	t	t	t		libbtctl (0.9.0-2) unstable; urgency=low\n\n  * define _GNU_SOURCE (Closes: #434460)\n  * Do not rebuild gtk documentation, remove gtk-doc-tools build-dep \n\n -- Filippo Giunchedi <filippo at debian.org>  Tue, 24 Jul 2007 17:07:18 +0200\n\n	434460,	f	f	f	0.9.0-2	\N	8
+2803	\N	10	624	f	f	1.2-1	svn://svn.debian.org/svn/pkg-bluetooth/packages/blueproximity/trunk	\N	\N	f	2007-12-05 18:45:12.141282	\N	\N	f	t	t	t	t		blueproximity (1.2-1) unstable; urgency=low\n\n  * Initial release. (Closes: #446010)\n\n -- Francesco Namuri <francesco at namuri.it>  Wed, 10 Oct 2007 13:15:05 +0200\n	446010,	f	f	f	1.2-1	\N	9
+2804	@DEBMIRROR@/pool/main/b/bluez-libs/bluez-libs_3.22.orig.tar.gz	10	612	t	t	3.22-1	svn://svn.debian.org/svn/pkg-bluetooth/packages/bluez-libs/trunk	\N	\N	f	2007-12-05 18:45:20.375565	\N	\N	f	t	t	t	t		bluez-libs (3.22-1) unstable; urgency=low\n\n  * New upstream release.\n  * Added correct VCS fields to debian/control.\n  * Added homepage field to debian/control.\n\n -- Mario Iseli <mario at debian.org>  Thu, 21 Nov 2007 14:18:45 +0100\n\n	\N	f	f	f	3.22-2	\N	10
+2799	@DEBMIRROR@/pool/main/b/bluez-utils/bluez-utils_3.22.orig.tar.gz	10	622	t	t	3.22-1	svn://svn.debian.org/svn/pkg-bluetooth/packages/bluez-utils/trunk	\N	\N	f	2007-12-05 18:45:29.97126	\N	\N	f	t	t	t	t		bluez-utils (3.22-1) unstable; urgency=low\n\n  * New upstream release (Closes: #440692).\n  * Added myself to the uploaders field.\n  * Added official VCS fields to debian/control.\n  * Added official Homepage field to debian/control.\n  * fixed bluez.sf.net as bluez.org in copyright and control\n  * copyright updated with new copyright holders\n\n -- Mario Iseli <mario at debian.org>  Thu, 22 Nov 2007 14:15:33 +0100\n\n	440692,	f	f	f	3.22-1	\N	5
+2805	@DEBMIRROR@/pool/main/g/gnome-phone-manager/gnome-phone-manager_0.40.orig.tar.gz	10	631	t	t	0.40-3	svn://svn.debian.org/svn/pkg-bluetooth/packages/gnome-phone-manager/trunk	\N	\N	f	2007-12-05 18:45:44.275922	\N	\N	f	t	t	t	t		gnome-phone-manager (0.40-3) unstable; urgency=low\n\n  * debian/control: added build-depends on libpcsclite-dev (Closes: #452308)\n  * debian/copyright: added new copyrights informations.\n  * debian/rules: added variable to call dpkg-shlibdeps with\n    --ignore-missing-info option.\n  * debian/control: added build-dep on chrpath.\n  * debian/rules: added common-install-arch rule to call chrpath to fix RPATH\n    issue.\n\n -- Francesco Namuri <francesco at namuri.it>  Sat, 24 Nov 2007 00:50:38 +0100\n\n	452308,	f	f	f	0.40-3	\N	11
+2806	@DEBMIRROR@/pool/main/p/pybluez/pybluez_0.9.2.orig.tar.gz	10	545	t	t	0.9.2-1	svn://svn.debian.org/svn/pkg-bluetooth/pybluez/trunk	\N	\N	f	2007-12-05 18:45:59.339412	\N	\N	f	t	t	t	t		pybluez (0.9.2-1) unstable; urgency=low\n\n  [ Albert Huang ]\n  * New upstream release\n\n  [ Filippo Giunchedi ]\n  * Complete libbluetooth2-dev -> libbluetooth-dev transition\n  * Correct Maintainers name\n\n -- Filippo Giunchedi <filippo at debian.org>  Sat, 04 Aug 2007 09:22:55 +0200\n\n	\N	f	f	f	0.9.2-1	\N	12
+\.
+
+
+--
+-- Data for Name: repositoryentry_maintainer; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY repositoryentry_maintainer (repositoryentry_id, maintainer_id) FROM stdin;
+2795	483
+2795	484
+2795	485
+2796	483
+2796	484
+2796	485
+2796	486
+2797	483
+2797	484
+2797	485
+2798	488
+2800	483
+2800	489
+2801	483
+2801	490
+2802	483
+2802	485
+2802	486
+2802	490
+2803	483
+2803	491
+2804	484
+2804	485
+2804	487
+2804	483
+2799	483
+2799	484
+2799	485
+2799	487
+2805	491
+2805	492
+2806	483
+2806	493
+2806	485
+\.
+
+
+--
+-- Data for Name: severity; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY severity (id, name) FROM stdin;
+1	wishlist
+2	minor
+3	normal
+4	serious
+5	grave
+6	critical
+7	important
+\.
+
+
+--
+-- Data for Name: sourcepackage; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY sourcepackage (id, name) FROM stdin;
+1	bluez-firmware
+2	bluez-gnome
+3	bluez-hcidump
+4	bluez-pin
+5	bluez-utils
+6	gnome-bluetooth
+7	gnome-vfs-obexftp
+8	libbtctl
+9	blueproximity
+10	bluez-libs
+11	gnome-phone-manager
+12	pybluez
+\.
+
+
+--
+-- Data for Name: team; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY team (id, shortname, name, url) FROM stdin;
+1	noteam	No Team	
+\.
+
+
+--
+-- Data for Name: userlogin; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY userlogin (id, maintainer_id, name) FROM stdin;
+193	\N	Junichi Uekawa <dancer at dancer64.netfort.gr.jp>
+194	\N	maximilian attems <max at nancy.(none)>
+195	\N	H. Peter Anvin <hpa at zytor.com>
+\.
+
+
+--
+-- Data for Name: vcs; Type: TABLE DATA; Schema: public; Owner: svnbuildstat
+--
+
+COPY vcs (id, name) FROM stdin;
+1	svn
+2	git
+\.
+
+
+--
 -- Name: aliothlogin_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -1136,22 +1671,6 @@
 
 
 --
--- Name: package_maintainer_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
---
-
-ALTER TABLE ONLY package_maintainer
-    ADD CONSTRAINT package_maintainer_pkey PRIMARY KEY (package_id, maintainer_id);
-
-
---
--- Name: package_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
---
-
-ALTER TABLE ONLY package
-    ADD CONSTRAINT package_pkey PRIMARY KEY (id);
-
-
---
 -- Name: qalog_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -1208,6 +1727,22 @@
 
 
 --
+-- Name: repositoryentry_maintainer_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+ALTER TABLE ONLY repositoryentry_maintainer
+    ADD CONSTRAINT repositoryentry_maintainer_pkey PRIMARY KEY (repositoryentry_id, maintainer_id);
+
+
+--
+-- Name: repositoryentry_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+ALTER TABLE ONLY repositoryentry
+    ADD CONSTRAINT repositoryentry_pkey PRIMARY KEY (id);
+
+
+--
 -- Name: severity_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -1216,6 +1751,14 @@
 
 
 --
+-- Name: sourcepackage_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
+--
+
+ALTER TABLE ONLY sourcepackage
+    ADD CONSTRAINT sourcepackage_pkey PRIMARY KEY (id);
+
+
+--
 -- Name: team_pkey; Type: CONSTRAINT; Schema: public; Owner: svnbuildstat; Tablespace: 
 --
 
@@ -1247,13 +1790,6 @@
 
 
 --
--- Name: idx_name; Type: INDEX; Schema: public; Owner: svnbuildstat; Tablespace: 
---
-
-CREATE INDEX idx_name ON package USING btree (name);
-
-
---
 -- Name: $1; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
@@ -1265,7 +1801,7 @@
 -- Name: $2; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
-ALTER TABLE ONLY package_maintainer
+ALTER TABLE ONLY repositoryentry_maintainer
     ADD CONSTRAINT "$2" FOREIGN KEY (maintainer_id) REFERENCES maintainer(id);
 
 
@@ -1310,11 +1846,11 @@
 
 
 --
--- Name: bug_package_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+-- Name: bug_repositoryentry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
 ALTER TABLE ONLY bug
-    ADD CONSTRAINT bug_package_id_fkey FOREIGN KEY (package_id) REFERENCES package(id) ON DELETE CASCADE;
+    ADD CONSTRAINT bug_repositoryentry_id_fkey FOREIGN KEY (repositoryentry_id) REFERENCES repositoryentry(id) ON DELETE CASCADE;
 
 
 --
@@ -1334,11 +1870,11 @@
 
 
 --
--- Name: build_package_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+-- Name: build_repositoryentry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
 ALTER TABLE ONLY build
-    ADD CONSTRAINT build_package_id_fkey FOREIGN KEY (package_id) REFERENCES package(id) ON DELETE CASCADE;
+    ADD CONSTRAINT build_repositoryentry_id_fkey FOREIGN KEY (repositoryentry_id) REFERENCES repositoryentry(id) ON DELETE CASCADE;
 
 
 --
@@ -1350,30 +1886,14 @@
 
 
 --
--- Name: changelog_package_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+-- Name: changelog_repositoryentry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
 ALTER TABLE ONLY changelogentry
-    ADD CONSTRAINT changelog_package_id_fkey FOREIGN KEY (package_id) REFERENCES package(id) ON DELETE CASCADE;
+    ADD CONSTRAINT changelog_repositoryentry_id_fkey FOREIGN KEY (repositoryentry_id) REFERENCES repositoryentry(id) ON DELETE CASCADE;
 
 
 --
--- Name: package_maintainer_package_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
---
-
-ALTER TABLE ONLY package_maintainer
-    ADD CONSTRAINT package_maintainer_package_id_fkey FOREIGN KEY (package_id) REFERENCES package(id) ON DELETE CASCADE;
-
-
---
--- Name: package_repository_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
---
-
-ALTER TABLE ONLY package
-    ADD CONSTRAINT package_repository_id_fkey FOREIGN KEY (repository_id) REFERENCES repository(id) ON DELETE CASCADE;
-
-
---
 -- Name: qaresult_build_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
 --
 
@@ -1430,6 +1950,30 @@
 
 
 --
+-- Name: repositoryentry_maintainer_repositoryentry_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+--
+
+ALTER TABLE ONLY repositoryentry_maintainer
+    ADD CONSTRAINT repositoryentry_maintainer_repositoryentry_id_fkey FOREIGN KEY (repositoryentry_id) REFERENCES repositoryentry(id) ON DELETE CASCADE;
+
+
+--
+-- Name: repositoryentry_repository_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+--
+
+ALTER TABLE ONLY repositoryentry
+    ADD CONSTRAINT repositoryentry_repository_id_fkey FOREIGN KEY (repository_id) REFERENCES repository(id) ON DELETE CASCADE;
+
+
+--
+-- Name: repositoryentry_sourcepackage_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: svnbuildstat
+--
+
+ALTER TABLE ONLY repositoryentry
+    ADD CONSTRAINT repositoryentry_sourcepackage_id_fkey FOREIGN KEY (sourcepackage_id) REFERENCES sourcepackage(id) ON DELETE CASCADE;
+
+
+--
 -- Name: public; Type: ACL; Schema: -; Owner: postgres
 --
 

Modified: svnbuildstat/trunk/script/svnbuildstat_agent.pl
===================================================================
--- svnbuildstat/trunk/script/svnbuildstat_agent.pl	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/script/svnbuildstat_agent.pl	2007-12-05 17:51:05 UTC (rev 559)
@@ -6,7 +6,7 @@
 
 use Data::Dumper;
 use Net::FTP;
-use File::Glob ':globally';
+use File::Glob ':glob';
 use Sys::Hostname;
 use SvnBuildStat::Config;
 use LWP::Simple;
@@ -14,6 +14,8 @@
 use File::Basename;
 use File::stat;
 
+
+
 ###########################################################################
 ###########################################################################
 ###########################################################################
@@ -30,7 +32,7 @@
 my $maxjobs = 1;
 my $workplace = $config->agent_vardir."/workplace";
 my $pbuilderplace = $config->agent_vardir."/pbuilder";
-my $tarballsplace = $config->agent_vardir."/tarballs";
+#my $tarballsplace = $config->agent_vardir."/tarballs";
 my $buildarea = $config->agent_vardir."/report";
 my $tmpdir = $config->agent_vardir."/tmp";
 my $ccachedir = $config->agent_vardir."/ccache";
@@ -64,14 +66,13 @@
 die if (!-d $workplace && !mkdir $workplace);
 die if (!-d $buildarea && !mkdir $buildarea);
 die if (!-d $pbuilderplace && !mkdir $pbuilderplace);
-die if (!-d $tarballsplace && !mkdir $tarballsplace);
 die if (!-d $tmpdir && !mkdir $tmpdir);
 die if (!-d $ccachedir && !mkdir $ccachedir);
 die if (!-d $ccachedir."/cache" && !mkdir $ccachedir."/cache");
 die if (!-d $aptcachedir && !mkdir $aptcachedir);
 unlink foreach (<$tmpdir/report*.tar>);
 
-open CCACHECFG, ">$ccachedir/ccache.cfg" or die;
+open (CCACHECFG, ">", "$ccachedir/ccache.cfg") or die;
 print CCACHECFG "export CCACHE_DIR=\"$ccachedir/cache\"\n";
 print CCACHECFG "export PATH=\"/usr/lib/ccache:\${PATH}\"\n";
 print CCACHECFG "export CCACHE_NOCOMPRESS=\"1\"\n";
@@ -114,37 +115,38 @@
 
 sub upgradeChroot {
 
-#  print "updateChroot\n";
-    my $pdebuildparam = "--debootstrap debootstrap --mirror ".$debmirror." --buildplace $pbuilderplace --othermirror 'deb ".$debmirror." $distro main contrib non-free' --distribution $distro --basetgz $pbuildertgz";
-    if (-s $pbuildertgz) {
-        my $sb = stat($pbuildertgz);
-        if (time - $sb->ctime > 3600 * 24) {
-            # I recreate the chroot every 3600 hours
-            `mv $pbuildertgz $pbuildertgz.save`;
-        }
+  my $pdebuildparam = "--debootstrap debootstrap --mirror ".$debmirror." --buildplace $pbuilderplace --othermirror 'deb ".$debmirror." $distro main contrib non-free' --distribution $distro --basetgz $pbuildertgz";
+  if (-s $pbuildertgz) {
+    my $sb = stat($pbuildertgz);
+    if (time - $sb->ctime > 3600 * 24) {
+      # I recreate the chroot every day 
+      `mv $pbuildertgz $pbuildertgz.save`;
     }
+  }
 
-    if (! -s $pbuildertgz) {
-      # TODO redirect he log on another place
-        `/usr/sbin/pbuilder create $pdebuildparam >/tmp/pbuilder-create.log 1>&2`;
-        if (($? >> 8)!=0) {
-            print "Failed to create pbuilder image\n";
-            if (-f "$pbuildertgz.save") {
-                # I restore the previous chroot
-                `cp $pbuildertgz.save $pbuildertgz`;
-            }
-        } else {
-            # I save the created chroot
-            `cp $pbuildertgz $pbuildertgz.save`;
-        }
+  if (! -s $pbuildertgz) {
+    # TODO redirect he log on another place
+    `/usr/sbin/pbuilder create $pdebuildparam >/tmp/pbuilder-create.log 1>&2`;
+    if (($? >> 8)!=0) {
+      print "Failed to create pbuilder image\n";
+      if (-f "$pbuildertgz.save") {
+        # I restore the previous chroot
+        `cp $pbuildertgz.save $pbuildertgz`;
+        `/usr/sbin/pbuilder update $pdebuildparam >/tmp/pbuilder-create.log 1>&2`;
+      } else {
+        # I save the created chroot
+        `cp $pbuildertgz $pbuildertgz.save`;
+      }
     }
-
+  }
 }
 
+
 sub sendReport {
 
   my ($report, $threadbuildarea) = @_;
 
+  print "sending result that are in $threadbuildarea\n";
 
   $report->{'arch'} = $arch;
   $report->{'buildadminaddr'} = $buildadminaddr;
@@ -160,10 +162,14 @@
   my $logfile = $prefix.'.log';
   my $infofile = $prefix.'.info';
 
-# To avoid strange breakage I do some clean up in the log file
-  open BUILDLOGTMP, "<$threadbuildarea/build.log.tmp" or die;
-  open BUILDLOG, ">$threadbuildarea/".$logfile or die;
+  open (BUILDLOGTMP, "<","$threadbuildarea/build.log.tmp") or die;
+  seek(BUILDLOGTMP, -20000, 2); # I just keep the end of the logfile
+  open (BUILDLOG, ">", "$threadbuildarea/".$logfile) or die;
+  # If I'm not at the end of BUILDLOGTMP it means that seek moved me
+  print BUILDLOG "(log file truncated) ... " if tell(BUILDLOGTMP);
+
   foreach (<BUILDLOGTMP>) {
+  # To avoid strange breakage I do some clean up in the log file
     s/[[:cntrl:]]//g;
     print BUILDLOG $_."\n";
   }
@@ -175,22 +181,32 @@
   my $ftp = Net::FTP->new($ftphost, Debug => 0) or die "Cannot connect
   to ".$ftphost.": $@";
   $ftp->login($ftplogin,$ftppassword) or die "Cannot login ", $ftp->message;
-  $ftp->mkdir($report->{package_id}); # Do not die since mkdir fails if the 
+  $ftp->binary or die "Cannot switch to binary mode ", $ftp->message;
+  my $dir = $report->{package_id}.'-'.time;
+  $ftp->mkdir($dir); # Do not die since mkdir fails if the 
                                       # directory exist
-  $ftp->cwd($report->{package_id}) or die "Can't cwd ", $ftp->message;
+  $ftp->cwd($dir) or die "Can't cwd ", $ftp->message;
 
-  $report->{build} = "nok";
-  foreach (<$threadbuildarea/*.{,u}deb>) {
-    $report->{build} = "ok"; # There is .deb file => the build is ok... I guess
-    $ftp->put($_) or warn "Failed to send the info file\n";
+  if (bsd_glob($threadbuildarea.'/*.changes')) {
+    print "build is ok\n";
+    $report->{build} = "ok";
+    foreach (bsd_glob($threadbuildarea.'/*.deb'), bsd_glob($threadbuildarea.'/*.udeb')) {
+      print "sending $_\n";
+      $ftp->put($_) or warn "Failed to send the info file\n";
+    }
+  } else {
+    print "build is nok\n";
+    $report->{build} = "ok";
+    $report->{build} = "nok";
   }
 
-  open BUILDREPORT,">".$threadbuildarea."/".$infofile;
+
+  open (BUILDREPORT,">",$threadbuildarea."/".$infofile) or die "Can't open infofile";
   foreach (sort keys %$report) {
     chomp $report->{$_};
-
     print BUILDREPORT $_."=".$report->{$_}."\n";
   }
+  print BUILDREPORT "-END-\n";
   close BUILDREPORT;
 
 
@@ -203,8 +219,6 @@
 sub build {
   my $report = shift;
 
-  print "a\n";
-  print Dumper($report);
   return unless $report;
   die unless -d $workplace;
   die unless -d $buildarea;
@@ -220,13 +234,6 @@
 ###########################################################################
 ###########################################################################
 
-#  if (-f $pbuildertgz) {
-#    my $sb = stat($pbuildertgz);
-#    if ($sb->ctime + 3600*24*7 < time) {
-#      `mv $pbuildertgz $pbuildertgz.bak`
-#    }
-#  }
-
   print "dsc: ".$report->{dsc}."\n";
 
   my $tarballdir;
@@ -234,26 +241,26 @@
   foreach (`$cmd`) {
     $tarballdir = $1 if /dpkg-source:\sextracting\s\S+\sin\s(\S+)/;
   }
-  print "tarballdir:$threadworkplace; $tarballdir\n";
-#die "FUCK" unless $tarballdir;
+  print "tarballdir: $threadworkplace; $tarballdir\n";
   return unless $tarballdir;
 
   $report->{'stamp_build-start'} = time;
   my $dsc_localpath = $threadworkplace.'/'.basename($report->{dsc});
+  
   `cd $threadworkplace/$tarballdir; pbuilder --build --buildresult $threadbuildarea --configfile $ccachedir/ccache.cfg --buildplace $pbuilderplace --aptcache $aptcachedir --distribution $distro --basetgz $pbuilderplace/$distro.tar.gz $dsc_localpath >$threadbuildarea/build.log.tmp 2>&1`;
   $report->{'stamp_build-end'} = time;
 
-   sendReport($report, $threadbuildarea, $threadbuildarea);
-  
-   `rm -rf $threadworkplace $threadbuildarea $threadbuildarea`;
+  sendReport($report, $threadbuildarea);
 
+  `rm -rf $threadworkplace $threadbuildarea`;
+
   1;
 }
 
-while (sleep 1) { # TODO replace by a more important valious
+while (sleep 1) { # TODO replace by a more important values
 
   if (isFull($workplace)||isFull($buildarea)) {
-    `rm -f $tarballsplace/* $aptcachedir/*`;
+    `rm -f $aptcachedir/*`;
     print "disk is full\n";
     if (%job&&(isFull($workplace)||isFull($buildarea))) {
       print "Emergency clean up\n";
@@ -261,7 +268,7 @@
     }
   }
 
-  upgradeChroot();
+#  upgradeChroot();
 
   foreach my $pid (keys %job) {
     if (time > $job{$pid} + 3600*4) {

Modified: svnbuildstat/trunk/script/svnbuildstat_update-db.pl
===================================================================
--- svnbuildstat/trunk/script/svnbuildstat_update-db.pl	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/script/svnbuildstat_update-db.pl	2007-12-05 17:51:05 UTC (rev 559)
@@ -20,11 +20,11 @@
 
 
 sub createTarballUrlFromTarballlayout {
-  my ($repository, $package) = @_;
+  my ($repository, $repositoryentry) = @_;
 
   return unless $$repository->tarballlayout;
-  my $packagename =  $$package->name;
-  my $tarball = SvnBuildStat::Common::mkTarballFromPackage($package);
+  my $packagename =  $$repositoryentry->sourcepackage_id->name;
+  my $tarball = SvnBuildStat::Common::mkTarballFromPackage($repositoryentry);
   my $tarballuri = $$repository->tarballlayout;
   $tarballuri =~ s/\@TARBALL@/$tarball/;
   $tarballuri =~ s/\@PACKAGE@/$packagename/;
@@ -35,22 +35,22 @@
 
 
 sub getUscanData {
-  my ($package, $watchfile) = shift;
+  my ($repositoryentry, $watchfile) = shift;
   my $cmd;
 
   return unless $watchfile;
-  return unless $$package->svndebrelease;
+  return unless $$repositoryentry->svndebrelease;
 
   my ($fh, $tmpfile) = tempfile(SUFFIX => '.uscan');
   print $fh @$watchfile;
   close ($fh);
 
-  my $majorrelease = $$package->svndebrelease;
+  my $majorrelease = $$repositoryentry->svndebrelease;
   $majorrelease =~ s/^\d+://;
   $majorrelease =~ s/-[0-9A-Za-z\.~]*$//;
   $majorrelease =~ s/dfsg.*//;
   $majorrelease =~ s/\d+://;
-  $cmd = "uscan --package ".$$package->name." --dehs --upstream-version ".$majorrelease." --watchfile ".$tmpfile;
+  $cmd = "uscan --package ".$$repositoryentry->sourcepackage_id->name." --dehs --upstream-version ".$majorrelease." --watchfile ".$tmpfile;
 #  print $cmd."\n";
   my @uscan = `$cmd`;
   unlink $tmpfile or warn;
@@ -74,7 +74,7 @@
 }
 
 sub updateVcsChanges {
-  my ($package, $vcschanges) = @_;
+  my ($repositoryentry, $vcschanges) = @_;
 
   my @added_entry_id;
   foreach (@$vcschanges) {
@@ -85,7 +85,7 @@
     my $userlogin = $schema->resultset('Userlogin')->find_or_create({name=>$_->{login}});
     my $entry = $schema->resultset('Changelogentry')->create({
 	userlogin_id =>$userlogin->id,
-	package_id => $$package->id,
+	repositoryentry_id => $$repositoryentry->id,
 	date => $_->{date},
 	rev => $_->{rev},
       });
@@ -98,17 +98,16 @@
   if (@added_entry_id) { 
     $schema->resultset('Changelogentry')->search({
 	id => { '!=', \@added_entry_id },
-	package_id => $$package->id
+	repositoryentry_id => $$repositoryentry->id
       })->delete;
   }
 
 }
 
-sub importPkg {
+sub importRepositoryEntry {
   my( $repository, $uri, $tarballonrepository) = @_;
 
   my @maintainer;
-  my $packagesrc;
   my $tarballuri;
   my $todo;
   my $currentpendingbug;
@@ -137,35 +136,39 @@
     return;
   }
 
-  my $package = $schema->resultset('Package')->find_or_create({name => $control->{packagesrc}});
+  my $sourcepackage = $schema->resultset('Sourcepackage')->find_or_create({name => $control->{packagesrc}});
+  my $repositoryentry = $schema->resultset('Repositoryentry')->find_or_create({
+      sourcepackage_id => $sourcepackage->id,
+      repository_id => $$repository->id
+    });
 
-  if (defined($rev) && defined ($package->vcsrev) && $rev eq $package->vcsrev) {
+  if (defined($rev) && defined ($repositoryentry->vcsrev) && $rev eq $repositoryentry->vcsrev) {
     debug ("no need to refresh");
     return;
   }
-  print "GO ".$package->name."\n";
+  print "GO ".$sourcepackage->name."\n";
 
-  $package->issrcinmypool (0); # deprecated, replaced by dscuri
-  $package->dscuri(undef);
+  $repositoryentry->issrcinmypool (0); # deprecated, replaced by dscuri
+  $repositoryentry->dscuri(undef);
 
   my $changelog = SvnBuildStat::Common::parseChangelog($vcs->getChangelog);
-  $package->realsvndebrelease($changelog->{realsvndebrelease});
-  $package->svndebrelease ($changelog->{svndebrelease});
-  $package->currentchangelogentry($changelog->{currentchangelogentry});
-  $package->currentpendingbug($changelog->{currentpendingbug});
+  $repositoryentry->realsvndebrelease($changelog->{realsvndebrelease});
+  $repositoryentry->svndebrelease ($changelog->{svndebrelease});
+  $repositoryentry->currentchangelogentry($changelog->{currentchangelogentry});
+  $repositoryentry->currentpendingbug($changelog->{currentpendingbug});
 
   my @todo = $vcs->getTODO();
   if (@todo) {
     $todo .= $_ foreach @todo;
   }
-  $package->update_from_related('repository_id',$$repository);
+  $repositoryentry->update_from_related('repository_id',$$repository);
 
-  $package->vcsuri($uri);
-  $package->repository_id($$repository);
+  $repositoryentry->vcsuri($uri);
+  $repositoryentry->repository_id($$repository);
 
-  # Delete the current relation betwen the maintainers and the package
-  $schema->resultset('PackageMaintainer')->search({
-      package_id => $package->id
+  # Delete the current relation betwen the maintainers and the repositoryentry
+  $schema->resultset('RepositoryentryMaintainer')->search({
+      repositoryentry_id => $repositoryentry->id
     })->delete;
 
   # And recreate them
@@ -174,71 +177,70 @@
     $maintainer->name($_->{name});
     $maintainer->update();
 
-    my $package_maintainer =
-    $package->find_or_create_related('package_maintainers', {
-	'maintainer_id' => $maintainer->id});
+    my $repositoryentry_maintainer =
+    $repositoryentry->find_or_create_related('repositoryentry_maintainers', {'maintainer_id' => $maintainer->id});
   }
 
   # I keep the changelog entry since the oldest build, si I need.. ...to
   # find the oldest build
   my $vcschangelog_rs = $schema->resultset('Changelogentry')->search({
-      package_id => $package->id,
+      repositoryentry_id => $repositoryentry->id,
     }, {order_by => "rev DESC"});
   my $last_rev = $vcschangelog_rs->first->rev if ($vcschangelog_rs->first);
-  updateVcsChanges(\$package, $vcs->getLastVcsChanges(5));
+  updateVcsChanges(\$repositoryentry, $vcs->getLastVcsChanges(5));
 
 
   # Search for the tarball
-  my $tarball = SvnBuildStat::Common::mkTarballFromPackage(\$package);
-  my $uscandata = getUscanData(\$package, $vcs->getWatchfile);
-  my $dataFromDebianFtp = SvnBuildStat::Common::getDataFromDebianFtp(\$package);
+  my $tarball = SvnBuildStat::Common::mkTarballFromRepositoryentry(\$repositoryentry);
+  my $uscandata = getUscanData(\$repositoryentry, $vcs->getWatchfile);
+  my $dataFromDebianFtp = SvnBuildStat::Common::getDataFromDebianFtp(\$repositoryentry);
   use Data::Dumper;
   print Dumper($dataFromDebianFtp);
-  my $tarballurlfromtarballlayout = createTarballUrlFromTarballlayout($repository,\$package);
-  $package->iswatchfilebroken($uscandata->{iswatchfilebroken});
+  my $tarballurlfromtarballlayout = createTarballUrlFromTarballlayout($repository,\$repositoryentry);
+  $repositoryentry->iswatchfilebroken($uscandata->{iswatchfilebroken});
   # Is the tarball on a Debian mirror?
   # TODO, isnative shouldn't be returned by dataFromDebianFtp
   if ($dataFromDebianFtp->{isnative} eq 't') {
-    $package->isnative(1);
-    $package->tarballuri('');
-    $package->istarballpresent(0);
+    $repositoryentry->isnative(1);
+    $repositoryentry->tarballuri('');
+    $repositoryentry->istarballpresent(0);
   } else {
-    $package->isnative(0);
+    $repositoryentry->isnative(0);
     if ($dataFromDebianFtp->{tarballuri}) {
-      $package->tarballuri($dataFromDebianFtp->{tarballuri});
-      $package->istarballpresent(1);
+      $repositoryentry->tarballuri($dataFromDebianFtp->{tarballuri});
+      $repositoryentry->istarballpresent(1);
     }
     elsif ($uscandata->{tarballuri}) {
-      $package->tarballuri($uscandata->{tarballuri});
-      $package->istarballpresent(1);
+      $repositoryentry->tarballuri($uscandata->{tarballuri});
+      $repositoryentry->istarballpresent(1);
     }
     # Or on a HTTP/FTP space is a tarball layout exists
     elsif (SvnBuildStat::Common::testUrl($tarballurlfromtarballlayout)) {
-      $package->tarballuri($tarballurlfromtarballlayout);
-      $package->istarballpresent(1);
+      $repositoryentry->tarballuri($tarballurlfromtarballlayout);
+      $repositoryentry->istarballpresent(1);
       # Or on the same repository
     } elsif($tarballonrepository && exists ($tarballonrepository->{$tarball})) {
       my $t = $tarballonrepository->{$tarball};
       $t =~ s!svn://svn.debian.org/svn/(.*)!http://svn.debian.org/wsvn/$1?op=file&rev=0&sc=0!;
     } else {
-      $package->tarballuri('');
-      $package->istarballpresent(0);
+      $repositoryentry->tarballuri('');
+      $repositoryentry->istarballpresent(0);
     }
   } 
 
   # 
-  $package->isuptodate($uscandata->{isuptodate});
-  $package->upstreamrelease($uscandata->{upstreamrelease});
-  $package->isindebian($dataFromDebianFtp->{isindebian});
+  $repositoryentry->isuptodate($uscandata->{isuptodate});
+  $repositoryentry->upstreamrelease($uscandata->{upstreamrelease});
+  $repositoryentry->isindebian($dataFromDebianFtp->{isindebian});
 
-  $package->i386($control->{i386});
-  $package->powerpc($control->{powerpc});
-  $package->sparc($control->{sparc});
-  $package->amd64($control->{amd64});
-  $package->todo($todo);
-  $package->lastcheck('now');
-  $package->vcsrev($rev); # at the end since it marks in the new status of the package ins the DB
-  $package->update();
+  $repositoryentry->i386($control->{i386});
+  $repositoryentry->powerpc($control->{powerpc});
+  $repositoryentry->sparc($control->{sparc});
+  $repositoryentry->amd64($control->{amd64});
+  $repositoryentry->todo($todo);
+  $repositoryentry->lastcheck('now');
+  $repositoryentry->vcsrev($rev); # at the end since it marks in the new status of the repositoryentry ins the DB
+  $repositoryentry->update();
 }
 
 
@@ -254,7 +256,7 @@
     return;
   }
 
-  if ($$repository->vcsrev eq $rev) {
+  if ($$repository->vcsrev && $$repository->vcsrev eq $rev) {
     debug ("no need to refresh ".$$repository->name);
     return;
   }
@@ -262,8 +264,8 @@
   my ($uri, $tarballonrepository) = $vcs->scan();
 
   foreach (@$uri) {
-    # look for packages
-    importPkg($repository,$_,$tarballonrepository);
+    # look for package on repository
+    importRepositoryEntry($repository,$_,$tarballonrepository);
   }
 
   $$repository->vcsrev($rev);
@@ -294,7 +296,6 @@
 
 ########
 
-# Import packages
 my $repository_rs = $schema->resultset('Repository')->search({enabled => 'true'});
 while (my $repository = $repository_rs->next) {
   my $vcsname = $repository->vcs_id->name;
@@ -310,7 +311,7 @@
     my $beginrev = $vcs->getCurrentRev();
     next if $repository->vcsrev eq $beginrev;
     print "import Repository as package ". $repository->name."\n";
-    importPkg (\$repository, $uri);
+    importRepositoryEntry (\$repository, $uri);
     my $endrev = $vcs->getCurrentRev();
     print "$beginrev eq $endrev\n";
     if ($beginrev eq $endrev) {

Modified: svnbuildstat/trunk/script/svnbuildstat_update-repository.pl
===================================================================
--- svnbuildstat/trunk/script/svnbuildstat_update-repository.pl	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/script/svnbuildstat_update-repository.pl	2007-12-05 17:51:05 UTC (rev 559)
@@ -143,7 +143,8 @@
   }
   return unless $dscfile;
 
-  $$package->dscuri($config->server_repositorydir.'/'.$$package->repository_id->team_id->shortname.'/'.$$package->name.'/'.$dscfile);
+#  $$package->dscuri($config->server_repositoryurl.'/'.$$package->repository_id->team_id->shortname.'/'.$$package->name.'/'.$dscfile);
+  $$package->dscuri('@REPOSITORY_URL@/'.$$package->repository_id->team_id->shortname.'/'.$$package->name.'/'.$dscfile);
   $$package->issrcinmypool(1);#TODO deprecated, we use dscuri instead
   $$package->update;
   `rm -Rf $workdir`;

Modified: svnbuildstat/trunk/script/svnbuildstat_www_server.pl
===================================================================
--- svnbuildstat/trunk/script/svnbuildstat_www_server.pl	2007-12-05 17:21:20 UTC (rev 558)
+++ svnbuildstat/trunk/script/svnbuildstat_www_server.pl	2007-12-05 17:51:05 UTC (rev 559)
@@ -50,9 +50,9 @@
 
 # This is require instead of use so that the above environment
 # variables can be set at runtime.
-require SvnBuildStat::WWW;
+require SvnBuildStat;
 
-SvnBuildStat::WWW->run( $port, $host, {
+SvnBuildStat->run( $port, $host, {
     argv              => \@argv,
     'fork'            => $fork,
     keepalive         => $keepalive,




More information about the Collab-qa-commits mailing list