cabal-debian 3.8.3 → 3.9
raw patch · 11 files changed
+158/−68 lines, 11 filesdep ~Cabaldep ~basedep ~debiannew-component:exe:cabal-debian-tests
Dependency ranges changed: Cabal, base, debian
Files
- cabal-debian.cabal +31/−10
- changelog +13/−0
- debian/Debianize.hs +9/−6
- src/Debian/Debianize.hs +0/−2
- src/Debian/Debianize/Atoms.hs +13/−11
- src/Debian/Debianize/Debianize.hs +12/−2
- src/Debian/Debianize/Finalize.hs +8/−4
- src/Debian/Debianize/Options.hs +61/−25
- src/Debian/Debianize/SubstVars.hs +1/−1
- src/Debian/Debianize/Tests.hs +8/−3
- src/Debian/Orphans.hs +2/−4
cabal-debian.cabal view
@@ -1,5 +1,5 @@ Name: cabal-debian-Version: 3.8.3+Version: 3.9 License: BSD3 License-File: debian/copyright Author: David Fox <dsf@seereason.com>@@ -13,14 +13,12 @@ changelog, debian/Debianize.hs Description:- 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. Basic usage is via- the cabal-debian executable. A more powerful but still undocumented- programmatic interface is also provided. Normal usage for this is to- put a script in debian/Debianize.hs (such as the one in this source- package) which is run to create the debianization.-+ This package provides two methods for generating the debianization+ (i.e. the contents of the 'debian' subdirectory) for a cabal package.+ An executable named cabal-debian, and a library API to handle more+ complex packaging issues. For documentation of the executable run+ @cabal-debian --help@, for documentation of the library API follow+ the link to the @Debian.Debianize@ module below. Flag tests Description: enable the unit test executable (disabled by default because it has a lot of wacky dependencies.) Default: False@@ -71,7 +69,6 @@ Debian.Debianize.Input Debian.Debianize.Options Debian.Debianize.SubstVars- Debian.Debianize.Tests Debian.Debianize.Types Debian.Debianize.Types.VersionSplits Debian.Debianize.Utility@@ -89,6 +86,30 @@ cabal-debian, containers, data-lens++Executable cabal-debian-tests+ Main-is: src/Debian/Debianize/Tests.hs+ ghc-options: -threaded -Wall -O2+ Build-Depends:+ ansi-wl-pprint,+ base,+ Cabal,+ cabal-debian,+ containers,+ data-lens,+ debian,+ filepath,+ hsemail,+ HUnit,+ mtl,+ parsec >= 3,+ process,+ pureMD5,+ regex-tdfa,+ syb,+ text,+ unix,+ utf8-string -- Executable cabal-debian-tests -- Main-Is: src/Tests.hs
changelog view
@@ -1,3 +1,16 @@+haskell-cabal-debian (3.9) unstable; urgency=low++ * Clean up documentation+ * Allow more than one utility package name, each of which will+ get copies of the data-files and leftover executables.+ * Make the --debianize option a no-op, the behavior is now the+ default.+ * Update the unit tests and build an executable to run them.+ * Copy debian/changelog to top directory at beginning of build+ so hackage will see it.++ -- David Fox <dsf@seereason.com> Tue, 05 Nov 2013 11:34:48 -0800+ haskell-cabal-debian (3.8.3) unstable; urgency=low * Add an ifdef for compatibility with GHC-7.4.1.
debian/Debianize.hs view
@@ -7,16 +7,16 @@ import Debian.Debianize as Atoms import Debian.Changes (ChangeLog(..), ChangeLogEntry(..)) import Debian.Debianize.Details (seereasonDefaultAtoms)-import Debian.Relation (BinPkgName(BinPkgName), Relation(Rel), VersionReq(SLT))+import Debian.Relation (BinPkgName(BinPkgName), Relation(Rel), VersionReq(SLT, GRE)) import Debian.Version (parseDebianVersion) import Prelude hiding (log)+import System.Directory (copyFile) main :: IO () main =- do -- The official changelog was moved to the top directory so- -- that hackage will see it, so copy it before building the- -- debianization.- copyFile "changelog" "debian/changelog"+ do -- Copy the changelog into the top directory so that hackage+ -- will see it.+ copyFile "debian/changelog" "changelog" log <- inputChangeLog (Top ".") new <- debianization (Top ".") (return . customize . setL changelog (Just log)) seereasonDefaultAtoms old <- inputDebianization (Top ".")@@ -33,10 +33,13 @@ setL standards (Just (StandardsVersion 3 9 3 Nothing)) . setL sourceFormat (Just Native3) . -- modL extraDevDeps (Set.insert (BinPkgName "debian-policy")) .- setL utilsPackageName (Just (BinPkgName "cabal-debian")) .+ setL utilsPackageNames (Just (singleton (BinPkgName "cabal-debian"))) .+ modL installCabalExec (Map.insertWith union (BinPkgName "cabal-debian-tests") (singleton ("cabal-debian-tests", "/usr/bin"))) . modL depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (Rel (BinPkgName "apt-file") Nothing Nothing))) . modL Atoms.depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (Rel (BinPkgName "debian-policy") Nothing Nothing))) . modL Atoms.depends (Map.insertWith union (BinPkgName "libghc-cabal-debian-dev") (singleton (Rel (BinPkgName "debian-policy") Nothing Nothing))) .+ modL Atoms.depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (Rel (BinPkgName "debhelper") Nothing Nothing))) .+ modL Atoms.depends (Map.insertWith union (BinPkgName "cabal-debian") (singleton (Rel (BinPkgName "haskell-devscripts") (Just (GRE (parseDebianVersion ("0.8.19" :: String)))) Nothing))) . modL conflicts (Map.insertWith union (BinPkgName "cabal-debian") (singleton (Rel (BinPkgName "haskell-debian-utils") (Just (SLT (parseDebianVersion ("3.59" :: String)))) Nothing))) . modL description (Map.insertWith (error "test7") (BinPkgName "cabal-debian") (Text.intercalate "\n"
src/Debian/Debianize.hs view
@@ -58,7 +58,6 @@ , module Debian.Debianize.Interspersed , module Debian.Debianize.Options , module Debian.Debianize.SubstVars- , module Debian.Debianize.Tests , module Debian.Debianize.Types , module Debian.Debianize.Utility , module Debian.Policy@@ -75,7 +74,6 @@ import Debian.Debianize.Interspersed import Debian.Debianize.Options import Debian.Debianize.SubstVars-import Debian.Debianize.Tests import Debian.Debianize.Types import Debian.Debianize.ControlFile hiding (depends, conflicts, maintainer, description, section) import Debian.Debianize.Utility
src/Debian/Debianize/Atoms.hs view
@@ -28,7 +28,7 @@ , backups , apacheSite , missingDependencies- , utilsPackageName+ , utilsPackageNames , sourcePackageName , revision , debVersion@@ -150,7 +150,7 @@ -- from DebRulesFragment values in the atom list. | DebRulesFragment Text -- ^ A Fragment of debian/rules | Warning Text -- ^ A warning to be reported later- | UtilsPackageName BinPkgName -- ^ Name to give the package for left-over data files and executables+ | UtilsPackageNames (Set BinPkgName) -- ^ Names of the packages that will get left-over data files and executables | DebChangeLog ChangeLog -- ^ The changelog, first entry contains the source package name and version | DebLogComments [[Text]] -- ^ Each element is a comment to be added to the changelog, where the -- element's text elements are the lines of the comment.@@ -562,18 +562,20 @@ p Source (MissingDependency _) = True p _ _ = False --- | Override the package name used to hold left over data files and executables-utilsPackageName :: Lens Atoms (Maybe BinPkgName)-utilsPackageName = lens g s+-- | Override the package name used to hold left over data files and executables.+-- Usually only one package is specified, but if more then one are they will each+-- receive the same list of files.+utilsPackageNames :: Lens Atoms (Maybe (Set BinPkgName))+utilsPackageNames = lens g s where g atoms = foldAtoms from Nothing atoms where- from Source (UtilsPackageName x') (Just x) | x /= x' = error $ "Conflicting compat values:" ++ show (x, x')- from Source (UtilsPackageName x) _ = Just x- from _ _ x = x- s x atoms = modifyAtoms' f (const (maybe Set.empty (singleton . (Source,) . UtilsPackageName) x)) atoms+ from Source (UtilsPackageNames xs') (Just xs) | xs /= xs' = error $ "Conflicting compat values:" ++ show (xs, xs')+ from Source (UtilsPackageNames xs) _ = Just xs+ from _ _ xs = xs+ s xs atoms = modifyAtoms' f (const (maybe Set.empty (singleton . (Source,) . UtilsPackageNames) xs)) atoms where- f Source (UtilsPackageName y) = Just y+ f Source (UtilsPackageNames ys) = Just ys f _ _ = Nothing -- | Override the debian source package name constructed from the cabal name@@ -1207,7 +1209,7 @@ defaultFlags = Flags { verbosity_ = 1- , debAction_ = Usage+ , debAction_ = Debianize , dryRun_ = False , validate_ = False }
src/Debian/Debianize/Debianize.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, OverloadedStrings, ScopedTypeVariables, StandaloneDeriving, TupleSections, TypeSynonymInstances, CPP #-}+{-# LANGUAGE FlexibleInstances, OverloadedStrings, ScopedTypeVariables, StandaloneDeriving, TupleSections, TypeSynonymInstances #-} {-# OPTIONS -Wall -fno-warn-name-shadowing -fno-warn-orphans #-} -- | Generate a package Debianization from Cabal data and command line@@ -73,7 +73,17 @@ Debianize -> debianize (Top ".") return defaultAtoms Usage -> do progName <- getProgName- let info = "Usage: " ++ progName ++ " [FLAGS]\n"+ let info = unlines [ "Typical usage is to cd to the top directory of the package's unpacked source and run: "+ , ""+ , " " ++ progName ++ " --maintainer 'Maintainer Name <maintainer@email>'."+ , ""+ , "This will read the package's cabal file and any existing debian/changelog file and"+ , "deduce what it can about the debianization, then it will create or modify files in"+ , "the debian subdirectory. Note that it will not remove any files in debian, and"+ , "these could affect the operation of the debianization in unknown ways. For this"+ , "reason I recommend either using a pristine unpacked directory each time, or else"+ , "using a revision control system to revert the package to a known state before running."+ , "The following additional options are available:" ] putStrLn (usageInfo info options) compileEnvironmentArgs :: Atoms -> IO Atoms
src/Debian/Debianize/Finalize.hs view
@@ -19,7 +19,7 @@ (Atoms, packageDescription, control, binaryArchitectures, rulesFragments, website, serverInfo, link, backups, executable, sourcePriority, sourceSection, binaryPriorities, binarySections, description, install, installTo, installData, installCabalExecTo, noProfilingLibrary, noDocumentationLibrary,- utilsPackageName, extraDevDeps, installData, installCabalExec, file, apacheSite, installDir, buildDir,+ utilsPackageNames, extraDevDeps, installData, installCabalExec, file, apacheSite, installDir, buildDir, dataDir, intermediateFiles) import Debian.Debianize.ControlFile as Debian (SourceDebDescription(..), BinaryDebDescription(..), PackageRelations(..), newBinaryDebDescription, modifyBinaryDeb,@@ -148,10 +148,14 @@ case (Set.difference availableData installedData, Set.difference availableExec installedExec) of (datas, execs) | Set.null datas && Set.null execs -> deb (datas, execs) ->- let p = fromMaybe (debianName deb Utilities (Cabal.package pkgDesc)) (getL utilsPackageName deb)- deb' = setL packageDescription (Just pkgDesc) . makeUtilsAtoms p datas execs $ deb in- modL control (\ y -> modifyBinaryDeb p (f deb' p (if Set.null execs then All else Any)) y) deb'+ let ps = fromMaybe (singleton (debianName deb Utilities (Cabal.package pkgDesc))) (getL utilsPackageNames deb)+ deb' = Set.fold (h datas execs) deb ps in+ -- deb' = setL packageDescription (Just pkgDesc) (makeUtilsAtoms p datas execs deb) in+ Set.fold (g execs) deb' ps+ -- modL control (\ y -> modifyBinaryDeb p (f deb' p (if Set.null execs then All else Any)) y) deb' where+ h datas execs p deb' = setL packageDescription (Just pkgDesc) (makeUtilsAtoms p datas execs deb')+ g execs p deb' = modL control (\ y -> modifyBinaryDeb p (f deb' p (if Set.null execs then All else Any)) y) deb' f _ _ _ (Just bin) = bin f deb' p arch Nothing = let bin = newBinaryDebDescription p arch in
src/Debian/Debianize/Options.hs view
@@ -37,60 +37,78 @@ options :: [OptDescr (Atoms -> Atoms)] options = [ Option "v" ["verbose"] (ReqArg (\ s atoms -> setL verbosity (read' (\ s' -> error $ "verbose: " ++ show s') s) atoms) "n")- "Change build verbosity",+ "Change the amount of progress messages generated", Option "n" ["dry-run", "compare"] (NoArg (\ atoms -> setL dryRun True atoms)) "Just compare the existing debianization to the one we would generate.", Option "h?" ["help"] (NoArg (\ atoms -> setL debAction Usage atoms)) "Show this help text",- Option "" ["debianize"] (NoArg (\ atoms -> setL debAction Debianize atoms))- "Generate a new debianization, replacing any existing one. One of --debianize or --substvar is required.",- Option "" ["substvar"] (ReqArg (\ name atoms -> setL debAction (SubstVar (read' (\ s -> error $ "substvar: " ++ show s) name)) atoms) "Doc, Prof, or Dev")- (unlines ["Write out the list of dependencies required for the dev, prof or doc package depending",- "on the argument. This value can be added to the appropriate substvars file."]), Option "" ["executable"] (ReqArg (\ path x -> executableOption path (\ bin e -> doExecutable bin e x)) "SOURCEPATH or SOURCEPATH:DESTDIR")- "Create individual eponymous executable packages for these executables. Other executables and data files are gathered into a single utils package.",+ (unlines [ "Create an individual binary package to hold this executable. Other executables "+ , " and data files are gathered into a single utils package named 'haskell-packagename-utils'."]), Option "" ["ghc-version"] (ReqArg (\ ver x -> setL compilerVersion (Just (last (map fst (readP_to_S parseVersion ver)))) x) "VERSION")- "Version of GHC in build environment",+ (unlines [ "Version of GHC in build environment. Without this option it is assumed that"+ , "the version of GHC in the build environment is the same as the one in the"+ , "environment in which cabal-debian is running. (the usual case.) The GHC"+ , "version is used to determine which packages are bundled with GHC - if a"+ , "package is bundled with GHC it is not necessary to add a build dependency for"+ , "that package to the debian/control file."]), Option "" ["disable-haddock"] (NoArg (setL noDocumentationLibrary True))- "Don't generate API documentation. Use this if build is crashing due to a haddock error.",+ (unlines [ "Don't generate API documentation packages, usually named"+ , "libghc-packagename-doc. Use this if your build is crashing due to a"+ , "haddock bug."]), Option "" ["missing-dependency"] (ReqArg (\ name atoms -> modL missingDependencies (insert (BinPkgName name)) atoms) "DEB")- "Mark a package missing, do not add it to any dependency lists in the debianization.",+ (unlines [ "This is the counterpart to --disable-haddock. It prevents a package"+ , "from being added to the build dependencies. This is necessary, for example,"+ , "when a dependency package was built with the --disable-haddock option, because"+ , "normally cabal-debian assumes that the -doc package exists and adds it as a"+ , "build dependency."]), Option "" ["source-package-name"] (ReqArg (\ name x -> setL sourcePackageName (Just (SrcPkgName name)) x) "NAME")- "Use this name for the debian source package. Default is haskell-<cabalname>, where the cabal package name is downcased.",+ (unlines [ "Use this name for the debian source package, the name in the Source field at the top of the"+ , "debian control file, and also at the very beginning of the debian/changelog file. By default"+ , "this is haskell-<cabalname>, where the cabal package name is downcased."]), Option "" ["disable-library-profiling"] (NoArg (setL noProfilingLibrary True))- "Don't generate profiling libraries",- Option "f" ["flags"] (ReqArg (\ fs atoms -> modL cabalFlagAssignments (union (fromList (flagList fs))) atoms) "FLAGS")- "Set given flags in Cabal conditionals",+ (unlines [ "Don't generate profiling (-prof) library packages. This has been used in one case"+ , "where the package code triggered a compiler bug."]), Option "" ["maintainer"] (ReqArg (\ maint x -> setL maintainer (either (error ("Invalid maintainer string: " ++ show maint)) Just (parseMaintainer maint)) x) "Maintainer Name <email addr>")- "Override the Maintainer name and email in $DEBEMAIL/$EMAIL/$DEBFULLNAME/$FULLNAME",+ (unlines [ "Override the Maintainer name and email given in $DEBEMAIL or $EMAIL or $DEBFULLNAME or $FULLNAME"]), Option "" ["build-dep"] (ReqArg (\ name atoms -> modL buildDeps (case parseRelations name of Right rss -> Set.insert rss Left err -> error ("cabal-debian option --build-dep " ++ show name ++ ": " ++ show err)) atoms) "Debian package relations")- "Specify a package to add to the build dependency list for this source package, e.g. '--build-dep libglib2.0-dev'.",+ (unlines [ "Add a dependency relation to the Build-Depends: field for this source package, e.g."+ , ""+ , " --build-dep libglib2.0-dev"+ , " --build-dep 'libglib2.0-dev >= 2.2'" ]), Option "" ["build-dep-indep"] (ReqArg (\ name atoms -> modL buildDepsIndep (case parseRelations name of Right rss -> Set.insert rss Left err -> error ("cabal-debian option --build-dep-indep " ++ show name ++ ": " ++ show err)) atoms) "Debian binary package name")- "Specify a package to add to the architecture independent build dependency list for this source package, e.g. '--build-dep-indep perl'.",+ (unlines [ "Similar to --build-dep, but the dependencies are added to Build-Depends-Indep, e.g.:"+ , ""+ , " --build-dep-indep perl" ]), Option "" ["dev-dep"] (ReqArg (\ name atoms -> modL extraDevDeps (Set.insert (Rel (BinPkgName name) Nothing Nothing)) atoms) "Debian binary package name")- "Specify a package to add to the Depends: list of the -dev package, e.g. '--dev-dep libncurses5-dev'. It might be good if this implied --build-dep.",+ (unlines [ "Add an entry to the Depends: field of the -dev package, e.g."+ , "'--dev-dep libncurses5-dev'. It might be good if this implied --build-dep."]), Option "" ["depends"] (ReqArg (\ arg atoms -> foldr (\ (p, r) atoms' -> modL depends (Map.insertWith union p (singleton r)) atoms') atoms (parseDeps arg)) "deb:deb,deb:deb,...")- "Generalized --dev-dep - specify pairs A:B of debian binary package names, each A gets a Depends: B",+ (unlines [ "Generalized --dev-dep - specify pairs A:B of debian binary package names, each"+ , "A gets a Depends: B. Note that B can have debian style version relations"]), Option "" ["conflicts"] (ReqArg (\ arg atoms -> foldr (\ (p, r) atoms' -> modL conflicts (Map.insertWith union p (singleton r)) atoms') atoms (parseDeps arg)) "deb:deb,deb:deb,...")- "Specify pairs A:B of debian binary package names, each A gets a Conflicts: B. Note that B can have debian style version relations",+ "Like --depends, modifies the Conflicts field.", Option "" ["replaces"] (ReqArg (\ arg atoms -> foldr (\ (p, r) atoms' -> modL replaces (Map.insertWith union p (singleton r)) atoms') atoms (parseDeps arg)) "deb:deb,deb:deb,...")- "Specify pairs A:B of debian binary package names, each A gets a Replaces: B. Note that B can have debian style version relations",+ "Like --depends, modifies the Replaces field.", Option "" ["provides"] (ReqArg (\ arg atoms -> foldr (\ (p, r) atoms' -> modL provides (Map.insertWith union p (singleton r)) atoms') atoms (parseDeps arg)) "deb:deb,deb:deb,...")- "Specify pairs A:B of debian binary package names, each A gets a Provides: B. Note that B can have debian style version relations",+ "Like --depends, modifies the Provides field.", Option "" ["map-dep"] (ReqArg (\ pair atoms -> case break (== '=') pair of (cab, (_ : deb)) -> modL extraLibMap (Map.insertWith Set.union cab (singleton (rels deb))) atoms (_, "") -> error "usage: --map-dep CABALNAME=RELATIONS") "CABALNAME=RELATIONS")- "Specify a mapping from the name appearing in the Extra-Library field of the cabal file to a debian binary package name, e.g. --dep-map cryptopp=libcrypto-dev",+ (unlines [ "Specify what debian package name corresponds with a name that appears in"+ , "the Extra-Library field of a cabal file, e.g. --map-dep cryptopp=libcrypto-dev."+ , "I think this information is present somewhere in the packaging system, but"+ , "I'm not sure of the details."]), Option "" ["deb-version"] (ReqArg (\ version atoms -> setL debVersion (Just (parseDebianVersion version)) atoms) "VERSION") "Specify the version number for the debian package. This will pin the version and should be considered dangerous.", Option "" ["revision"] (ReqArg (setL revision . Just) "REVISION")@@ -105,11 +123,29 @@ _ -> error "usage: --exec-map EXECNAME=RELATIONS") "EXECNAME=RELATIONS") "Specify a mapping from the name appearing in the Build-Tool field of the cabal file to a debian binary package name, e.g. --exec-map trhsx=haskell-hsx-utils", Option "" ["omit-lt-deps"] (NoArg (setL omitLTDeps True))- "Don't generate the << dependency when we see a cabal equals dependency.",+ (unlines [ "Remove all less-than dependencies from the generated control file. Less-than"+ , "dependencies are less useful and more troublesome for debian packages than cabal,"+ , "because you can't install multiple versions of a given debian package. For more"+ , "google 'cabal hell'."]), Option "" ["quilt"] (NoArg (setL sourceFormat (Just Quilt3))) "The package has an upstream tarball, write '3.0 (quilt)' into source/format.", Option "" ["builddir"] (ReqArg (\ s atoms -> setL buildDir (Just (s </> "build")) atoms) "PATH")- "Subdirectory where cabal does its build, dist/build by default, dist-ghc when run by haskell-devscripts. The build subdirectory is added to match the behavior of the --builddir option in the Setup script."+ (unlines [ "Subdirectory where cabal does its build, dist/build by default, dist-ghc when"+ , "run by haskell-devscripts. The build subdirectory is added to match the"+ , "behavior of the --builddir option in the Setup script."]),++ Option "f" ["flags"] (ReqArg (\ fs atoms -> modL cabalFlagAssignments (union (fromList (flagList fs))) atoms) "FLAGS")+ (unlines [ "Flags to pass to the finalizePackageDescription function in"+ , "Distribution.PackageDescription.Configuration when loading the cabal file."]),++ Option "" ["debianize"] (NoArg (\ atoms -> setL debAction Debianize atoms))+ "Deprecated - formerly used to get what is now the normal benavior.",+ Option "" ["substvar"] (ReqArg (\ name atoms -> setL debAction (SubstVar (read' (\ s -> error $ "substvar: " ++ show s) name)) atoms) "Doc, Prof, or Dev")+ (unlines [ "With this option no debianization is generated. Instead, the list"+ , "of dependencies required for the dev, prof or doc package (depending"+ , "on the argument) is printed to standard output. These can be added"+ , "to the appropriate substvars file. (This is an option whose use case"+ , "is lost in the mists of time.)"]) ] anyrel :: BinPkgName -> Relation
src/Debian/Debianize/SubstVars.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, ScopedTypeVariables, TupleSections, TypeSynonymInstances #-}+{-# LANGUAGE ScopedTypeVariables, TupleSections, TypeSynonymInstances #-} {-# OPTIONS -Wall -fno-warn-name-shadowing #-} -- | Support for generating Debianization from Cabal data.
src/Debian/Debianize/Tests.hs view
@@ -1,7 +1,8 @@ {-# LANGUAGE OverloadedStrings, RankNTypes, ScopedTypeVariables, StandaloneDeriving #-} {-# OPTIONS_GHC -Wall -fno-warn-orphans #-}-module Debian.Debianize.Tests+module Main ( tests+ , main ) where import Data.Algorithm.Diff.Context (contextDiff)@@ -20,7 +21,7 @@ import Debian.Debianize.Debianize (debianization) import Debian.Debianize.Atoms as Atoms (Atoms, rulesHead, compat, sourceFormat, changelog, control, missingDependencies, revision,- binaryArchitectures, copyright, debVersion, execMap, buildDeps, utilsPackageName, description,+ binaryArchitectures, copyright, debVersion, execMap, buildDeps, utilsPackageNames, description, depends, installData, epochMap {-, sourcePackageName, install, buildDepsIndep-}) import Debian.Debianize.ControlFile as Deb (SourceDebDescription(..), BinaryDebDescription(..), PackageRelations(..), VersionControlSpec(..)) import Debian.Debianize.Dependencies (getRulesHead)@@ -341,7 +342,7 @@ modL binaryArchitectures (Map.insert (BinPkgName "creativeprompts-data") All) . modL binaryArchitectures (Map.insert (BinPkgName "creativeprompts-development") All) . modL binaryArchitectures (Map.insert (BinPkgName "creativeprompts-production") All) .- setL utilsPackageName (Just (BinPkgName "creativeprompts-data")) .+ setL utilsPackageNames (Just (singleton (BinPkgName "creativeprompts-data"))) . modL Atoms.description (Map.insertWith (error "test5") (BinPkgName "creativeprompts-data") (T.intercalate "\n" [ "creativeprompts.com data files" , " Static data files for creativeprompts.com"])) .@@ -530,3 +531,7 @@ , " files that were supposed to be installed into packages." , "" , " -- David Fox <dsf@seereason.com> Thu, 20 Dec 2012 06:49:25 -0800" ]))++main :: IO ()+main = runTestTT tests >>= putStrLn . show+
src/Debian/Orphans.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE CPP, DeriveDataTypeable, FlexibleInstances, StandaloneDeriving #-}+{-# LANGUAGE DeriveDataTypeable, FlexibleInstances, StandaloneDeriving #-} {-# OPTIONS_GHC -Wall -fno-warn-orphans #-} module Debian.Orphans where @@ -114,9 +114,6 @@ instance Pretty License where pretty (GPL _) = text "GPL" pretty (LGPL _) = text "LGPL"-#if MIN_VERSION_Cabal(1,16,0)- pretty (Apache _) = text "Apache"-#endif pretty BSD3 = text "BSD" pretty BSD4 = text "BSD-like" pretty PublicDomain = text "Public Domain"@@ -124,6 +121,7 @@ pretty OtherLicense = text "Non-distributable" pretty MIT = text "MIT" pretty (UnknownLicense _) = text "Unknown"+ pretty x = text (show x) deriving instance Data NameAddr deriving instance Typeable NameAddr