die $!;
}
-sub reject ($) {
+sub recordreject ($) {
my ($why) = @_;
my $w = $ENV{'DGIT_DRS_WORK'}; # we are in stunthook
if (defined $w) {
print REJ $why, "\n" or die $!;
close REJ or die $!;
}
+}
+
+sub reject ($) {
+ my ($why) = @_;
+ recordreject $why;
die "dgit-repos-server: reject: $why\n";
}
}
}
$!=0; $_=<T>; defined or die $!;
- m/^($package_re) release (\S+) for (\S+) \[dgit\]$/ or
+ m/^($package_re) release (\S+) for \S+ \((\S+)\) \[dgit\]$/ or
reject "tag message not in expected format";
die unless $1 eq $package;
debug " checksig keyring $keyringfile...";
- open P, "-|", (qw(gpgv --status-fd=1 --keyring),
+ our @cmd = (qw(gpgv --status-fd=1 --keyring),
$keyringfile,
- qw(dgit-tmp/plaintext.asc dgit-tmp/plaintext))
+ qw(dgit-tmp/plaintext.asc dgit-tmp/plaintext));
+ debugcmd @cmd;
+
+ open P, "-|", @cmd
or die $!;
while (<P>) {
- next unless s/^\[GNUPG:\]: //;
+ next unless s/^\[GNUPG:\] //;
chomp or die;
debug " checksig| $_";
my @l = split / /, $_;
}
sub checksuite () {
- debug "checksuite";
+ debug "checksuite ($suitesfile)";
open SUITES, "<", $suitesfile or die $!;
while (<SUITES>) {
chomp;
sub parseargsdispatch () {
die unless @ARGV;
+ delete $ENV{'GIT_DIR'}; # if not run via ssh, our parent git process
+ delete $ENV{'GIT_PREFIX'}; # sets these and they mess things up
+
if ($ENV{'DGIT_DRS_DEBUG'}) {
$debug='=';
open DEBUG, ">&STDERR" or die $!;