X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fqueue.py;h=a18af9819180d025ec93c5c9e65aa0c5fffa87e4;hb=efce802a6ec81a0c9fa877cd6bd213b1db40fd23;hp=cbdf57a3429a65cbf8d1dede7371e88ea37eb758;hpb=c803426b47f44dbf31049cb85a5f086e1210128a;p=dak.git diff --git a/daklib/queue.py b/daklib/queue.py index cbdf57a3..a18af981 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -1050,8 +1050,8 @@ class Upload(object): if not os.path.exists(src): return ftype = m.group(3) - if re_is_orig_source.match(f) and pkg.orig_files.has_key(f) and \ - pkg.orig_files[f].has_key("path"): + if re_is_orig_source.match(f) and self.pkg.orig_files.has_key(f) and \ + self.pkg.orig_files[f].has_key("path"): continue dest = os.path.join(os.getcwd(), f) os.symlink(src, dest) @@ -1207,8 +1207,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,17 +1242,22 @@ 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 + def log(*txt): + if self.logger: + args = [self.pkg.changes_file, "check_lintian"] + args.extend(txt) + self.logger.log(args) + # We have output of lintian, this package isn't clean. Lets parse it and see if we # are having a victim for a reject. # W: tzdata: binary-without-manpage usr/sbin/tzconfig @@ -1270,15 +1280,18 @@ class Upload(object): if etag in lintiantags['warning']: # The tag is overriden, and it is allowed to be overriden. # Don't add a reject message. + pass elif etag in lintiantags['error']: # The tag is overriden - but is not allowed to be self.rejects.append("%s: Overriden tag %s found, but this tag may not be overwritten." % (epackage, etag)) + log("overidden tag is overridden", etag) else: # Tag is known, it is not overriden, direct reject. self.rejects.append("%s: Found lintian output: '%s %s', automatically rejected package." % (epackage, etag, etext)) + log("auto rejecting", etag) # Now tell if they *might* override it. if etag in lintiantags['warning']: - self.rejects.append("%s: If you have a good reason, you may override this lintian tag. Laziness to fix your crap is NOT A GOOD REASON, sod off" % (epackage)) + self.rejects.append("%s: If you have a good reason, you may override this lintian tag." % (epackage)) ########################################################################### def check_urgency(self): @@ -1733,7 +1746,7 @@ distribution.""" # yes # This routine returns None on success or an error on failure - res = get_queue('accepted').autobuild_upload(self.pkg, cnf["Dir::Queue::Accepted"]) + res = get_or_set_queue('accepted').autobuild_upload(self.pkg, cnf["Dir::Queue::Accepted"]) if res: utils.fubar(res) @@ -1915,7 +1928,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: @@ -2333,7 +2346,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"])