-
-setupEnv :: FilePath -> PortNumber -> IO Environment
-setupEnv lsdir portNum
- = do let lucuConf = LC.defaultConfig {
- LC.cnfServerPort = PortNumber portNum
- }
- storage <- mkStorage -- FIXME
- return $ Environment {
+setupEnv ∷ FilePath → ServiceName → IO Environment
+setupEnv lsdir port
+ = do let lucuConf = LC.defaultConfig {
+ LC.cnfServerPort = port
+ }
+ reposPath = lsdir </> "repos"
+ interpTable = mkInterpTable
+ reposExist <- doesDirectoryExist reposPath
+ repos <- if reposExist then
+ do debugM logger ("Found a subversion repository on " ++ reposPath)
+ openRepository reposPath
+ else
+ do noticeM logger ("Creating a subversion repository on " ++ reposPath)
+ createRepository reposPath [] []
+ sysConf <- mkSystemConfig lucuConf repos
+ storage <- mkStorage lsdir repos (makeDraft' interpTable)
+ authDB <- mkAuthDB lsdir
+ return Environment {