sub printdebug { print DEBUG $debugprefix, @_ or die $!; }
-sub fail { die "$us: @_\n"; }
+sub fail {
+ die $us.($we_are_responder ? " (build host)" : "").": @_\n";
+}
sub badcfg { print STDERR "$us: invalid configuration: @_\n"; exit 12; }
sub protocol_receive_file ($$) {
my ($fh, $ourfn) = @_;
+ printdebug "() $ourfn\n";
open PF, ">", $ourfn or die "$ourfn: $!";
for (;;) {
my ($y,$l) = protocol_expect {
print PF $d or die $!;
}
close PF or die $!;
- printdebug "() $ourfn\n";
}
#---------- remote protocol support, responder ----------
my $dversion = getfield $dsc, 'Version';
my $dscpackage = getfield $dsc, 'Source';
($dscpackage eq $package && $dversion eq $cversion) or
- fail "$dsc is for $dscpackage $dversion".
+ fail "$dscfn is for $dscpackage $dversion".
" but debian/changelog is for $package $cversion";
}
-sub push_mktag ($$$$$$$$) {
+sub push_mktag ($$$$$$$) {
my ($head,$clogp,$tag,
- $dsc,$dscfn,
+ $dscfn,
$changesfile,$changesfilewhat,
$tfn) = @_;
}
responder_send_file('changes',$changesfile);
+ responder_send_command("param head $head");
my $tfn = sub { ".git/dgit/tag$_[0]"; };
my ($tagobjfn) =
$we_are_responder
? responder_receive_files('signed-tag', $tfn->('.signed.tmp'))
: push_mktag($head,$clogp,$tag,
- $dsc,"../$dscfn",
+ "../$dscfn",
$changesfile,$changesfile,
$tfn);
our %i_param;
-sub i_param ($) {
- $_[0] =~ m/^(\S+) (.*)$/;
+sub i_resp_param ($) {
+ $_[0] =~ m/^(\S+) (.*)$/ or badproto \*RO, "bad param spec";
$i_param{$1} = $2;
}
}
sub i_want_signed_tag {
+ printdebug Dumper(\%i_param, $i_dscfn);
defined $i_param{'head'} && defined $i_dscfn
or badproto \*RO, "sequencing error";
my $head = $i_param{'head'};
push_parse_dsc $i_dscfn, 'remote dsc',
push_mktag $head, $i_clogp, $i_tag,
- $dsc, $i_dscfn,
+ $i_dscfn,
'remote.changes', 'remote changes',
'tag.tag';