initdebug('%');
enabledebuglevel $ENV{'DGIT_DRS_DEBUG'};
+END { $? = 127; } # deliberate exit uses _exit
+
our $distro = shift @ARGV // die "need DISTRO";
our $repos = shift @ARGV // die "need DGIT-REPOS-DIR";
our $dgitlive = shift @ARGV // die "need DGIT-LIVE-DIR";
foreach my $entry (@$in_suite) {
my $vsn = $entry->{version};
die "$pkg ?" unless defined $vsn;
- my $tag = debiantag $vsn;
- $?=0; my $r = system qw(git show-ref --verify --quiet), $tag;
+ my $tagref = "refs/tags/".debiantag $vsn;
+ printdebug " checking history suite=$suite vsn=$vsn tagref=$tagref\n";
+ $?=0; my $r = system qw(git show-ref --verify --quiet), $tagref;
return 1 if !$r;
next if $r==256;
- die "$pkg tag $tag $? $!";
+ die "$pkg tagref $tagref $? $!";
}
return 0;
}
}
my $sleepy=0;
-our $rcode = 127;
+my $rcode;
for (;;) {
poldb_setup(poldb_path($repos));
$poldbh->rollback;
}
-print STDERR $stderr;
-exit $rcode;
+print STDERR $stderr or die $!;
+flush STDERR or die $!;
+_exit $rcode;