summaryrefslogtreecommitdiff
path: root/infra
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-26 23:39:14 +0000
committerIan Jackson <ijackson@chiark.greenend.org.uk>2022-12-27 19:19:20 +0000
commit74b799af1adbbda7f2cd3f9c0fd9bf2bad2b179c (patch)
tree7a34ded7546d7503b8e069fc3b9e3438f161b848 /infra
parent043d8d42950ae9ed1d437ae64d65942ded9e9a77 (diff)
policy-client-query: implement dispatcher in dgit-ssh-dispatch
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'infra')
-rwxr-xr-xinfra/dgit-ssh-dispatch9
1 files changed, 9 insertions, 0 deletions
diff --git a/infra/dgit-ssh-dispatch b/infra/dgit-ssh-dispatch
index c5861d2..bc23a4b 100755
--- a/infra/dgit-ssh-dispatch
+++ b/infra/dgit-ssh-dispatch
@@ -173,6 +173,15 @@ sub dispatch () {
} elsif (m#^${qre}git-upload-pack\s#) {
die "unknown repo to serve ($_). use dgit, or for server source ".
"git clone here:/dgit/DISTRO/repos/_dgit-repos-server.git";
+ } elsif (m#^: dgit ($lre) policy-client-query ($lre) ($lre) ([^;]*) ;#) {
+ my $query_op = $3;
+ my $query_args = $4;
+ selectpackage $1,$2;
+ my @cmd = ($policyhook,$distro,$repos,$dgitlive,$d,
+ 'policy-client-query', $pkg, $query_op,
+ split / /, $query_args);
+ exec @cmd;;
+ die "exec $cmd[0]: $!";
} else {
die "unsupported operation ($_)";
}