Repository : ssh://darcs.haskell.org//srv/darcs/packages/Cabal

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/a20fb831d1b7ebd901f091db346ad803c060d635

>---------------------------------------------------------------

commit a20fb831d1b7ebd901f091db346ad803c060d635
Author: Pepe Iborra <[email protected]>
Date:   Sun May 20 20:21:37 2007 +0000

    Be more robust when dealing with external tar

>---------------------------------------------------------------

 .../src/Network/Hackage/CabalInstall/TarUtils.hs   |    5 +++--
 .../src/Network/Hackage/CabalInstall/Update.hs     |    4 ++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs
index 536e0a3..81289e6 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/TarUtils.hs
@@ -17,6 +17,7 @@ module Network.Hackage.CabalInstall.TarUtils
     , extractTarFile
     ) where
 
+import Data.Char (isSpace)
 import System.FilePath
 import System.IO (hClose, hGetContents)
 import System.Process (runInteractiveProcess, runProcess, waitForProcess)
@@ -37,12 +38,12 @@ tarballGetFiles tarProg tarFile
          eCode <- waitForProcess handle
          case eCode of
            ExitFailure err -> error $ printf "Failed to get filelist from 
'%s': %s." tarFile (show err)
-           _ -> return (lines files)
+           _ -> return (map trim $ lines files)
     where args = ["--list"
                  ,"--gunzip"
                  ,"--file"
                  ,tarFile]
-
+          trim = reverse . dropWhile isSpace . reverse . dropWhile isSpace  
--slow'y
 {-|
 Find a file in a given directory.
 
diff --git a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs 
b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
index 850e54a..7899fe6 100644
--- a/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
+++ b/cabal-install/src/Network/Hackage/CabalInstall/Update.hs
@@ -22,7 +22,7 @@ import Network.Hackage.CabalInstall.Fetch (downloadIndex, 
packagesDirectory)
 import Distribution.Package (PackageIdentifier(..), pkgName, showPackageId)
 import Distribution.PackageDescription (PackageDescription(..), 
readPackageDescription)
 import Distribution.Verbosity
-import System.FilePath ((</>), joinPath, addExtension)
+import System.FilePath ((</>), joinPath, addExtension, takeExtension)
 
 import Control.Monad (liftM)
 import Data.List (isSuffixOf)
@@ -39,7 +39,7 @@ update cfg =
               let packageDir = packagesDirectory cfg
                   cabalFiles = [ packageDir </> path
                                | path <- contents
-                               , ".cabal" `isSuffixOf` path ]
+                               , ".cabal" == takeExtension path ]
                   v = configVerbose cfg
                   v'= if v == verbose then normal else v
               packageDescriptions <-



_______________________________________________
Cvs-libraries mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-libraries

Reply via email to