X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fqueue.py;h=d5858c16df4f5039c958d13d7224e18824a9df25;hb=9aac81c7f04b1896819de1ddd1a4b7eddd9ca8c5;hp=cde85301cf43126ddafc09182fd087fac3b85271;hpb=a4eef13f8450fe8b109f4fafc074d50f0fda0a7c;p=dak.git diff --git a/daklib/queue.py b/daklib/queue.py index cde85301..d5858c16 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -443,7 +443,8 @@ class Upload(object): cnf = Config() self.Subst = {} self.Subst["__ADMIN_ADDRESS__"] = cnf["Dinstall::MyAdminAddress"] - self.Subst["__BUG_SERVER__"] = cnf["Dinstall::BugServer"] + if cnf.has_key("Dinstall::BugServer"): + self.Subst["__BUG_SERVER__"] = cnf["Dinstall::BugServer"] self.Subst["__DISTRO__"] = cnf["Dinstall::MyDistribution"] self.Subst["__DAK_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] @@ -699,7 +700,7 @@ class Upload(object): # Ensure target distributions exist for suite in self.pkg.changes["distribution"].keys(): - if not Cnf.has_key("Suite::%s" % (suite)): + if not get_suite(suite.lower()): self.rejects.append("Unknown distribution `%s'." % (suite)) ########################################################################### @@ -750,7 +751,7 @@ class Upload(object): self.rejects.append("%s: invalid version number '%s'." % (f, version)) # Ensure the architecture of the .deb is one we know about. - default_suite = cnf.get("Dinstall::DefaultSuite", "Unstable") + default_suite = cnf.get("Dinstall::DefaultSuite", "unstable") architecture = control.Find("Architecture") upload_suite = self.pkg.changes["distribution"].keys()[0] @@ -960,8 +961,7 @@ class Upload(object): entry["component"] = dest # Ensure the component is valid for the target suite - if cnf.has_key("Suite:%s::Components" % (suite)) and \ - entry["component"] not in cnf.ValueList("Suite::%s::Components" % (suite)): + if entry["component"] not in get_component_names(session): self.rejects.append("unknown component `%s' for suite `%s'." % (entry["component"], suite)) return @@ -1107,7 +1107,7 @@ class Upload(object): if not has_source: self.rejects.append("no source found and Architecture line in changes mention source.") - if not has_binaries and cnf.FindB("Dinstall::Reject::NoSourceOnly"): + if (not has_binaries) and (not cnf.FindB("Dinstall::AllowSourceOnlyUploads")): self.rejects.append("source only uploads are not supported.") ########################################################################### @@ -1314,7 +1314,7 @@ class Upload(object): self.rejects.append("'dpkg-source -x' failed for %s." % dsc_filename) return - if not cnf.Find("Dir::Queue::BTSVersionTrack"): + if not cnf.Find("Dir::BTSVersionTrack"): return # Get the upstream version @@ -1839,7 +1839,7 @@ class Upload(object): # Also only check if there is a file defined (and existant) with # checks. - transpath = cnf.get("Dinstall::Reject::ReleaseTransitions", "") + transpath = cnf.get("Dinstall::ReleaseTransitions", "") if transpath == "" or not os.path.exists(transpath): return @@ -2027,7 +2027,7 @@ distribution.""" del self.Subst["__ANNOUNCE_LIST_ADDRESS__"] - if cnf.FindB("Dinstall::CloseBugs"): + if cnf.FindB("Dinstall::CloseBugs") and cnf.has_key("Dinstall::BugServer"): summary = self.close_bugs(summary, action) del self.Subst["__SHORT_SUMMARY__"] @@ -2173,14 +2173,14 @@ distribution.""" # Move the .changes into the 'done' directory ye, mo, da = time.gmtime()[0:3] - donedir = os.path.join(cnf["Dir::Queue::Done"], str(ye), "%0.2d" % mo, "%0.2d" % da) + donedir = os.path.join(cnf["Dir::Done"], str(ye), "%0.2d" % mo, "%0.2d" % da) if not os.path.isdir(donedir): os.makedirs(donedir) utils.move(self.pkg.changes_file, os.path.join(donedir, os.path.basename(self.pkg.changes_file))) - if self.pkg.changes["architecture"].has_key("source") and cnf.get("Dir::UrgencyLog"): + if self.pkg.changes["architecture"].has_key("source"): UrgencyLog().log(self.pkg.dsc["source"], self.pkg.dsc["version"], self.pkg.changes["urgency"]) self.update_subst() @@ -2191,19 +2191,19 @@ distribution.""" self.announce(short_summary, 1) ## Helper stuff for DebBugs Version Tracking - if cnf.Find("Dir::Queue::BTSVersionTrack"): + if cnf.Find("Dir::BTSVersionTrack"): if self.pkg.changes["architecture"].has_key("source"): - (fd, temp_filename) = utils.temp_filename(cnf["Dir::Queue::BTSVersionTrack"], prefix=".") + (fd, temp_filename) = utils.temp_filename(cnf["Dir::BTSVersionTrack"], prefix=".") version_history = os.fdopen(fd, 'w') version_history.write(self.pkg.dsc["bts changelog"]) version_history.close() - filename = "%s/%s" % (cnf["Dir::Queue::BTSVersionTrack"], + filename = "%s/%s" % (cnf["Dir::BTSVersionTrack"], self.pkg.changes_file[:-8]+".versions") os.rename(temp_filename, filename) os.chmod(filename, 0644) # Write out the binary -> source mapping. - (fd, temp_filename) = utils.temp_filename(cnf["Dir::Queue::BTSVersionTrack"], prefix=".") + (fd, temp_filename) = utils.temp_filename(cnf["Dir::BTSVersionTrack"], prefix=".") debinfo = os.fdopen(fd, 'w') for name, entry in sorted(self.pkg.files.items()): if entry["type"] == "deb": @@ -2212,7 +2212,7 @@ distribution.""" entry["source version"]]) debinfo.write(line+"\n") debinfo.close() - filename = "%s/%s" % (cnf["Dir::Queue::BTSVersionTrack"], + filename = "%s/%s" % (cnf["Dir::BTSVersionTrack"], self.pkg.changes_file[:-8]+".debinfo") os.rename(temp_filename, filename) os.chmod(filename, 0644) @@ -2314,7 +2314,7 @@ distribution.""" if os.access(file_entry, os.R_OK) == 0: continue - dest_file = os.path.join(cnf["Dir::Queue::Reject"], file_entry) + dest_file = os.path.join(cnf["Dir::Reject"], file_entry) try: dest_fd = os.open(dest_file, os.O_RDWR | os.O_CREAT | os.O_EXCL, 0644) @@ -2326,7 +2326,7 @@ distribution.""" except NoFreeFilenameError: # Something's either gone badly Pete Tong, or # someone is trying to exploit us. - utils.warn("**WARNING** failed to find a free filename for %s in %s." % (file_entry, cnf["Dir::Queue::Reject"])) + utils.warn("**WARNING** failed to find a free filename for %s in %s." % (file_entry, cnf["Dir::Reject"])) return # Make sure we really got it @@ -2396,7 +2396,7 @@ distribution.""" cnf = Config() reason_filename = self.pkg.changes_file[:-8] + ".reason" - reason_filename = os.path.join(cnf["Dir::Queue::Reject"], reason_filename) + reason_filename = os.path.join(cnf["Dir::Reject"], reason_filename) # Move all the files into the reject directory reject_files = self.pkg.files.keys() + [self.pkg.changes_file]