[Collab-qa-commits] r887 - udd/src
neronus-guest at alioth.debian.org
neronus-guest at alioth.debian.org
Fri Jun 6 13:52:26 UTC 2008
Author: neronus-guest
Date: 2008-06-06 13:52:26 +0000 (Fri, 06 Jun 2008)
New Revision: 887
Modified:
udd/src/packages_gatherer.py
udd/src/setup-db.sql
udd/src/sources_gatherer.py
udd/src/srcs_and_pkgs.py
udd/src/test.yaml
Log:
* Added unique constraints
* Added etch to test.yaml
* Moved source finding from sources_Gatherer to packages_gatherer
Modified: udd/src/packages_gatherer.py
===================================================================
--- udd/src/packages_gatherer.py 2008-06-06 11:51:51 UTC (rev 886)
+++ udd/src/packages_gatherer.py 2008-06-06 13:52:26 UTC (rev 887)
@@ -1,5 +1,5 @@
#/usr/bin/env python
-# Last-Modified: <Fri Jun 6 09:23:59 2008>
+# Last-Modified: <Fri Jun 6 13:38:47 2008>
import debian_bundle.deb822
import gzip
@@ -21,6 +21,9 @@
# The ID for the distribution we want to include
distr_id = None
+# A mapping from source names to source ids
+srcs = {}
+
def import_packages(conn, sequence):
"""Import the packages from the sequence into the database-connection conn.
@@ -29,7 +32,7 @@
packages file."""
global imported_all_pkgs
# The fields that are to be read. Other fields are ignored
- fields = ('Architecture', 'Package', 'Version')
+ fields = ('Architecture', 'Package', 'Version', 'Source')
cur = conn.cursor()
for control in debian_bundle.deb822.Packages.iter_paragraphs(sequence, fields):
# Check whether packages with architectue 'all' have already been
@@ -40,9 +43,16 @@
continue
imported_all_pkgs[t] = 1
- #query = "INSERT INTO pkgs (name, distr_id, arch_id, version, src_id)\
- #VALUES ('%s', %d, %d, '%s', 0);" % (control["Package"], distr_id, archs[control["Architecture"]], control["Version"])
- query = "EXECUTE pkg_insert('%s', %d, %d, '%s')" % (control["Package"], distr_id, archs[control["Architecture"]], control["Version"])
+ if 'Source' not in control:
+ control['Source'] = control['Package']
+ else:
+ control['Source'] = control['Source'].split()[0]
+
+ if control['Source'] not in srcs:
+ print "Warning: Source " + control['Source'] + " for package " + control['Package'] + " not found!"
+ query = "EXECUTE pkg_insert('%s', %d, %d, '%s', NULL)" % (control["Package"], distr_id, archs[control["Architecture"]], control["Version"])
+ else:
+ query = "EXECUTE pkg_insert('%s', %d, %d, '%s', %d)" % (control["Package"], distr_id, archs[control["Architecture"]], control["Version"], srcs[control["Source"]])
cur.execute(query)
def main():
@@ -98,8 +108,12 @@
archs = aux.get_archs(conn)
cur = conn.cursor()
- cur.execute("PREPARE pkg_insert AS INSERT INTO pkgs (name, distr_id, arch_id, version) VALUES ($1, $2, $3, $4);")
+ cur.execute("PREPARE pkg_insert AS INSERT INTO pkgs (name, distr_id, arch_id, version, src_id) VALUES ($1, $2, $3, $4, $5);")
+ cur.execute("SELECT name, src_id FROM sources WHERE distr_id = " + str(distr_id))
+ for src in cur.fetchall():
+ srcs[src[0]] = src[1]
+
# For every part and every architecture, import the packages into the DB
for part in src_cfg['parts']:
for arch in src_cfg['archs']:
Modified: udd/src/setup-db.sql
===================================================================
--- udd/src/setup-db.sql 2008-06-06 11:51:51 UTC (rev 886)
+++ udd/src/setup-db.sql 2008-06-06 13:52:26 UTC (rev 887)
@@ -1,5 +1,5 @@
-CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int);
-CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer text, version text, distr_id int);
+CREATE TABLE pkgs (pkg_id serial, name text, distr_id int, arch_id int, version text, src_id int, UNIQUE (name, distr_id, arch_id, version));
+CREATE TABLE sources (src_id serial, name text, upload_date timestamp, uploader_key int, maintainer text, version text, distr_id int, UNIQUE (name, version, distr_id));
CREATE TABLE distr_ids (distr_id serial, name text);
CREATE TABLE arch_ids (arch_id serial, name text);
CREATE TABLE build_archs (src_id int, arch_id int);
Modified: udd/src/sources_gatherer.py
===================================================================
--- udd/src/sources_gatherer.py 2008-06-06 11:51:51 UTC (rev 886)
+++ udd/src/sources_gatherer.py 2008-06-06 13:52:26 UTC (rev 887)
@@ -1,5 +1,5 @@
#/usr/bin/env python
-# Last-Modified: <Fri Jun 6 10:07:50 2008>
+# Last-Modified: <Fri Jun 6 12:31:10 2008>
import debian_bundle.deb822
import gzip
@@ -41,11 +41,6 @@
query = "EXECUTE build_archs_insert(%d, %d)" % (src_id, archs[arch])
cur.execute(query)
- # Set the source_ids for the binaries
- for binary in control['Binary'].split(", "):
- query = "EXECUTE pkgs_update_src_id(%d, '%s', %d)" % (src_id, binary, distr_id)
- cur.execute(query)
-
def main():
global distr_id
global archs
@@ -93,7 +88,6 @@
cur = conn.cursor()
cur.execute("PREPARE source_insert AS INSERT INTO sources (name, maintainer, version, distr_id) VALUES ($1,$2,$3,$4)")
cur.execute("PREPARE build_archs_insert AS INSERT INTO build_archs (src_id, arch_id) VALUES ($1,$2)")
- cur.execute("PREPARE pkgs_update_src_id AS UPDATE pkgs SET src_id = $1 WHERE name = $2 AND distr_id = $3")
cur.execute("PREPARE select_src_id AS SELECT src_id FROM sources WHERE name = $1 AND version = $2")
for part in src_cfg['parts']:
@@ -116,7 +110,6 @@
cur.execute("DEALLOCATE source_insert")
cur.execute("DEALLOCATE build_archs_insert")
cur.execute("DEALLOCATE select_src_id")
- cur.execute("DEALLOCATE pkgs_update_src_id")
conn.commit()
if __name__ == '__main__':
Modified: udd/src/srcs_and_pkgs.py
===================================================================
--- udd/src/srcs_and_pkgs.py 2008-06-06 11:51:51 UTC (rev 886)
+++ udd/src/srcs_and_pkgs.py 2008-06-06 13:52:26 UTC (rev 887)
@@ -2,5 +2,5 @@
import os
if __name__ == '__main__':
- os.system("python packages_gatherer.py " + " ".join(sys.argv[1:]))
- os.system("python sources_gatherer.py " + " ".join(sys.argv[1:]))
+ if os.system("python sources_gatherer.py " + " ".join(sys.argv[1:])) == 0:
+ os.system("python packages_gatherer.py " + " ".join(sys.argv[1:]))
Modified: udd/src/test.yaml
===================================================================
--- udd/src/test.yaml 2008-06-06 11:51:51 UTC (rev 886)
+++ udd/src/test.yaml 2008-06-06 13:52:26 UTC (rev 887)
@@ -1,5 +1,5 @@
general:
- dbname: udd-test
+ dbname: udd
types:
sources: python sources_gatherer.py
packages: python packages_gatherer.py
@@ -41,15 +41,15 @@
directory: /org/ftp.debian.org/dists/sid/
parts: [main, contrib, non-free]
distribution: debian-sid
-
-debian-sarge:
+
+debian-etch:
type: src-pkg
archs: [alpha, amd64, arm, armel, hppa, hurd-i386,
i386, i486, ia64, kfreebsd-amd64, kfreebsd-i386, m68k, mips,
mipsel, powerpc, ppc64, s390, sparc]
- directory: /org/ftp.debian.org/dists/sarge/
+ directory: /org/ftp.debian.org/dists/etch/
parts: [main, contrib, non-free]
- distribution: debian-sarge
+ distribution: debian-etch
debian-backports-etch:
type: src-pkg
@@ -60,15 +60,6 @@
parts: [main, contrib, non-free]
distribution: debian-backports-etch
-debian-backports-sarge:
- type: src-pkg
- archs: [alpha, amd64, arm, armel, hppa, hurd-i386,
- i386, i486, ia64, kfreebsd-amd64, kfreebsd-i386, m68k, mips,
- mipsel, powerpc, ppc64, s390, sparc]
- directory: /org/ftp.backports.org/dists/sarge-backports/
- parts: [main, contrib, non-free]
- distribution: debian-backports-sarge
-
debian-volatile-etch:
type: src-pkg
archs: [alpha, amd64, arm, armel, hppa, hurd-i386,
@@ -78,15 +69,6 @@
parts: [main, contrib, non-free]
distribution: debian-volatile-etch
-debian-volatile-sarge:
- type: src-pkg
- archs: [alpha, amd64, arm, armel, hppa, hurd-i386,
- i386, i486, ia64, kfreebsd-amd64, kfreebsd-i386, m68k, mips,
- mipsel, powerpc, ppc64, s390, sparc]
- directory: /org/volatile.debian.org/dists/sarge/volatile/
- parts: [main, contrib, non-free]
- distribution: debian-volatile-sarge
-
test-src:
type: sources
directory: /org/ftp.debian.org/dists/lenny/
More information about the Collab-qa-commits
mailing list