chiark / gitweb /
apt-get method: when apt does not update release files, print hint
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 23 Jul 2018 10:00:09 +0000 (11:00 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 23 Jul 2018 10:00:10 +0000 (11:00 +0100)
Unconditionally print hint about noatime.  This problem seems to occur
quite rarely (noatime is out of fashion nowadays, and I haven't seen
any other causes) so it doesn't seem worth fiddling about writing code
to determine the mount options.  Instead, print a hint and let the
user investigate.

Closes:#851873.

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

index 4f35940555469b60a533ea14644a3d58e2ca0964..265ecb01747cb7ee986cfcf2fe8f052176aa2614 100644 (file)
@@ -1,6 +1,8 @@
 dgit (5.11~) unstable; urgency=medium
 
   * test suite: unset VISUAL, which interferes.  Closes:#904308.
+  * apt-get method: when apt does not update release files,
+    unconditionally print hint about noatime.  Closes:#851873.
 
  --
 
diff --git a/dgit b/dgit
index 357adc98aac352197b771717cf3e0a6f017d36fc..9c58fdf666d181fa07cbe44b14a8c7b1187438cc 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -1237,7 +1237,14 @@ END
     }
     my @inreleasefiles = grep { m#/InRelease$# } @releasefiles;
     @releasefiles = @inreleasefiles if @inreleasefiles;
-    die "apt updated wrong number of Release files (@releasefiles), erk"
+    if (!@releasefiles) {
+       fail <<END;
+apt seemed to not to update dgit's cached Release files for $isuite.
+(Perhaps $cache
+ is on a filesystem mounted `noatime'; if so, please use `relatime'.)
+END
+    }
+    die "apt updated too many Release files (@releasefiles), erk"
        unless @releasefiles == 1;
 
     ($aptget_releasefile) = @releasefiles;