From: Ian Jackson Date: Fri, 24 Jul 2009 21:51:12 +0000 (+0100) Subject: WIP commod-update-receiver testing - seems to work X-Git-Tag: 3.0~42 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=commitdiff_plain;h=34c9aa9031897dada3450d014de96d68a5834039 WIP commod-update-receiver testing - seems to work --- diff --git a/pctb/Commods.pm b/pctb/Commods.pm index 073906f..5eb9c7b 100644 --- a/pctb/Commods.pm +++ b/pctb/Commods.pm @@ -117,7 +117,10 @@ sub get_our_version ($$) { my ($aref,$prefix) = @_; $aref->{"${prefix}name"}= 'ypp-sc-tools yarrg'; $aref->{"${prefix}fixes"}= 'lastpage'; - $aref->{"${prefix}version"}= `git-describe --tags HEAD`; $? and die $?; + + my $version= `git-describe --tags HEAD`; $? and die $?; + chomp($version); + $aref->{"${prefix}version"}= $version; return $aref; } @@ -148,7 +151,7 @@ sub pipethrough_run_gzip ($) { sub cgipostform ($$$) { my ($ua, $url, $form) = @_; - my $req= HTTP::Request::Common::POST($url, + my $req= HTTP::Request::Common::POST($url, Content => $form, Content_Type => 'form-data'); if ($url =~ m,^\.?/,) { @@ -173,6 +176,7 @@ sub cgipostform ($$$) { } #system 'printenv >&2'; }, "$url", "$url"); + $out =~ s/\r\n/\n/g; $out =~ m,^Content-Type: text/plain.*\n\n, or die "$out ?"; return $'; } else { diff --git a/pctb/commod-results-processor b/pctb/commod-results-processor index 0286ab3..350ef36 100755 --- a/pctb/commod-results-processor +++ b/pctb/commod-results-processor @@ -455,8 +455,7 @@ sub main__uploadyaarg () { my $dest= $ENV{'YPPSC_YAARG_SUBMIT'}; my $respcontent= cgipostform($ua, "$dest/commod-update-receiver", \%o); - - print $respcontent(); + $respcontent =~ m/^OK\b/ or die "$respcontent ?"; } sub main__uploadpctb () { diff --git a/pctb/commod-update-receiver b/pctb/commod-update-receiver index ac52fec..11064cd 100755 --- a/pctb/commod-update-receiver +++ b/pctb/commod-update-receiver @@ -120,9 +120,11 @@ foreach my $cs (qw(client server)) { } foreach my $vn (sort keys %o) { - my $mpart= MIME::Entity->build(Type => 'text/plain', + my $mpart= MIME::Entity->build(Top => 0, + Type => 'text/plain', Charset => 'utf-8', - Disposition => 'inline', + Disposition => 'attachment', + Filename => $vn, Data => $o{$vn}); $mcontent->add_part($mpart); } @@ -156,15 +158,21 @@ while () { GZ->error and die $!; $?=0; close GZ; $? and fail("gunzip for check failed code $?"); -my $mdatafile= MIME::Entity->build(Type => 'application/octet-stream', +my $mdatafile= MIME::Entity->build(Top => 0, + Type => 'application/octet-stream', Disposition => 'attachment', Encoding => 'base64', - File => $datafile); + Filename => 'deduped.tsv.gz', + Path => $datafile); $mcontent->add_part($mdatafile); -open M, "|/usr/sbin/sendmail -t -oi -oee -odq" +open M, "|/usr/sbin/sendmail -t -oi -oee -odb" or fail("fork sendmail failed! ($!)"); $mcontent->print(\*M); M->error and fail("write sendmail failed! ($!)"); $?=0; close M; $? and fail("sendmail failed code $?"); + +print header(-type=>'text/plain', -charset=>'us-ascii'), + "OK\n" + or die $!;