From: Ansgar Burchardt Date: Wed, 18 Nov 2015 13:33:30 +0000 (+0100) Subject: debianqueued: No early notifications X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=4edc3033283970d44f9b8d6d9f0db480a3ebe703;p=dak.git debianqueued: No early notifications debianqueued used to send early warnings about invalid uploads, but relied on being able to (ab)use the setgid bit on the .changes file to keep track for which uploads it has already complained. If it was unable to set the setgid bit, it would send mails every run. This change removes the early warnings. A mail will only be sent when debianqueued gives up on the upload. --- diff --git a/tools/debianqueued-0.9/debianqueued b/tools/debianqueued-0.9/debianqueued index c877aa5c..7b025518 100755 --- a/tools/debianqueued-0.9/debianqueued +++ b/tools/debianqueued-0.9/debianqueued @@ -622,7 +622,7 @@ sub process_changes($\@) { my ( $pgplines, @files, @filenames, @changes_stats, $failure_file, $retries, $last_retry, $upload_time, - $file, $do_report, $ls_l, $problems_reported, + $file, $do_report, $ls_l, $errs, $pkgname, $signator, $extralines ); local (*CHANGES); @@ -829,16 +829,6 @@ outer_loop: while () { } ## end for $file (@files) $do_report = ( time - $upload_time ) > $conf::problem_report_timeout; - $problems_reported = $changes_stats[ST_MODE] & S_ISGID; - - # if any of the files is newer than the .changes' ctime (the time - # we sent a report and set the sticky bit), send new problem reports - if ( $problems_reported && $changes_stats[ST_CTIME] < $upload_time ) { - $problems_reported = 0; - chmod +( $changes_stats[ST_MODE] &= ~S_ISGID ), $changes; - debug("upload_time>changes-ctime => resetting problems reported"); - } - debug("do_report=$do_report problems_reported=$problems_reported"); # now check all files for correct size and md5 sum for $file (@files) { @@ -847,12 +837,7 @@ outer_loop: while () { # could be an upload that isn't complete yet, be quiet, # but don't process the file; - msg( "log,mail", "$filename doesn't exist\n" ) - if $do_report && !$problems_reported; - msg( "log", "$filename doesn't exist (ignored for now)\n" ) - if !$do_report; - msg( "log", "$filename doesn't exist (already reported)\n" ) - if $problems_reported; + msg( "log", "$filename doesn't exist (ignored for now)\n" ); ++$errs; } elsif ( $file->{"stats"}->[ST_SIZE] < $file->{"size"} && !$do_report ) @@ -889,22 +874,7 @@ outer_loop: while () { msg( "log,mail", "All files it mentions are also removed:\n" ); msg( "log,mail", " ", join( ", ", @filenames ), "\n" ); rm( $changes, @filenames, $failure_file ); - } elsif ( $do_report && !$problems_reported ) { - - # otherwise, send a problem report, if not done already - msg( - "mail", - "Due to the errors above, the .changes file couldn't ", - "be processed.\n", - "Please fix the problems for the upload to happen.\n" - ); - - # remember we already have sent a mail regarding this file - debug("Sending problem report mail and setting SGID bit"); - my $mode = $changes_stats[ST_MODE] |= S_ISGID; - msg( "log", "chmod failed: $!" ) - if ( chmod( $mode, $changes ) != 1 ); - } ## end elsif ( $do_report && !$problems_reported) + } # else: be quiet