Skip to content

Commit 0bd367f

Browse files
committed
Fix the 'index.cache' up-to-date check.
Comparison was using (>) instead of (>=). Bug introduced in 272a5c2. Fixes #1443.
1 parent 323460e commit 0bd367f

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

cabal-install/Distribution/Client/IndexUtils.hs

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ import Distribution.Text
5555
import Distribution.Verbosity
5656
( Verbosity, normal, lessVerbose )
5757
import Distribution.Simple.Utils
58-
( die, warn, info, fromUTF8, findPackageDesc, moreRecentFile )
58+
( die, warn, info, fromUTF8, findPackageDesc )
5959

6060
import Data.Char (isAlphaNum)
6161
import Data.Maybe (mapMaybe, fromMaybe)
@@ -72,6 +72,7 @@ import Distribution.Client.GZipUtils (maybeDecompress)
7272
import Distribution.Client.Utils (byteStringToFilePath)
7373
import Distribution.Compat.Exception (catchIO)
7474
import Distribution.Client.Compat.Time
75+
import System.Directory (doesFileExist)
7576
import System.FilePath ((</>), takeExtension, splitDirectories, normalise)
7677
import System.FilePath.Posix as FilePath.Posix
7778
( takeFileName )
@@ -234,9 +235,13 @@ updateRepoIndexCache verbosity repo =
234235

235236
whenCacheOutOfDate :: FilePath -> FilePath -> IO () -> IO ()
236237
whenCacheOutOfDate origFile cacheFile action = do
237-
cacheOutOfDate <- origFile `moreRecentFile` cacheFile
238-
when cacheOutOfDate action
239-
238+
exists <- doesFileExist cacheFile
239+
if not exists
240+
then action
241+
else do
242+
origTime <- getModTime origFile
243+
cacheTime <- getModTime cacheFile
244+
when (origTime >= cacheTime) action
240245

241246
------------------------------------------------------------------------
242247
-- Reading the index file

0 commit comments

Comments
 (0)