packages feed

cabal-debian 3.0.4 → 3.0.5

raw patch · 4 files changed

+10/−115 lines, 4 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

cabal-debian.cabal view
@@ -1,5 +1,5 @@ Name:           cabal-debian-Version:        3.0.4+Version:        3.0.5 License:        BSD3 License-File:   debian/copyright Author:         David Fox <dsf@seereason.com>
src/Debian/Debianize/Debianize.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, OverloadedStrings, ScopedTypeVariables, StandaloneDeriving, TupleSections, TypeSynonymInstances #-}+{-# LANGUAGE FlexibleInstances, OverloadedStrings, ScopedTypeVariables, StandaloneDeriving, TupleSections, TypeSynonymInstances, CPP #-} {-# OPTIONS -Wall -fno-warn-name-shadowing -fno-warn-orphans #-}  -- | Generate a package Debianization from Cabal data and command line@@ -50,7 +50,11 @@ import Debian.Time (getCurrentLocalRFC822Time) import Distribution.Package (PackageIdentifier(..)) import qualified Distribution.PackageDescription as Cabal+#if __GLASGOW_HASKELL__ < 706+import Prelude hiding (writeFile, unlines, catch)+#else import Prelude hiding (writeFile, unlines)+#endif import System.Console.GetOpt (usageInfo) import System.Directory (doesFileExist, Permissions(executable), getPermissions, setPermissions, createDirectoryIfMissing) import System.Environment (getArgs, getEnv, getProgName)
src/Debian/Debianize/Dependencies.hs view
@@ -201,7 +201,7 @@        return $ case ret of                   (ExitSuccess, out, _) ->                       case takeWhile (not . isSpace) out of-                        "" -> error $ "Unable to locate a package containing " ++ pkg ++ ", try using --exec-map " ++ pkg ++ "=<debname> or Map.insert " ++ show pkg ++ " (BinPkgName \"<debname>\") (execMap flags)"+                        "" -> error $ "Unable to locate a package containing " ++ pkg ++ ", try using --exec-map " ++ pkg ++ "=<debname> or modL execMap (Map.insert (PackageName " ++ show pkg ++ ") (BinPkgName \"<debname>\")"                         s -> [D.BinPkgName s]                   _ -> [] 
src/Debian/Debianize/Tests.hs view
@@ -20,7 +20,7 @@ import Debian.Debianize.Atoms as Atoms     (Atoms, rulesHead, compat, sourceFormat, changelog, control, missingDependencies, revision,      binaryArchitectures, copyright, debVersion, execMap, buildDeps, utilsPackageName, description,-     depends, conflicts, installData {-, sourcePackageName, install, buildDepsIndep-})+     depends, installData {-, sourcePackageName, install, buildDepsIndep-}) import Debian.Debianize.ControlFile as Deb (SourceDebDescription(..), BinaryDebDescription(..), PackageRelations(..), VersionControlSpec(..)) -- import Debian.Debianize.Debianize (writeDebianization) import Debian.Debianize.Dependencies (getRulesHead)@@ -407,121 +407,12 @@     TestLabel "test6" $     TestCase (do result <- readProcessWithExitCode "runhaskell" ["-isrc", "test-data/artvaluereport2/input/debian/Debianize.hs"] ""                  assertEqual "test6" (ExitSuccess, "", "") result)-{--    TestCase ( do old <- inputDebianization "test-data/artvaluereport2/output"-                  new <- debianization "test-data/artvaluereport2/input"-                            (modL control (\ y -> y {homepage = Just "http://appraisalreportonline.com"}) $-                             setL sourcePackageName (Just (SrcPkgName "haskell-artvaluereport2")) $-                             setL utilsPackageName (Just (BinPkgName "artvaluereport2-server")) $-                             modL binaryArchitectures (Map.insert (BinPkgName "artvaluereport2-development") All) $-                             modL binaryArchitectures (Map.insert (BinPkgName "artvaluereport2-production") All) $-                             modL binaryArchitectures (Map.insert (BinPkgName "artvaluereport2-staging") All) $-                             modL buildDepsIndep (Set.insert (BinPkgName "libjs-jcrop")) $-                             modL buildDepsIndep (Set.insert (BinPkgName "libjs-jquery")) $-                             modL buildDepsIndep (Set.insert (BinPkgName "libjs-jquery-u")) $ -                             modL Atoms.depends (Map.insertWith union (BinPkgName "artvaluereport2-development") (singleton (anyrel (BinPkgName "artvaluereport2-server")))) $-                             modL Atoms.depends (Map.insertWith union (BinPkgName "artvaluereport2-production") (singleton (anyrel (BinPkgName "artvaluereport2-server")))) $-                             modL Atoms.depends (Map.insertWith union (BinPkgName "artvaluereport2-production") (singleton (anyrel (BinPkgName "apache2")))) $-                             modL Atoms.depends (Map.insertWith union (BinPkgName "artvaluereport2-staging") (singleton (anyrel (BinPkgName "artvaluereport2-server")))) $-                             -- This should go into the "real" data directory.  And maybe a different icon for each server?-                             modL install (Map.insertWith union (BinPkgName "artvaluereport2-server") (singleton ("theme/ArtValueReport_SunsetSpectrum.ico", "usr/share/artvaluereport2-data"))) $-                             modL Atoms.description (Map.insertWith (error "test6") (BinPkgName "artvaluereport2-backups")-                                                    (T.intercalate "\n"-                                                     [ "backup program for the appraisalreportonline.com site"-                                                     , "  Install this somewhere other than where the server is running get"-                                                     , "  automated backups of the database." ])) $-                             doBackups (BinPkgName "artvaluereport2-backups") "artvaluereport2-backups" $-                             doWebsite (BinPkgName "artvaluereport2-production") (theSite (BinPkgName "artvaluereport2-production")) $-                             doServer (BinPkgName "artvaluereport2-staging") (theServer (BinPkgName "artvaluereport2-staging")) $-                             doServer (BinPkgName "artvaluereport2-development") (theServer (BinPkgName "artvaluereport2-development")) $-                             flip (foldr (\ s deb -> modL Atoms.depends (Map.insertWith union (BinPkgName "artvaluereport2-server") (singleton (anyrel (BinPkgName s)))) deb))-                                  ["libjs-jquery", "libjs-jquery-ui", "libjs-jcrop", "libjpeg-progs", "netpbm",-                                   "texlive-latex-recommended", "texlive-latex-extra", "texlive-fonts-recommended", "texlive-fonts-extra"] $-                             doExecutable (BinPkgName "artvaluereport2-server") (InstallFile "artvaluereport2-server" Nothing Nothing "artvaluereport2-server") $-                             setL changelog (getL changelog old) $-                             (newDebianization' 7 (StandardsVersion 3 9 1 Nothing)))-                  writeDebianization "/tmp" new-                  assertEqual "test6" [] (diffDebianizations old (copyFirstLogEntry old new)))-    where-      -- hints = dependencyHints (putExecMap "trhsx" (BinPkgName "haskell-hsx-utils") $ putExtraDevDep (BinPkgName "markdown") $ Flags.defaultFlags)-      -- A log entry gets added when the Debianization is generated,-      -- it won't match so drop it for the comparison.-      -- dropFirstLogEntry (deb@(Debianization {changelog = ChangeLog (_ : tl)})) = deb {changelog = ChangeLog tl}-      theSite :: BinPkgName -> Site-      theSite deb =-          Site { domain = hostname'-               , serverAdmin = "logic@seereason.com"-               , server = theServer deb }-      theServer :: BinPkgName -> Server-      theServer deb =-          Server { hostname =-                       case deb of-                         BinPkgName "artvaluereport2-production" -> hostname'-                         _ -> hostname'-                 , port = portNum deb-                 , headerMessage = "Generated by artvaluereport2/Setup.hs"-                 , retry = "60"-                 , serverFlags =-                    ([ "--http-port", show (portNum deb)-                     , "--base-uri", case deb of-                                       BinPkgName "artvaluereport2-production" -> "http://" ++ hostname' ++ "/"-                                       _ -> "http://seereason.com:" ++ show (portNum deb) ++ "/"-                     , "--top", databaseDirectory deb-                     , "--logs", "/var/log/" ++ show (pretty deb)-                     , "--log-mode", case deb of-                                       BinPkgName "artvaluereport2-production" -> "Production"-                                       _ -> "Development"-                     , "--static", "/usr/share/artvaluereport2-data"-                     , "--no-validate" ] ++-                     (case deb of-                        BinPkgName "artvaluereport2-production" -> [{-"--enable-analytics"-}]-                        _ -> []) {- ++-                     [ "--jquery-path", "/usr/share/javascript/jquery/"-                     , "--jqueryui-path", "/usr/share/javascript/jquery-ui/"-                     , "--jstree-path", jstreePath-                     , "--json2-path",json2Path ] -})-                 , installFile =-                     InstallFile { execName   = "artvaluereport2-server"-                                 , destName   = show (pretty deb)-                                 , sourceDir  = Nothing-                                 , destDir    = Nothing }-                 }-      hostname' = "my.appraisalreportonline.com"-      portNum :: BinPkgName -> Int-      portNum (BinPkgName deb) =-          case deb of-            "artvaluereport2-production"  -> 9027-            "artvaluereport2-staging"     -> 9031-            "artvaluereport2-development" -> 9032-            _ -> error $ "Unexpected package name: " ++ deb--}- test7 :: Test test7 =     TestLabel "test7" $-    TestCase ( do old <- inputDebianization "."-                  new <- debianization "."-                           (modL control (\ y -> y {homepage = Just "http://src.seereason.com/cabal-debian"}) $-                            setL sourceFormat (Just Native3) $-                            setL utilsPackageName (Just (BinPkgName "cabal-debian")) $-                            modL Atoms.depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (anyrel (BinPkgName "apt-file")))) $-                            modL Atoms.depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (anyrel (BinPkgName "debian-policy")))) $-                            modL Atoms.depends (Map.insertWith union (BinPkgName "libghc-cabal-debian-dev") (singleton (anyrel (BinPkgName "debian-policy")))) $-                            modL Atoms.conflicts (Map.insertWith union (BinPkgName "cabal-debian")-                                    (singleton (Rel (BinPkgName "haskell-debian-utils") (Just (SLT (parseDebianVersion ("3.59" :: String)))) Nothing))) $-                            modL Atoms.description (Map.insertWith (error "test7") (BinPkgName "cabal-debian")-                                                    (T.intercalate "\n"-                                                      [ "Create a debianization for a cabal package"-                                                      , " Tool for creating debianizations of Haskell packages based on the .cabal"-                                                      , " file.  If apt-file is installed it will use it to discover what is the"-                                                      , " debian package name of a C library."-                                                      , " ."-                                                      , "  Author: David Fox <dsf@seereason.com>"-                                                      , "  Upstream-Maintainer: David Fox <dsf@seereason.com>" ])) $-                            copyChangelog old $-                            newDebianization' 7 (StandardsVersion 3 9 3 Nothing))-                  assertEqual "test7" [] (diffDebianizations old (copyChangelog old new)))+    TestCase (do new <- readProcessWithExitCode "runhaskell" ["-isrc", "debian/Debianize.hs"] ""+                 assertEqual "test7" (ExitSuccess, "", "Ignored: ./debian/cabal-debian.1\nIgnored: ./debian/cabal-debian.manpages\n") new)  test8 :: Test test8 =