summaryrefslogtreecommitdiff
path: root/distrib
diff options
context:
space:
mode:
authorIan Lynagh <ian@well-typed.com>2013-04-20 17:55:13 +0100
committerIan Lynagh <ian@well-typed.com>2013-04-20 17:55:13 +0100
commitb45700cee37d259e78315ee525b7d7ef6bd3a674 (patch)
treeb4e6e0904779f873d2408e1cbe241fe433f68f57 /distrib
parent763156287c6833caaa927338225273d910c11770 (diff)
downloadhaskell-b45700cee37d259e78315ee525b7d7ef6bd3a674.tar.gz
Tweak the bindist comparison tool
It now just warns about files it doesn't recognise, rather than giving an error. This means that random text files etc in the same directory as the bindists don't make it fall over.
Diffstat (limited to 'distrib')
-rw-r--r--distrib/compare/Utils.hs4
-rw-r--r--distrib/compare/compare.hs3
2 files changed, 6 insertions, 1 deletions
diff --git a/distrib/compare/Utils.hs b/distrib/compare/Utils.hs
index 720f533aaa..bc4fd204fd 100644
--- a/distrib/compare/Utils.hs
+++ b/distrib/compare/Utils.hs
@@ -11,11 +11,15 @@ die :: Errors -> IO a
die errs = do mapM_ (hPutStrLn stderr) errs
exitFailure
+warn :: Errors -> IO ()
+warn warnings = mapM_ (hPutStrLn stderr) warnings
+
dieOnErrors :: Either Errors a -> IO a
dieOnErrors (Left errs) = die errs
dieOnErrors (Right x) = return x
type Errors = [String]
+type Warnings = [String]
maybeRead :: Read a => String -> Maybe a
maybeRead str = case reads str of
diff --git a/distrib/compare/compare.hs b/distrib/compare/compare.hs
index 23b983f0ac..81055c2826 100644
--- a/distrib/compare/compare.hs
+++ b/distrib/compare/compare.hs
@@ -52,7 +52,8 @@ doDirectory ignoreSizeChanges p1 p2
mkFileInfo fp@('g':'h':'c':'-':x:xs)
| isDigit x = return [(("ghc-", "VERSION", dropWhile isVersionChar xs), fp)]
| otherwise = die ["No version number in " ++ show fp]
- mkFileInfo fp = die ["Unrecognised filename " ++ show fp]
+ mkFileInfo fp = do warn ["Unrecognised filename " ++ show fp]
+ return []
fss1' <- mapM mkFileInfo fs1
fss2' <- mapM mkFileInfo fs2
let fs1' = sort $ concat fss1'