[project @ 2005-03-16 10:24:47 by simonmar]
authorsimonmar <unknown>
Wed, 16 Mar 2005 10:24:47 +0000 (10:24 +0000)
committersimonmar <unknown>
Wed, 16 Mar 2005 10:24:47 +0000 (10:24 +0000)
Further to previous patch: only create the user database if we're modifying

ghc/utils/ghc-pkg/Main.hs

index 42753db..0656399 100644 (file)
@@ -285,13 +285,15 @@ getPkgDatabases modify flags = do
        --      --user means overlap with the user database
        --      --global means reset to just the global database
        --      -f <file> means overlap with <file>
-       addDB dbs FlagUser       = if user_conf `elem` dbs 
-                                       then dbs 
-                                       else user_conf : dbs
+       addDB dbs FlagUser
+          | user_conf `elem` dbs     = dbs
+          | modify || user_exists    = user_conf : dbs
        addDB dbs FlagGlobal     = [global_conf]
        addDB dbs (FlagConfig f) = f : dbs
        addDB dbs _              = dbs
 
+  -- we create the user database iff (a) we're modifying, and (b) the
+  -- user asked to use it by giving the --user flag.
   when (not user_exists && user_conf `elem` databases) $ do
        putStrLn ("Creating user package database in " ++ user_conf)
        createDirectoryIfMissing True archdir