printdebug " updates ok.\n";
}
-sub parsetag_general ($$) {
- my ($mainfn, $dgititemfn) = @_;
- printdebug " parsetag...\n";
+sub readtag () {
+ printdebug " readtag...\n";
+
open PT, ">dgit-tmp/plaintext" or die $!;
open DS, ">dgit-tmp/plaintext.asc" or die $!;
open T, "-|", qw(git cat-file tag), $tagval or die $!;
}
}
$!=0; $_=<T>; defined or die $!;
+}
+sub parsetag_general ($$;$) {
+ my ($mainfn, $dgititemfn, $need_distro) = @_;
+ printdebug " parsetag...\n";
+
+ readtag();
$mainfn->();
my $copyl = $_;
if ($dgititemfn->()) {
} elsif (s/^distro\=(\S+) //) {
die "$1 != $distro" unless $1 eq $distro;
+ $need_distro = 0;
} elsif (s/^[-+.=0-9a-z]\S* //) {
} else {
die "unknown dgit info in tag ($_)";
}
last if m/^-----BEGIN PGP/;
}
+ reject "need distro info in tag" if $need_distro;
+
$_ = $copyl;
for (;;) {
print DS or die $!;