[commit: Cabal] master: Create .cabal directory before writing .cabal/config (de2fbfa)

Ian Lynagh igloo at earth.li
Fri Jun 24 01:46:08 CEST 2011


Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/de2fbfaad95046135d6a218c38782c8dc69e7a14

>---------------------------------------------------------------

commit de2fbfaad95046135d6a218c38782c8dc69e7a14
Author: bjorn <bjorn at bringert.net>
Date:   Sun Oct 7 10:01:13 2007 +0000

    Create .cabal directory before writing .cabal/config

>---------------------------------------------------------------

 .../src/Network/Hackage/CabalInstall/Config.hs     |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Config.hs b/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
index cb7d826..38b007e 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Config.hs
@@ -35,6 +35,7 @@ import Data.List (intersperse)
 import Data.Maybe (mapMaybe, fromMaybe)
 import System.Directory (Permissions (..), getPermissions, createDirectoryIfMissing
                             ,getTemporaryDirectory)
+import System.FilePath (takeDirectory)
 import System.IO.Error (isDoesNotExistError)
 import System.IO (hPutStrLn, stderr)
 import System.IO.Unsafe
@@ -203,7 +204,8 @@ loadConfig configFile =
 -- FIXME: finish this
 writeDefaultConfigFile :: FilePath -> ConfigFlags -> IO ()
 writeDefaultConfigFile file cfg = 
-    writeFile file $ showFields configWriteFieldDescrs cfg
+    do createDirectoryIfMissing True (takeDirectory file)
+       writeFile file $ showFields configWriteFieldDescrs cfg
 
 -- | All config file fields.
 configFieldDescrs :: [FieldDescr ConfigFlags]





More information about the Cvs-libraries mailing list