- version = dsc["version"]; # NB: not files[file]["version"], that has no epoch
- q = projectB.query("SELECT id FROM source WHERE source = '%s' AND version = '%s'" % (package, version))
- ql = q.getresult()
- if not ql:
- daklib.utils.fubar("reject: Couldn't find %s_%s in source table." % (package, version))
- source_id = ql[0][0]
- projectB.query("DELETE FROM src_associations WHERE suite = '%s' AND source = '%s'" % (suite_id, source_id))
- elif files[file]["type"] == "deb":
- package = files[file]["package"]
- version = files[file]["version"]
- architecture = files[file]["architecture"]
- q = projectB.query("SELECT b.id FROM binaries b, architecture a WHERE b.package = '%s' AND b.version = '%s' AND (a.arch_string = '%s' OR a.arch_string = 'all') AND b.architecture = a.id" % (package, version, architecture))
- ql = q.getresult()
+ version = dsc["version"]; # NB: not files[f]["version"], that has no epoch
+
+ source = get_sources_from_name(package, version, session=session)
+ if len(source) != 1:
+ utils.fubar("reject: Couldn't find %s_%s in source table." % (package, version))
+
+ source = source[0]
+
+ for sa in source.srcassociations:
+ if sa.suite.suite_name == suite_name:
+ session.delete(sa)
+
+ elif files[f]["type"] == "deb":
+ package = files[f]["package"]
+ version = files[f]["version"]
+ architecture = files[f]["architecture"]
+
+ binary = get_binaries_from_name(package, version [architecture, 'all'])