-----------------------------------------------------------------------------
--- $Id: Main.hs,v 1.9 2001/04/07 22:30:01 qrczak Exp $
+-- $Id: Main.hs,v 1.10 2001/06/04 06:20:35 qrczak Exp $
--
-- Package management tool
-----------------------------------------------------------------------------
listPackages details = do
hPutStr stdout (listPkgs details)
hPutChar stdout '\n'
- exitWith ExitSuccess
showPackage :: [PackageConfig] -> FilePath -> String
-> [PackageConfig->[String]] -> IO ()
then die ("package `" ++ name new_pkg ++ "' already installed")
else do
savePackageConfig pkgconf
- maybeRestoreOldConfig pkgconf $ do
- writeNewConfig pkgconf (details ++ [new_pkg])
- exitWith ExitSuccess
+ maybeRestoreOldConfig pkgconf $
+ writeNewConfig pkgconf (details ++ [new_pkg])
removePackage :: [PackageConfig] -> FilePath -> String -> IO ()
removePackage details pkgconf pkg = do
then die ("package `" ++ pkg ++ "' not installed")
else do
savePackageConfig pkgconf
- maybeRestoreOldConfig pkgconf $ do
- writeNewConfig pkgconf (filter ((/= pkg) . name) details)
- exitWith ExitSuccess
+ maybeRestoreOldConfig pkgconf $
+ writeNewConfig pkgconf (filter ((/= pkg) . name) details)
checkConfigAccess :: FilePath -> IO ()
checkConfigAccess pkgconf = do