X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=tools%2Fdebianqueued-0.9%2Fdebianqueued;h=410e5716bab366c54d35d563ffcf6aade053e428;hb=c03054aa33d81cefa7db9a85dfeda06e3c5814c8;hp=97359b0f8b540099e9dd546cb28a0550d62fee23;hpb=96e77022c8fe1d4a6021a7b4d797506a5a47381a;p=dak.git diff --git a/tools/debianqueued-0.9/debianqueued b/tools/debianqueued-0.9/debianqueued index 97359b0f..410e5716 100755 --- a/tools/debianqueued-0.9/debianqueued +++ b/tools/debianqueued-0.9/debianqueued @@ -241,7 +241,7 @@ require 5.002; use strict; use POSIX; -use POSIX qw( sys_stat_h sys_wait_h signal_h ); +use POSIX qw( strftime sys_stat_h sys_wait_h signal_h ); use Net::Ping; use Net::FTP; use Socket qw( PF_INET AF_INET SOCK_STREAM ); @@ -276,6 +276,7 @@ $junk = $conf::no_changes_timeout; $junk = @conf::nonus_packages; $junk = @conf::test_binaries; $junk = @conf::maintainer_mail; +$junk = $conf::mail ||= '/usr/sbin/sendmail'; $conf::target = "localhost" if $conf::upload_method eq "copy"; package main; @@ -1168,6 +1169,8 @@ sub process_commands($) { if ($pgplines < 3) { msg( "log,mail", "$commands isn't signed with PGP/GnuPG\n" ); + msg( "mail", "or the uploaded file is broken. Make sure to transfer in binary mode\n" ); + msg( "mail", "or better yet - use dcut for commands files\n"); goto remove; } @@ -2090,7 +2093,6 @@ sub init_mail(;$) { # then send out # sub finish_mail() { - local( *MAIL ); debug( "No mail for $main::mail_addr" ) if $main::mail_addr && !$main::mail_text; @@ -2124,34 +2126,41 @@ sub send_mail($$$) { my $subject = shift; my $text = shift; - my $package = join(' ', keys %main::packages); + my $package = keys %main::packages ? join(' ', keys %main::packages) : ""; - use Email::Send; + use Email::Send; - my $message = <<'__MESSAGE__'; - To: $addr - From: dak@ftp-master.debian.org - Subject: $subject - X-Debian: DAK + unless (defined($Email::Send::Sendmail::SENDMAIL)) { + $Email::Send::Sendmail::SENDMAIL = $conf::mail; + } + + my $date = sprintf "%s", strftime("%a, %d %b %Y %T %z", (localtime(time))); + my $message = <<__MESSAGE__; +To: $addr +From: Archive Administrator +Subject: $subject +Date: $date +X-Debian: DAK __MESSAGE__ - if (length $package) { - $message .= "X-Debian-Package: $package\n"; - } + if (length $package) { + $message .= "X-Debian-Package: $package\n"; + } - $message .= "\n$text"; + $message .= "\n$text"; + $message .= "\nGreetings,\n\n\tYour Debian queue daemon\n"; - my $mail = Email::Send->new; - for ( qw[Sendmail SMTP] ) { - $mail->mailer($_) and last if $mail->mailer_available($_); - } + my $mail = Email::Send->new; + for ( qw[Sendmail SMTP] ) { + $mail->mailer($_) and last if $mail->mailer_available($_); + } - my $ret = $mail->send($message); - if ($ret && $ret !~ /Message sent/) { - return 0; - } + my $ret = $mail->send($message); + if ($ret && $ret !~ /Message sent|success/) { + return 0; + } - return 1; + return 1; } #