diff options
Diffstat (limited to 'src/Main.hs')
| -rw-r--r-- | src/Main.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/Main.hs b/src/Main.hs index 3ac5745..aa89fb4 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -35,7 +35,8 @@ import Data.Maybe (mapMaybe) import qualified Text.URI as URI import System.Directory (listDirectory) import qualified Data.HashMap.Strict as HashMap -import SlackBuilder.Info (readInfoFile) +import SlackBuilder.Info (PackageInfo(..), readInfoFile) +import Control.Monad (unless) autoUpdatable :: [PackageSettings] -> [PackageDescription] autoUpdatable = mapMaybe go @@ -108,9 +109,10 @@ installed = do <$> liftIO (listDirectory "/var/lib/pkgtools/packages") traverse_ findInfo $ HashMap.intersectionWith (,) database listing where - findInfo (installed'@Package.DataBaseEntry{ name }, fromRepository) = do - _ <- readInfoFile fromRepository name - liftIO $ print installed' + findInfo (installed'@Package.DataBaseEntry{ name, version }, fromRepository) = do + packageInfo <- readInfoFile fromRepository name + unless (version == getField @"version" packageInfo) $ liftIO $ putStrLn $ + show installed' <> " (available: " <> Text.unpack (getField @"version" packageInfo) <> ")" createDataBase entry@Package.DataBaseEntry{ name } = HashMap.insert name entry createEntry filename = createEntryFromChunks |
