# 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"].keys()[0]
+ 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
if files[f].has_key("new"):
reject("%s may not upload NEW file %s" % (uid, f))
- # The remaining checks only apply to binary-only uploads right now
- if changes["architecture"].has_key("source"):
- return
-
- if not Cnf.Exists("Binary-Upload-Restrictions"):
- return
-
- restrictions = Cnf.SubTree("Binary-Upload-Restrictions")
-
- # If the restrictions only apply to certain components make sure
- # that the upload is actual targeted there.
- if restrictions.Exists("Components"):
- restricted_components = restrictions.SubTree("Components").ValueList()
- is_restricted = False
- for f in files:
- if files[f]["component"] in restricted_components:
- is_restricted = True
- break
- if not is_restricted:
- return
-
- # Assuming binary only upload restrictions are in place we then
- # iterate over suite and architecture checking the key is in the
- # allowed list. If no allowed list exists for a given suite or
- # architecture it's assumed to be open to anyone.
- for suite in changes["distribution"].keys():
- if not restrictions.Exists(suite):
- continue
- for arch in changes["architecture"].keys():
- if not restrictions.SubTree(suite).Exists(arch):
- continue
- allowed_keys = restrictions.SubTree("%s::%s" % (suite, arch)).ValueList()
- if changes["fingerprint"] not in allowed_keys:
- base_filename = os.path.basename(pkg.changes_file)
- reject("%s: not signed by authorised uploader for %s/%s"
- % (base_filename, suite, arch))
################################################################################
################################################################################
Upload.Subst["__SUMMARY__"] = summary
Upload.check_override()
+ # Send accept mail, announce to lists, close bugs and check for
+ # override disparities
+ if not Cnf["Dinstall::Options::No-Mail"]:
+ Upload.Subst["__SUITE__"] = ""
+ mail_message = utils.TemplateSubst(Upload.Subst,Cnf["Dir::Templates"]+"/process-unchecked.accepted")
+ utils.send_mail(mail_message)
+ Upload.announce(short_summary, 1)
+
################################################################################
def is_embargo ():
Upload.Subst["__SUMMARY__"] = summary
Upload.check_override()
+ # Send accept mail, announce to lists, close bugs and check for
+ # override disparities
+ if not Cnf["Dinstall::Options::No-Mail"]:
+ Upload.Subst["__SUITE__"] = ""
+ mail_message = utils.TemplateSubst(Upload.Subst,Cnf["Dir::Templates"]+"/process-unchecked.accepted")
+ utils.send_mail(mail_message)
+ Upload.announce(short_summary, 1)
+
################################################################################
def is_stableupdate ():
Logger.log(["Moving to proposed-updates", pkg.changes_file]);
Upload.dump_vars(Cnf["Dir::Queue::ProposedUpdates"]);
- move_to_dir(Cnf["Dir::Queue::ProposedUpdates"])
+ move_to_dir(Cnf["Dir::Queue::ProposedUpdates"], perms=0664)
# Check for override disparities
Upload.Subst["__SUMMARY__"] = summary;
Logger.log(["Moving to oldstable-proposed-updates", pkg.changes_file]);
Upload.dump_vars(Cnf["Dir::Queue::OldProposedUpdates"]);
- move_to_dir(Cnf["Dir::Queue::OldProposedUpdates"])
+ move_to_dir(Cnf["Dir::Queue::OldProposedUpdates"], perms=0664)
# Check for override disparities
Upload.Subst["__SUMMARY__"] = summary;