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 $!;
+}
- $mainfn->();
+sub parsetag_general ($;$) {
+ my ($dgititemfn, $need_distro) = @_;
+ printdebug " parsetag...\n";
my $copyl = $_;
for (;;) {
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 $!;
}
sub parsetag () {
+ readtag();
+ m/^($package_re) release (\S+) for \S+ \((\S+)\) \[dgit\]$/ or
+ reject "tag message not in expected format";
+ die unless $1 eq $package;
+ $version = $2;
+ die "$3 != $suite " unless $3 eq $suite;
+
parsetag_general sub {
- m/^($package_re) release (\S+) for \S+ \((\S+)\) \[dgit\]$/ or
- reject "tag message not in expected format";
- die unless $1 eq $package;
- $version = $2;
- die "$3 != $suite " unless $3 eq $suite;
- }, sub {
if (s/^(--deliberately-$deliberately_re) //) {
push @deliberatelies, $1;
} elsif (s/^previously:(\S+)=(\w+) //) {