[Pkg-haskell-commits] [SCM] haskell-testpack branch, master, updated. debian/1.0.2-1-4-gb0d6b36
John Goerzen
jgoerzen at complete.org
Fri Apr 23 15:21:02 UTC 2010
The following commit has been merged in the master branch:
commit e6a24057b411d422e1f8d8c61f1c938c724b244a
Author: John Goerzen <jgoerzen at complete.org>
Date: Thu Dec 7 23:11:48 2006 +0100
Removed split-off Debian stuff
diff --git a/MissingH.cabal b/MissingH.cabal
index 91967a7..c367067 100644
--- a/MissingH.cabal
+++ b/MissingH.cabal
@@ -36,7 +36,6 @@ Exposed-Modules: Data.String, System.IO.Utils, System.IO.Binary, Data.List.Utils
System.IO.HVFS.Utils,
System.IO.HVIO, System.IO.StatCompat, System.IO.WindowsCompat,
System.IO.PlafCompat, System.Posix.Consts,
- System.Debian, System.Debian.ControlParser,
Data.MIME.Types,
Database.AnyDBM,
Database.AnyDBM.MapDBM,
diff --git a/src/System/Debian.hs b/src/System/Debian.hs
deleted file mode 100644
index ff9dab8..0000000
--- a/src/System/Debian.hs
+++ /dev/null
@@ -1,87 +0,0 @@
-{- arch-tag: Debian Package utilities main file
-Copyright (C) 2004 John Goerzen <jgoerzen at complete.org>
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--}
-
-{- |
- Module : System.Debian
- Copyright : Copyright (C) 2004 John Goerzen
- License : GNU GPL, version 2 or above
-
- Maintainer : John Goerzen <jgoerzen at complete.org>
- Stability : provisional
- Portability: portable
-
-This module provides various helpful utilities for dealing with Debian
-files and programs.
-
-Written by John Goerzen, jgoerzen\@complete.org
--}
-
-module System.Debian (-- * Control or Similar File Utilities
- ControlFile,
- -- * Version Number Utilities
- DebVersion, compareDebVersion, checkDebVersion
- )
-where
-import System.Cmd
-import System.Debian.ControlParser
-import System.Cmd.Utils
-import Data.String
-import System.IO.Unsafe
-import System.Exit
-
-{- | The type representing the contents of a Debian control file,
-or any control-like file (such as the output from apt-cache show, etc.) -}
-type ControlFile = [(String, String)]
-
-splitComma :: String -> [String]
-splitComma = map strip . split ","
-
-----------------------------------------------------------------------
--- VERSION NUMBERS
-----------------------------------------------------------------------
-
-{- | The type representing a Debian version number. This type is an instance
-of 'Prelude.Ord', but you can also use 'compareDebVersion' if you prefer. -}
-data DebVersion = DebVersion String
- deriving (Eq)
-instance Ord DebVersion where
- compare (DebVersion v1) (DebVersion v2) =
- {- This is OK since compareDebVersion should always be the same. -}
- unsafePerformIO $ compareDebVersion v1 v2
-
-{- | Compare the versions of two packages. -}
-compareDebVersion :: String -> String -> IO Ordering
-compareDebVersion v1 v2 =
- let runit op = checkDebVersion v1 op v2
- in do islt <- runit "lt"
- if islt
- then return LT
- else do isgt <- runit "gt"
- if isgt
- then return GT
- else return EQ
-
-checkDebVersion :: String -- ^ Version 1
- -> String -- ^ Operator
- -> String -- ^ Version 2
- -> IO Bool
-checkDebVersion v1 op v2 =
- do ec <- rawSystem "dpkg" ["--compare-versions", v1, op, v2]
- case ec of
- ExitSuccess -> return True
- ExitFailure _ -> return False
diff --git a/src/System/Debian/ControlParser.hs b/src/System/Debian/ControlParser.hs
deleted file mode 100644
index 1386c48..0000000
--- a/src/System/Debian/ControlParser.hs
+++ /dev/null
@@ -1,95 +0,0 @@
-{- arch-tag: Parser for Debian control file
-Copyright (C) 2004 John Goerzen <jgoerzen at complete.org>
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
--}
-
-{- |
- Module : System.Debian.ControlParser
- Copyright : Copyright (C) 2004 John Goerzen
- License : GNU GPL, version 2 or above
-
- Maintainer : John Goerzen <jgoerzen at complete.org>
- Stability : provisional
- Portability: portable
-
-This module provides various helpful utilities for dealing with Debian
-files and programs.
-
-Written by John Goerzen, jgoerzen\@complete.org
--}
-
-module System.Debian.ControlParser(control, depPart)
- where
-import Text.ParserCombinators.Parsec
-import Data.String
-
-eol = (try (string "\r\n"))
- <|> string "\n" <?> "EOL"
-
-extline = try (do char ' '
- content <- many (noneOf "\r\n")
- eol
- return content
- )
-
-entry = do key <- many1 (noneOf ":\r\n")
- char ':'
- val <- many (noneOf "\r\n")
- eol
- exts <- many extline
- return (key, unlines ([val] ++ exts))
-
-{- | Main parser for the control file -}
-control :: CharParser a [(String, String)]
-control = do many header
- retval <- many entry
- return retval
-
-headerPGP = do string "-----BEGIN PGP"
- manyTill (noneOf "\r\n") eol
- return ()
-blankLine = do many (oneOf " \t")
- eol
- return ()
-headerHash = do string "Hash: "
- manyTill (noneOf "\r\n") eol
- return ()
-header = (try headerPGP) <|> (try blankLine) <|> (try headerHash)
-
-{- | Dependency parser.
-
-Returns (package name, Maybe version, arch list
-
-version is (operator, operand) -}
-depPart :: CharParser a (String, (Maybe (String, String)), [String])
-depPart = do packagename <- many1 (noneOf " (")
- many (char ' ')
- version <- (do char '('
- op <- many1 (oneOf "<>=")
- many (char ' ')
- vers <- many1 (noneOf ") ")
- many (char ' ')
- char ')'
- return $ Just (op, vers)
- ) <|> return Nothing
- many (char ' ')
- archs <- (do char '['
- t <- many1 (noneOf "]")
- many (char ' ')
- char ']'
- return (split " " t)
- ) <|> return []
- return (packagename, version, archs)
--
haskell-testpack
More information about the Pkg-haskell-commits
mailing list