chiark / gitweb /
dgit git tags mention the distro explicitly; dgit-repos-server checks it
[dgit.git] / infra / dgit-repos-server
index a2916d6221ceaff7ffa13d07c4c4794ff3fee339..7c447d288050856a281c51feb7fabe8770f68c6f 100755 (executable)
@@ -331,6 +331,18 @@ sub parsetag () {
     for (;;) {
        print PT or die $!;
        $!=0; $_=<T>; defined or die "missing signature? $!";
     for (;;) {
        print PT or die $!;
        $!=0; $_=<T>; defined or die "missing signature? $!";
+       if (m/^\[dgit ([^"].*)\]$/) { # [dgit "something"] is for future
+           $_ = $1." ";
+           for (;;) {
+               if (s/^distro\=(\S+) //) {
+                   die "$1 != $distro" unless $1 eq $distro;
+               } elsif (s/^[-+.=0-9a-z]+ //) {
+               } else {
+                   die "unknown dgit info in tag";
+               }
+           }
+           next;
+       }
        last if m/^-----BEGIN PGP/;
     }
     for (;;) {
        last if m/^-----BEGIN PGP/;
     }
     for (;;) {