Simplify upgrade copying logic

This commit is contained in:
Ben Gamari 2020-07-07 13:39:58 -04:00 committed by Julian Ospald
parent 62b628cb05
commit 16d4a28454
No known key found for this signature in database
GPG Key ID: 511B62C09D50CD28

View File

@ -929,20 +929,12 @@ upgradeGHCup dls mtarget force = do
`unionFileModes` otherExecuteMode `unionFileModes` otherExecuteMode
binDir <- liftIO $ ghcupBinDir binDir <- liftIO $ ghcupBinDir
liftIO $ createDirIfMissing newDirPerms binDir liftIO $ createDirIfMissing newDirPerms binDir
case mtarget of let fullDest = fromMaybe (binDir </> fn) mtarget
Nothing -> do liftIO $ hideError NoSuchThing $ deleteFile fullDest
dest <- liftIO $ ghcupBinDir handleIO (throwE . CopyError . show) $ liftIO $ copyFile p
liftIO $ hideError NoSuchThing $ deleteFile (dest </> fn) fullDest
handleIO (throwE . CopyError . show) $ liftIO $ copyFile p Overwrite
(dest </> fn) liftIO $ setFileMode (toFilePath fullDest) fileMode'
Overwrite
liftIO $ setFileMode (toFilePath (dest </> fn)) fileMode'
Just fullDest -> do
liftIO $ hideError NoSuchThing $ deleteFile fullDest
handleIO (throwE . CopyError . show) $ liftIO $ copyFile p
fullDest
Overwrite
liftIO $ setFileMode (toFilePath fullDest) fileMode'
pure latestVer pure latestVer