if epochless_dsc_version != files[file]["version"]:
reject_message = reject_message + "Rejected: version ('%s') in .dsc does not match version ('%s') in .changes\n" % (epochless_dsc_version, changes_version);
# Ensure source is newer than existing source in target suites
package = dsc.get("source");
new_version = dsc.get("version");
for suite in changes["distribution"].keys():
q = projectB.query("SELECT s.version FROM source s, src_associations sa, suite su WHERE s.source = '%s' AND su.suite_name = '%s' AND sa.source = s.id AND sa.suite = su.id"
% (package, suite));
ql = map(lambda x: x[0], q.getresult());
for old_version in ql:
if apt_pkg.VersionCompare(new_version, old_version) != 1:
reject_message = reject_message + "Rejected: %s Old version `%s'>=newversion`%s'.\n" % (file, old_version, new_version)
# Try and find all files mentioned in the .dsc. This has
# to work harder to cope with the multiple possible