diff --git a/cblrepo.cabal b/cblrepo.cabal
--- a/cblrepo.cabal
+++ b/cblrepo.cabal
@@ -1,5 +1,5 @@
 name: cblrepo
-version: 0.5.0
+version: 0.6
 cabal-version: >= 1.6
 license: OtherLicense
 license-file: LICENSE-2.0
@@ -28,7 +28,7 @@
     build-depends: base ==4.5.*, cmdargs ==0.9.*, filepath ==1.3.*,
         directory ==1.1.*, Cabal ==1.14.*, json ==0.5.*,
         bytestring ==0.9.*, tar ==0.4.*, zlib ==0.5.*, mtl ==2.0.*,
-        process ==1.1.*, Unixutils ==1.48.*, unix ==2.5.*,
+        process ==1.1.*, Unixutils ==1.50.*, unix ==2.5.*,
         ansi-wl-pprint ==0.6.*
 
 Source-Repository head
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -73,7 +73,10 @@
     , pkgs := def += args += typ "PKG"
     ] += name "versions" += help "list available versions"
 
-cmdUpdates = record defUpdates [ argAppDir , argDbFile ] += name "updates" += help "check for available updates"
+cmdUpdates = record defUpdates
+    [ argAppDir, argDbFile
+    , idxStyle := False += explicit += name "s" += help "a shorter output suitable for scripting"
+    ] += name "updates" += help "check for available updates"
 
 cmdListPkgs = record defCmdListPkgs
     [ argAppDir, argDbFile
diff --git a/src/PkgDB.hs b/src/PkgDB.hs
--- a/src/PkgDB.hs
+++ b/src/PkgDB.hs
@@ -119,7 +119,7 @@
 lookupPkg :: CblDB -> String -> Maybe CblPkg
 lookupPkg db n = maybe Nothing (\ p -> Just (n, p)) (lookup n db)
 
-lookupDependants db n = map pkgName $ filter (\ p -> doesDependOn p n) db
+lookupDependants db n = filter (/= n) $ map pkgName $ filter (\ p -> doesDependOn p n) db
     where
         doesDependOn p n = n `elem` (map _depName $ pkgDeps p)
 
diff --git a/src/Updates.hs b/src/Updates.hs
--- a/src/Updates.hs
+++ b/src/Updates.hs
@@ -33,6 +33,7 @@
 updates = do
     db <- cfgGet dbFile >>= liftIO . readDb
     aD <- cfgGet appDir
+    aCS <- cfgGet idxStyle
     entries <- liftIO $ liftM (Tar.read . GZip.decompress)
         (BS.readFile $ aD </> "00-index.tar.gz")
     let nonBasePkgs = filter (not . isBasePkg) db
@@ -41,7 +42,10 @@
     let outdated = filter
             (\ (p, v) -> maybe False (> v) (latestVer p availPkgs))
             pkgsNVers
-    liftIO $ mapM_ (flip printOutdated availPkgs) outdated
+    let printer = if aCS
+            then printOutdatedIdx
+            else printOutdated
+    liftIO $ mapM_ (flip printer availPkgs) outdated
 
 type PkgVer = (String, Version)
 
@@ -68,3 +72,8 @@
         l = fromJust $ latestVer p avail
     in
         putStrLn $ p ++ ": " ++ (display v) ++ " (" ++ (display l) ++ ")"
+
+printOutdatedIdx (p, v) avail = let
+        l = fromJust $ latestVer p avail
+    in
+        putStrLn $ p ++ "," ++ (display l)
diff --git a/src/Util/Misc.hs b/src/Util/Misc.hs
--- a/src/Util/Misc.hs
+++ b/src/Util/Misc.hs
@@ -30,7 +30,7 @@
 import Data.List
 import Data.Typeable
 import Distribution.Compiler
-import Distribution.Package
+import Distribution.Package as P
 import Distribution.PackageDescription
 import Distribution.PackageDescription.Configuration
 import Distribution.PackageDescription.Parse
@@ -65,6 +65,9 @@
 progName = "cblrepo"
 dbName = progName ++ ".db"
 
+ghcVersion = (Version [7,4,1] [])
+ghcVersionDep = "ghc=" ++ display ghcVersion ++ "-1"
+
 -- {{{1 command line argument type
 
 data Cmds
@@ -77,7 +80,7 @@
     | Sync { appDir :: FilePath }
     | Versions { appDir :: FilePath, pkgs :: [String] }
     | CmdListPkgs { appDir :: FilePath, dbFile :: FilePath, listGhc :: Bool, listDistro :: Bool, noListRepo :: Bool }
-    | Updates { appDir :: FilePath, dbFile :: FilePath }
+    | Updates { appDir :: FilePath, dbFile :: FilePath, idxStyle :: Bool }
     | Urls { appDir :: FilePath, pkgVers :: [(String, String)] }
     | PkgBuild { appDir :: FilePath, dbFile :: FilePath, patchDir :: FilePath, pkgs :: [String] }
     | ConvertDb { appDir :: FilePath, inDbFile :: FilePath, outDbFile :: FilePath }
@@ -90,7 +93,7 @@
 defSync =  Sync ""
 defVersions =  Versions "" []
 defCmdListPkgs =  CmdListPkgs "" "" False False False
-defUpdates =  Updates "" ""
+defUpdates =  Updates "" "" False
 defUrls =  Urls "" []
 defPkgBuild =  PkgBuild "" "" "" []
 defConvertDb = ConvertDb "" "" ""
@@ -188,19 +191,24 @@
         liftIO $ readPackageDescription silent cblFn
 
 -- {{{2 finalising
-finalizePkg db = finalizePackageDescription
-    [] -- no flags
-    (checkAgainstDb db)
-    (Platform X86_64 buildOS) -- platform
-    (CompilerId GHC (Version [7,0,2] []))  -- compiler version
-    [] -- no additional constraints
+finalizePkg db gpd = let
+        n = ((\ (P.PackageName n) -> n ) . P.pkgName . package . packageDescription) gpd
+    in finalizePackageDescription
+        [] -- no flags
+        (checkAgainstDb db n)
+        (Platform X86_64 buildOS) -- platform
+        (CompilerId GHC ghcVersion)  -- compiler version
+        [] -- no additional constraints
+        gpd
 
-checkAgainstDb db dep = let
+checkAgainstDb db name dep = let
         dN = depName dep
         dVR = depVersionRange dep
-    in case DB.lookupPkg db dN of
-        Nothing -> False
-        Just (_, p) -> withinRange (DB.version p) dVR
+    in if dN == name
+        then True
+        else case DB.lookupPkg db dN of
+            Nothing -> False
+            Just (_, p) -> withinRange (DB.version p) dVR
 
 -- {{{1 Command type
 type Command a = ReaderT Cmds IO a
diff --git a/src/Util/Translation.hs b/src/Util/Translation.hs
--- a/src/Util/Translation.hs
+++ b/src/Util/Translation.hs
@@ -33,7 +33,7 @@
 import Data.Monoid hiding ((<>))
 import Data.Version
 import Distribution.Package as P
-import Distribution.PackageDescription
+import Distribution.PackageDescription as PD
 import Distribution.Text
 import System.Directory
 import System.Exit
@@ -287,8 +287,8 @@
         pkgDesc = synopsis pd
         url = if null (homepage pd) then "http://hackage.haskell.org/package/${_hkgname}" else (homepage pd)
         lic = display (license pd)
-        makeDepends = if hasLib then ["haddock"] else ["ghc=7.4.1-1", "haddock"] ++ calcExactDeps db pd
-        depends = if hasLib then ["ghc=7.4.1-1"] ++ calcExactDeps db pd else []
+        makeDepends = if hasLib then ["haddock"] else [ghcVersionDep, "haddock"] ++ calcExactDeps db pd
+        depends = if hasLib then [ghcVersionDep] ++ calcExactDeps db pd else []
         extraLibDepends = maybe [] (extraLibs . libBuildInfo) (library pd)
         install = if hasLib then (apShInstall ap) else Nothing
     in ap
@@ -315,7 +315,8 @@
 --  • this is most likely too simplistic to create the Arch package names
 --  correctly for all possible dependencies
 calcExactDeps db pd = let
-        remPkgs = (map DB.pkgName (filter isGhcPkg db)) ++ ghcPkgs
+        n = (\ (P.PackageName n) -> n ) (P.packageName pd)
+        remPkgs = (map DB.pkgName (filter isGhcPkg db)) ++ ghcPkgs ++ [n]
         deps = filter (not . flip elem remPkgs) (map depName (buildDepends pd))
         lookupPkgVer = display . DB.pkgVersion . fromJust . lookupPkg db
         depString n = let
