New patches: [unrevert anonymous**20090619035046] hunk ./Distribution/Gentoo/Packages.hs 11 This module defines helper functions that deal with installed packages in Gentoo. -} -module Distribution.Gentoo.Packages where +module Distribution.Gentoo.Packages + ( Package + , Content + , printPkg + , hasFile + , pkgsHaveContent + , hasContentMatching + , hasDirMatching + , hasObjMatching + ) where hunk ./Distribution/Gentoo/Packages.hs 22 -import Distribution.Gentoo.Util +import Distribution.Gentoo.Util(concatMapM) import Data.Char(isDigit) hunk ./Distribution/Gentoo/Packages.hs 25 -import Data.List -import Data.Maybe -import System.Directory -import System.FilePath +import Data.List(delete, groupBy) +import Data.Maybe(catMaybes, listToMaybe) import qualified Data.ByteString.Char8 as BS import Data.ByteString.Char8(ByteString) hunk ./Distribution/Gentoo/Packages.hs 29 -import Control.Monad +import System.Directory( doesDirectoryExist + , doesFileExist + , getDirectoryContents) +import System.FilePath(()) +import Control.Monad(filterM, liftM) type Category = String type Pkg = String Context: [Now use Package rather than VCatPkg Ivan.Miljenovic@gmail.com**20090619020015 Ignore-this: bef0827ca5c1bb12add2741e4110ccef ] [Add toPackage Ivan.Miljenovic@gmail.com**20090619020003 Ignore-this: c9ac554718946112960edd7c03d32204 ] [Add the Package datatype Ivan.Miljenovic@gmail.com**20090619015518 Ignore-this: 90f3683f718d1a22b1d63384023a41ea ] [Add stripVersion Ivan.Miljenovic@gmail.com**20090619015504 Ignore-this: e3a73c19df12fdcc5f9c389c9b00b898 ] [A much better version of getSlot Ivan.Miljenovic@gmail.com**20090618100717 Ignore-this: a1537c57eb6671000fb68433db47f3e2 Use the existing SLOT file (which I didn't know about) rather than trying to parse the ebuild. This also has the advantage if the SLOT isn't set directly in the ebuild. ] [Can now find the slot for a package Ivan.Miljenovic@gmail.com**20090617081335 Ignore-this: 4c68375226ff304de0413b86b8f227c4 ] [Nicer definition of dropLastTwo Ivan.Miljenovic@gmail.com**20090617075119 Ignore-this: ab5fcb2481e21abeb514f64482cb52f ] [Re-do usage of filepaths when searching for content Ivan.Miljenovic@gmail.com**20090616095127 Ignore-this: 3d34a89557b1eb6f3af81d8c1ff2fa4 ] [Add a function to find which package (if any) owns the given file Ivan.Miljenovic@gmail.com**20090615110229 Ignore-this: e19cd1a6dbb525b778a0457fcb6c29eb ] [Adding on CONTENTS is now done in parseContents, not hasContent Ivan.Miljenovic@gmail.com**20090615110212 Ignore-this: 65b121609a3b45f512572ba25c93ccda ] [Do more thorough checking, etc. when trying to find CONTENTS files to parse Ivan.Miljenovic@gmail.com**20090615105057 Ignore-this: f954a2320b783766e270b35b0a5eaa3b ] [Have a new type alias VersionedPkg to distinguish from unversioned Ivan.Miljenovic@gmail.com**20090615100138 Ignore-this: 1c4313a065fe84ef192371db3699a986 ] [Can now list all cat/pkgs that match a predicate Ivan.Miljenovic@gmail.com**20090614124038 Ignore-this: b3e896e2eedfb88253d77892e3ee5ee5 ] [Split out concatMapM to a Util module Ivan.Miljenovic@gmail.com**20090614124019 Ignore-this: 2c851a686ccb69f0fbd5862b0e0b6145 ] [Some small fixups Ivan.Miljenovic@gmail.com**20090614121521 Ignore-this: 72cb6dfd0cb8cbd2ccec7c6581b70735 ] [Add some predicates to search through [Content] Ivan.Miljenovic@gmail.com**20090614114821 Ignore-this: 9dd64914d32a24790d06625696e55cf4 ] [Export libFronts from GHC Ivan.Miljenovic@gmail.com**20090614114759 Ignore-this: 233e4d27cff67e916a9d18860d3f578b ] [Use the Distribution.Gentoo.Packages module Lennart Kolmodin **20090614095918 Ignore-this: 240f306d5a643c31ed44a0c1409c2d58 ] [Add Distribution.Gentoo.Package Ivan.Miljenovic@gmail.com**20090614093354 Ignore-this: 962c546089466615f2fb00d96958c980 Can so far find installed categories, and parse CONTENTS files ] [Cleanup Lennart Kolmodin **20090611171254 Ignore-this: a5570eada406dfb7957e4bf49f8ed27e ] [When searching for ghc directories, see that a gentoo/ directory exists Lennart Kolmodin **20090611171221 Ignore-this: 51c781fa066793e1ca688a7203104068 ] [Haddock comments Lennart Kolmodin **20090611171206 Ignore-this: f1fd8307178c42e6ffabaaf397392999 ] [Print more info and exclude the current ghc dir when looking for packages to rebuild Lennart Kolmodin **20090611165950 Ignore-this: 9aa8e95e68058e3e1145388802b96ed8 ] [Export ghcLibDir Lennart Kolmodin **20090611165917 Ignore-this: 83eaddfce02f6c1578c55894fdcc74c ] [When finding broken packages, don't do more IO then we have to Ivan.Miljenovic@gmail.com**20090610125606 Ignore-this: 37e4742a54f56b4b911ceaf231e6bef1 If there aren't any broken packages, then there's no need to go and index all the .conf files. ] [Functionality for finding packages to be reinstalled due to ghc upgrade Lennart Kolmodin **20090609193017 Ignore-this: 6336937e4afcee37f0d35120f42ff978 Not complete implementation, very pre-alpha. Also, needs to discard packages from current ghc. ] [Add comments Ivan.Miljenovic@gmail.com**20090607124839 Ignore-this: 4d144e61d70322e89e9e2c0cd8bc222f ] [Clean up exports and imports Ivan.Miljenovic@gmail.com**20090607124806 Ignore-this: 989a59e8eb147a186745b800ffe74e40 Make all imports explicit (except for qualified Data.Map) ] [Define brokenConfs to return the .conf files of broken packages Ivan.Miljenovic@gmail.com**20090607123202 Ignore-this: 29a1855d3505362299fa305cabd4346d Also some general clean-up ] [Define confFiles in GHC to find all .conf files for a ghc install Ivan.Miljenovic@gmail.com**20090607121153 Ignore-this: e3193e9bc87d0c217f078c3655de4348 ] [Define and use concatMapM in GHC Ivan.Miljenovic@gmail.com**20090607121136 Ignore-this: c5d4f81ae0ed0365a5e334b1db542230 ] [Add initial documentation and do some initial sorting of functions in GHC Ivan.Miljenovic@gmail.com**20090607100307 Ignore-this: ce6668a899500f7ae3b765cd9e45fcc1 ] [Add support for finding lib dirs of old versions of GHC Ivan.Miljenovic@gmail.com**20090606123451 Ignore-this: 3cc27e2e24bb330a53096f37306ac6ab ] [Improve ghcLibDir Ivan.Miljenovic@gmail.com**20090605133213 Ignore-this: 902f300fc0239f43c107abbdc6028a35 Use System.Directory.canonicalizePath rather than System.FilePath.takeDirectory in case ghc doesn't append "/." in future. ] [getBroken now uses reverseDependencyClosure to get _all_ broken packages Ivan.Miljenovic@gmail.com**20090605131701 Ignore-this: deeee3dbd8b1c9bcb22edbf68f4bfd0d brokenPackages only returns those that are missing a dep, not those that depend recursively upon it. ] [Add support to get GHC's version from Cabal Ivan.Miljenovic@gmail.com**20090604215907 Ignore-this: 92c42eeeffcf3afa3e316a858d03218c Not sure if we should keep this or get the output of "ghc --version" ] [Add initial code to find broken packages. Ivan.Miljenovic@gmail.com**20090603124752 Ignore-this: 74f5db4379de494055ebfd99ff94f3b9 This uses Cabal 1.6, so we might need to bundle it with haskell-updater ] Patch bundle hash: 4d04047620f8b496fa437fe9a05b8dfad6a93db7