packages feed

debian-build 0.2.0.0 → 0.2.1.0

raw patch · 3 files changed

+31/−11 lines, 3 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Debian.Package.Build.Command: packageVersion :: String -> Trace DebianVersion
+ Debian.Package.Data.Source: isNative' :: DebianVersion -> Bool
+ Debian.Package.Data.Source: origVersion' :: DebianVersion -> Version
+ Debian.Package.Data.Source: readDebianVersion :: String -> Maybe DebianVersion

Files

debian-build.cabal view
@@ -1,5 +1,5 @@ name:                debian-build-version:             0.2.0.0+version:             0.2.1.0 synopsis:            Debian package build sequence tools description:         This package provides functions to build                      debian package from source tree.
src/Debian/Package/Build/Command.hs view
@@ -17,7 +17,7 @@         , unpackInDir, unpack, packInDir', packInDir -       , cabalDebian', cabalDebian, dpkgParseChangeLog+       , cabalDebian', cabalDebian, packageVersion, dpkgParseChangeLog         , debuild, debi @@ -34,13 +34,15 @@  import Data.Maybe (fromMaybe) import Control.Arrow ((&&&))+import Control.Applicative ((<$>)) import Control.Monad.Trans.Class (lift) import System.FilePath ((<.>), takeDirectory) import qualified System.Directory as D import qualified System.Process as Process import System.Exit (ExitCode (..))+import Data.Version (Version, versionBranch, showVersion) -import Debian.Package.Data (Hackage, ghcLibraryBinPackages, ghcLibraryPackages, Source, parseChangeLog)+import Debian.Package.Data (Hackage, ghcLibraryBinPackages, ghcLibraryPackages, Source, parseChangeLog, DebianVersion, readDebianVersion, origVersion') import Debian.Package.Build.Monad (Trace, traceCommand, traceOut, bracketTrace_)  @@ -144,17 +146,30 @@  -- | Just call /cabal-debian/ command cabalDebian' :: Maybe String -> Trace ()-cabalDebian' mayRev =+cabalDebian' mayRev = do+  ver <-  origVersion' <$> packageVersion "cabal-debian"+  case versionBranch ver of+    (x:_) | x <= 1     ->  fail $ "Version of cabal-debian is TOO OLD: " ++ showVersion ver +++                           " - Under version 1 generates wrong dependencies."+          | otherwise  ->  return ()+    []                 ->  return ()+   rawSystem'-  [ "cabal-debian"-  , "--debianize" {- for cabal-debian 1.25 -}-  , "--quilt"-  , "--revision=" ++ fromMaybe "1~autogen1" mayRev-  ]+    [ "cabal-debian"+    , "--quilt"+    , "--revision=" ++ fromMaybe "1~autogen1" mayRev+    ]  -- | Call /cabal-debian/ command under specified directory cabalDebian :: FilePath -> Maybe String -> Trace () cabalDebian dir = withCurrentDir' dir . cabalDebian'++-- | Query debian package version+packageVersion :: String -> Trace DebianVersion+packageVersion pkg = do+  vstr <- readProcess' ["dpkg-query", "--show", "--showformat=${Version}", pkg]+  maybe (fail $ "readDebianVersion: failed: " ++ vstr) return+    $ readDebianVersion vstr  -- | Read debian changelog file and try to parse into 'Source' dpkgParseChangeLog :: FilePath -> Trace Source
src/Debian/Package/Data/Source.hs view
@@ -9,7 +9,7 @@ -- -- This module provides data types of debian source package meta information. module Debian.Package.Data.Source-       ( DebianVersion, versionFromHackageVersion+       ( DebianVersion, versionFromHackageVersion, readDebianVersion, origVersion', isNative'         , Source, mkSource, sourceName, version, origVersion, isNative @@ -77,11 +77,13 @@   d Nothing    = debianNativeVersion    [v0, v1, v2, v3] Nothing   (v0, v1, v2, v3) = hackageVersionNumbers hv +-- | Version without debian revision origVersion' :: DebianVersion -> Version origVersion' =  d  where   d (DebianNative    v _) = v   d (DebianNonNative v _) = v +-- | Is debian-native or not isNative' :: DebianVersion -> Bool isNative' = d where   d (DebianNative    _ _) = True@@ -124,6 +126,9 @@ readMaybe' :: Read a => String -> Maybe a readMaybe' =  fmap fst . listToMaybe . filter ((== "") . snd) . reads +-- | Try to read debian package version+readDebianVersion :: String -> Maybe DebianVersion+readDebianVersion =  readMaybe'  -- | Debian source package type, name with version data Source = Source String DebianVersion  deriving Show@@ -179,7 +184,7 @@     mayDebSrc = lookup' "Source:"     mayDebVer = do       dverS <- lookup' "Version:"-      readMaybe' dverS+      readDebianVersion dverS   -- | Debian source package type for Haskell