cabal-debian-3.4: Create a debianization for a cabal package

Safe HaskellNone



Generate a package Debianization from Cabal data and command line options.



cabalDebian :: Atoms -> IO ()Source

The main function for the cabal-debian executable.

callDebianize :: [String] -> Atoms -> IO ()Source

Compile the given arguments into an Atoms value and run the debianize function. This is basically equivalent to cabal-debian --debianize, except that the command line arguments come from the function parameter.

runDebianize :: [String] -> IO BoolSource

Put an argument list into the CABALDEBIAN environment variable and then run the script in debian/Debianize.hs. If this exists and succeeds the return value is True, it may be assumed that a debianization was created in the debian subdirectory of the current directory. This is used to create customized debianizations that are to sophisticated for the command line argument interface available to the cabal-debian executable.

runDebianize' :: Top -> [String] -> IO BoolSource

Call runDebianize with the given working directory.

debianize :: Top -> (Atoms -> IO Atoms) -> Atoms -> IO ()Source

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

debianization :: Top -> (Atoms -> IO Atoms) -> Atoms -> IO AtomsSource

Given an Atoms value, get any additional configuration information from the environment, read the cabal package description and possibly the debian/changelog file, then generate and return the new debianization (along with the data directory computed from the cabal package description.)

writeDebianization :: Top -> Atoms -> IO ()Source

Write the files of the debianization d to the directory top.

compareDebianization :: Atoms -> Atoms -> StringSource

Compare the existing debianization in top to the generated one new, returning a string describing the differences.

validateDebianization :: Atoms -> Atoms -> ()Source

Don't change anything, just make sure the new debianization matches the existing debianization in several particulars - specifically, version number, and source and binary package names.