X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fqueue.py;h=f7d999a3da7220135d89d522ac87948775182199;hb=fb11aec0c46bae0797a4e32b1d19eb6fcbc07c49;hp=17dbb67c6c4b3cb099e690e813bce4d3b002ab77;hpb=e1f078ff370dae097f3ab248b33026db103ce4bd;p=dak.git diff --git a/daklib/queue.py b/daklib/queue.py index 17dbb67c..f7d999a3 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -1025,21 +1025,16 @@ class Upload(object): ########################################################################### - def get_changelog_versions(self, source_dir): - """Extracts a the source package and (optionally) grabs the - version history out of debian/changelog for the BTS.""" - - cnf = Config() + def ensure_all_source_exists(self, dest_dir=None): + """ + Ensure that dest_dir contains all the orig tarballs for the specified + changes. If it does not, symlink them into place. - # Find the .dsc (again) - dsc_filename = None - for f in self.pkg.files.keys(): - if self.pkg.files[f]["type"] == "dsc": - dsc_filename = f + If dest_dir is None, populate the current directory. + """ - # If there isn't one, we have nothing to do. (We have reject()ed the upload already) - if not dsc_filename: - return + if dest_dir is None: + dest_dir = os.getcwd() # Create a symlink mirror of the source files in our temporary directory for f in self.pkg.files.keys(): @@ -1064,6 +1059,26 @@ class Upload(object): dest = os.path.join(os.getcwd(), os.path.basename(orig_file)) os.symlink(self.pkg.orig_files[orig_file]["path"], dest) + ########################################################################### + + def get_changelog_versions(self, source_dir): + """Extracts a the source package and (optionally) grabs the + version history out of debian/changelog for the BTS.""" + + cnf = Config() + + # Find the .dsc (again) + dsc_filename = None + for f in self.pkg.files.keys(): + if self.pkg.files[f]["type"] == "dsc": + dsc_filename = f + + # If there isn't one, we have nothing to do. (We have reject()ed the upload already) + if not dsc_filename: + return + + self.ensure_all_source_exists() + # Extract the source cmd = "dpkg-source -sn -x %s" % (dsc_filename) (result, output) = commands.getstatusoutput(cmd) @@ -1207,8 +1222,13 @@ class Upload(object): if not valid_dist: return + self.ensure_all_source_exists() + cnf = Config() - tagfile = cnf["Dinstall::LintianTags"] + tagfile = cnf.get("Dinstall::LintianTags") + if tagfile is None: + # We don't have a tagfile, so just don't do anything. + return # Parse the yaml file sourcefile = file(tagfile, 'r') sourcecontent = sourcefile.read() @@ -1237,13 +1257,12 @@ class Upload(object): # So now we should look at running lintian at the .changes file, capturing output # to then parse it. command = "lintian --show-overrides --tags-from-file %s %s" % (temp_filename, self.pkg.changes_file) - (result, output) = commands.getstatusoutput(cmd) + (result, output) = commands.getstatusoutput(command) # We are done with lintian, remove our tempfile os.unlink(temp_filename) - if (result != 0): - self.rejects.append("lintian failed for %s [return code: %s]." % (self.pkg.changes_file, result)) - self.rejects.append(utils.prefix_multi_line_string(output, " [possible output:] ")) - return + if (result == 2): + utils.warn("lintian failed for %s [return code: %s]." % (self.pkg.changes_file, result)) + utils.warn(utils.prefix_multi_line_string(output, " [possible output:] ")) if len(output) == 0: return @@ -1916,7 +1935,7 @@ distribution.""" if not manual: self.Subst["__REJECTOR_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] self.Subst["__MANUAL_REJECT_MESSAGE__"] = "" - self.Subst["__CC__"] = "X-DAK-Rejection: automatic (moo)\nX-Katie-Rejection: automatic (moo)" + self.Subst["__CC__"] = "X-DAK-Rejection: automatic (moo)" os.write(reason_fd, reject_message) reject_mail_message = utils.TemplateSubst(self.Subst, rej_template) else: @@ -2334,7 +2353,7 @@ distribution.""" self.Subst["__REJECTOR_ADDRESS__"] = cnf["Dinstall::MyEmailAddress"] self.Subst["__REJECT_MESSAGE__"] = self.package_info() self.Subst["__CC__"] = "Cc: " + cnf["Dinstall::MyEmailAddress"] - self.Subst["__BCC__"] = "X-DAK: dak process-accepted\nX-Katie: $Revision: 1.18 $" + self.Subst["__BCC__"] = "X-DAK: dak process-accepted" if cnf.has_key("Dinstall::Bcc"): self.Subst["__BCC__"] += "\nBcc: %s" % (cnf["Dinstall::Bcc"])