chiark / gitweb /
dgit-repos-policy-debian: Remirror a package when it becomes public
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 12 Jan 2017 00:02:27 +0000 (00:02 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 12 Jan 2017 00:31:20 +0000 (00:31 +0000)
Ie, make the repo available much more promptly when the package passes
NEW.

Closes:#849789.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
debian/changelog
infra/dgit-repos-policy-debian

index 05ab9d03e23958632a8bec73df47eff90cc87ded..a7a4b99f824b1530fb8bee456d3e46a4d50fb21a 100644 (file)
@@ -4,6 +4,9 @@ dgit (3.2~) unstable; urgency=medium
   * dgit: Do not execute END blocks in children.  So far symptoms of this
     bug seem to be limited to duplicated error messages but I have not
     done a thorough analysis.  Closes:#850052.
+  * dgit-infrastructure: dgit-repos-policy-debian: Remirror a package when
+    it becomes public (ie, make the repo available much more promptly when
+    the package passes NEW).  Closes:#849789.
 
   Test suite:
   * infra: mirroring and policy hooks: Improve some debugging output.
index cff5d06cd33d80107a281dad33135db87e81e99d..990abd2b9b82f90f958bf44f91cca99b8c288772 100755 (executable)
@@ -262,6 +262,21 @@ sub check_package () {
     if (good_suite_has_suitable_vsn(\&vsn_in_our_history)) {
        chmod $publicmode, "." or die $!;
        $pkg_secret = 0;
+       eval {
+           my $mirror_hook = "$distrodir/mirror-hook";
+           if (stat_exists $mirror_hook) {
+               my @mirror_cmd =
+                   ($mirror_hook, $distrodir, "updated-hook", $pkg);
+               debugcmd " (mirror)",@mirror_cmd;
+               system @mirror_cmd and failedcmd @mirror_cmd;
+           }
+       };
+       if (length $@) {
+           chomp $@;
+           print STDERR "policy hook: warning:".
+               " failed to mirror publication of \`$pkg':".
+               " $@\n";
+       }
        return 0;
     }