# Ensure the architecture of the .deb is one we know about.
default_suite = Cnf.get("Dinstall::DefaultSuite", "Unstable")
architecture = control.Find("Architecture")
- if architecture not in Cnf.ValueList("Suite::%s::Architectures" % (default_suite)):
+ upload_suite = changes["distribution"]
+ if architecture not in Cnf.ValueList("Suite::%s::Architectures" % (default_suite)) and architecture not in Cnf.ValueList("Suite::%s::Architectures" % (upload_suite)):
reject("Unknown architecture '%s'." % (architecture))
# Ensure the architecture of the .deb is one of the ones
# Check the md5sum & size against existing files (if any)
files[f]["pool name"] = utils.poolify (changes["source"], files[f]["component"])
- files_id = database.get_files_id(files[f]["pool name"] + f, files[f]["size"], files[f]["md5sum"], files[f]["sha1sum"], files[f]["sha256sum"], files[f]["location id"])
+ files_id = database.get_files_id(files[f]["pool name"] + f, files[f]["size"], files[f]["md5sum"], files[f]["location id"])
if files_id == -1:
reject("INTERNAL ERROR, get_files_id() returned multiple matches for %s." % (f))
elif files_id == -2:
- reject("md5sum, sha1sum, sha256sum and/or size mismatch on existing copy of %s." % (f))
+ reject("md5sum and/or size mismatch on existing copy of %s." % (f))
files[f]["files id"] = files_id
# Check for packages that have moved from one component to another
################################################################################
def check_hashes ():
- # Make sure we recognise the format of the Files: field
- format = changes.get("format", "0.0").split(".",1)
- if len(format) == 2:
- format = int(format[0]), int(format[1])
- else:
- format = int(float(format[0])), 0
-
- utils.check_hash(".changes", files, "md5sum", apt_pkg.md5sum)
- utils.check_hash(".dsc", dsc_files, "md5sum", apt_pkg.md5sum)
+ utils.check_hash(".changes", files, "md5", apt_pkg.md5sum)
+ utils.check_size(".changes", files)
+ utils.check_hash(".dsc", dsc_files, "md5", apt_pkg.md5sum)
+ utils.check_size(".dsc", dsc_files)
# This is stupid API, but it'll have to do for now until
# we actually have proper abstraction
- for m in utils.ensure_hashes(Upload):
+ for m in utils.ensure_hashes(changes, dsc, files, dsc_files):
reject(m)
################################################################################
for si in q.getresult():
if si[0] not in source_ids: source_ids.append(si[0])
- print "source_ids: %s" % (",".join([str(x) for x in source_ids]))
-
is_nmu = 1
for si in source_ids:
is_nmu = 1