chiark / gitweb /
dgit git tags mention the distro explicitly; dgit-repos-server checks it
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 17 Mar 2015 21:54:08 +0000 (21:54 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 22 Mar 2015 15:18:52 +0000 (15:18 +0000)
dgit
infra/dgit-repos-server

diff --git a/dgit b/dgit
index bd8507cd7d95f20dbffa2ce825390644039268db..d2ca495a7871d493ebbb18bf63f8f73314bc42cb 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1572,6 +1572,7 @@ tag $tag
 tagger $authline
 
 $package release $cversion for $clogsuite ($csuite) [dgit]
 tagger $authline
 
 $package release $cversion for $clogsuite ($csuite) [dgit]
+[dgit distro=$distro]
 END
     close TO or die $!;
 
 END
     close TO or die $!;
 
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 (;;) {