Commit b45700ce authored by ian@well-typed.com's avatar ian@well-typed.com

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.
parent 76315628
...@@ -11,11 +11,15 @@ die :: Errors -> IO a ...@@ -11,11 +11,15 @@ die :: Errors -> IO a
die errs = do mapM_ (hPutStrLn stderr) errs die errs = do mapM_ (hPutStrLn stderr) errs
exitFailure exitFailure
warn :: Errors -> IO ()
warn warnings = mapM_ (hPutStrLn stderr) warnings
dieOnErrors :: Either Errors a -> IO a dieOnErrors :: Either Errors a -> IO a
dieOnErrors (Left errs) = die errs dieOnErrors (Left errs) = die errs
dieOnErrors (Right x) = return x dieOnErrors (Right x) = return x
type Errors = [String] type Errors = [String]
type Warnings = [String]
maybeRead :: Read a => String -> Maybe a maybeRead :: Read a => String -> Maybe a
maybeRead str = case reads str of maybeRead str = case reads str of
......
...@@ -52,7 +52,8 @@ doDirectory ignoreSizeChanges p1 p2 ...@@ -52,7 +52,8 @@ doDirectory ignoreSizeChanges p1 p2
mkFileInfo fp@('g':'h':'c':'-':x:xs) mkFileInfo fp@('g':'h':'c':'-':x:xs)
| isDigit x = return [(("ghc-", "VERSION", dropWhile isVersionChar xs), fp)] | isDigit x = return [(("ghc-", "VERSION", dropWhile isVersionChar xs), fp)]
| otherwise = die ["No version number in " ++ show 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 fss1' <- mapM mkFileInfo fs1
fss2' <- mapM mkFileInfo fs2 fss2' <- mapM mkFileInfo fs2
let fs1' = sort $ concat fss1' let fs1' = sort $ concat fss1'
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment