cabal-rpm 0.9.8 → 0.9.9
raw patch · 4 files changed
+23/−16 lines, 4 files
Files
- ChangeLog +3/−0
- cabal-rpm.cabal +2/−2
- src/Commands/Spec.hs +16/−12
- src/Dependencies.hs +2/−2
ChangeLog view
@@ -1,3 +1,6 @@+* 0.9.9 (2016-01-25)+- couple of minor improvements for SUSE packaging+ * 0.9.8 (2015-10-08) - better %license logic - fix handling of versions without '.'
cabal-rpm.cabal view
@@ -1,5 +1,5 @@ Name: cabal-rpm-Version: 0.9.8+Version: 0.9.9 Synopsis: RPM packaging tool for Haskell Cabal-based packages Description: This package provides a RPM packaging tool for Haskell Cabal-based packages.@@ -17,7 +17,7 @@ Author: Jens Petersen <juhp@community.haskell.org>, Bryan O'Sullivan <bos@serpentine.com> Maintainer: Jens Petersen <petersen@fedoraproject.org> Copyright: 2007-2008 Bryan O'Sullivan <bos@serpentine.com>,- 2012-2015 Jens Petersen <petersen@fedoraproject.org>+ 2012-2016 Jens Petersen <petersen@fedoraproject.org> Category: Distribution Build-type: Simple Extra-source-files: README.md ChangeLog man/cblrpm.1.md man/cblrpm.1
src/Commands/Spec.hs view
@@ -3,7 +3,7 @@ -- | -- Module : Commands.Spec -- Copyright : (C) 2007-2008 Bryan O'Sullivan--- (C) 2012-2015 Jens Petersen+-- (C) 2012-2016 Jens Petersen -- -- Maintainer : Jens Petersen <petersen@fedoraproject.org> -- Stability : alpha@@ -32,7 +32,7 @@ import Data.List (groupBy, intercalate, isPrefixOf, isSuffixOf, sort, (\\)) import Data.Maybe (fromMaybe)-import Data.Time.Clock (UTCTime, getCurrentTime)+import Data.Time.Clock (getCurrentTime) import Data.Time.Format (formatTime) import Data.Version (showVersion) @@ -58,13 +58,15 @@ import qualified Paths_cabal_rpm (version) -defaultRelease :: FilePath -> UTCTime -> IO String-defaultRelease cabalPath now = do+defaultRelease :: FilePath -> Distro -> IO String+defaultRelease cabalPath distro = do let pkgDir = takeDirectory cabalPath scmRepo <- isScmDir pkgDir- return $ if scmRepo- then formatTime defaultTimeLocale "0.%Y%m%d" now- else "1"+ if scmRepo+ then do+ now <- getCurrentTime+ return $ formatTime defaultTimeLocale "0.%Y%m%d" now+ else return $ if (distro == SUSE) then "0" else "1" rstrip :: (Char -> Bool) -> String -> String rstrip p = reverse . dropWhile p . reverse@@ -80,15 +82,11 @@ verbose = rpmVerbosity flags hasExec = hasExes pkgDesc hasLib = hasLibs pkgDesc- now <- getCurrentTime- defRelease <- defaultRelease cabalPath now (pkgname, binlib) <- getPkgName mspec pkgDesc (rpmBinary flags) let pkg_name = if pkgname == name then "%{name}" else "%{pkg_name}" basename | binlib = "%{pkg_name}" | hasExecPkg = name | otherwise = "ghc-%{pkg_name}"- version = packageVersion pkg- release = fromMaybe defRelease (rpmRelease flags) specFile = fromMaybe "" mdest </> pkgname ++ ".spec" hasExecPkg = binlib || (hasExec && not hasLib) -- run commands before opening file to prevent empty file on error@@ -119,6 +117,7 @@ if distro /= SUSE then put "# https://fedoraproject.org/wiki/Packaging:Haskell" else do+ now <- getCurrentTime let year = formatTime defaultTimeLocale "%Y" now put "#" put $ "# spec file for package " ++ pkgname@@ -178,6 +177,9 @@ -- putDef "debug_package" "%{nil}" -- putNewline + defRelease <- defaultRelease cabalPath distro+ let version = packageVersion pkg+ release = fromMaybe defRelease (rpmRelease flags) putHdr "Name" (if binlib then "%{pkg_name}" else basename) putHdr "Version" version putHdr "Release" $ release ++ (if distro == SUSE then [] else "%{?dist}")@@ -205,7 +207,8 @@ unless (null $ alldeps ++ extraTestDeps) $ do put "# Begin cabal-rpm deps:" mapM_ (putHdr "BuildRequires") alldeps- when (any (\ d -> d `elem` map showDep ["template-haskell", "hamlet"]) deps) $+ when (distro /= SUSE &&+ any (\ d -> d `elem` map showDep ["template-haskell", "hamlet"]) deps) $ putHdr "ExclusiveArch" "%{ghc_arches_with_ghci}" unless (null extraTestDeps) $ do put "%if %{with tests}"@@ -349,6 +352,7 @@ put "%changelog" unless (distro == SUSE) $ do+ now <- getCurrentTime let date = formatTime defaultTimeLocale "%a %b %e %Y" now put $ "*" +-+ date +-+ "Fedora Haskell SIG <haskell@lists.fedoraproject.org> - " ++ version ++ "-" ++ release put $ "- spec file generated by cabal-rpm-" ++ showVersion Paths_cabal_rpm.version
src/Dependencies.hs view
@@ -1,6 +1,6 @@ -- | -- Module : Dependencies--- Copyright : (C) 2012-2015 Jens Petersen+-- Copyright : (C) 2012-2016 Jens Petersen -- -- Maintainer : Jens Petersen <petersen@fedoraproject.org> -- Stability : alpha@@ -123,7 +123,7 @@ -> String -- ^self -> [String] -- ^depends testsuiteDependencies pkgDesc self =- map showDep . delete self . filter excludedPkgs . nub . map depName $ concatMap targetBuildDepends $ map testBuildInfo $ testSuites pkgDesc+ map showDep . delete self . filter excludedPkgs . nub . map depName $ concatMap (targetBuildDepends . testBuildInfo) (testSuites pkgDesc) missingPackages :: PackageDescription -> IO [String] missingPackages pkgDesc = do