cabal-debian-4.31.9: Create a Debianization for a Cabal package

Safe HaskellNone



Wrappers around the debianization function to perform various tasks - output, describe, validate a debianization, run an external script to produce a debianization.



finishDebianization :: forall m. (MonadIO m, Functor m) => StateT CabalInfo m () Source

Depending on the options in atoms, either validate, describe, or write the generated debianization.

runDebianizeScript :: [String] -> IO Bool Source

Run the script in debian/Debianize.hs with the given command line arguments. Returns True if the script exists and succeeds. In this case it may be assumed that a debianization was created (or updated) in the debian subdirectory of the current directory. In this way we can include a script in a package to produce a customized debianization more sophisticated than the one that would be produced by the cabal-debian executable. An example is included in the debian subdirectory of this library.

writeDebianization :: (MonadIO m, Functor m) => DebianT m () Source

Write the files of the debianization d to ./debian

describeDebianization :: (MonadIO m, Functor m) => DebianT m String Source

Return a string describing the debianization - a list of file names and their contents in a somewhat human readable format.

compareDebianization :: DebInfo -> DebInfo -> [String] Source

Compare the old and new debianizations, returning a string describing the differences.

validateDebianization :: DebInfo -> DebInfo -> () Source

Make sure the new debianization matches the existing debianization in several ways - specifically, version number, and the names of the source and binary packages. Some debian packages come with a skeleton debianization that needs to be filled in, this can be used to make sure the debianization we produce is usable.

performDebianization :: CabalT IO () -> IO () Source

Perform whole debianization. You provide your customization, this function does everything else.