Update the package database directory's timestamps when rebuilding the package cache.
authorGeoffrey Mainland <gmainlan@microsoft.com>
Mon, 24 Jun 2013 22:35:33 +0000 (23:35 +0100)
committerGeoffrey Mainland <gmainlan@microsoft.com>
Mon, 24 Jun 2013 22:35:33 +0000 (23:35 +0100)
I was seeing many "WARNING: cache is out of date" errors during validation
claiming that my package cache was out of date. This patch eliminates those
errors by ensuring that when we rebuild the package cache, the modification time
of the directory containing the package database is set to be the same as the
modification time of the cache.

utils/ghc-pkg/Main.hs

index 716e7ae..e2f497f 100644 (file)
@@ -901,6 +901,10 @@ updateDBCache verbosity db = do
       if isPermissionError e
       then die (filename ++ ": you don't have permission to modify this file")
       else ioError e
+#ifndef mingw32_HOST_OS
+  status <- getFileStatus filename
+  setFileTimes (location db) (accessTime status) (modificationTime status)
+#endif
 
 -- -----------------------------------------------------------------------------
 -- Exposing, Hiding, Trusting, Distrusting, Unregistering are all similar