- cabalDependencies :: Atoms -> [Dependency]
- selfDependency :: PackageIdentifier -> Dependency_ -> Bool
- allBuildDepends :: Atoms -> [Dependency] -> [Dependency] -> [Dependency] -> [String] -> [Dependency_]
- debDeps :: DebType -> Atoms -> Control' String -> Relations
- putBuildDeps :: Atoms -> Atoms
- dependencies :: Atoms -> PackageType -> PackageName -> VersionRange -> Relations
- debianName :: PkgName name => Atoms -> PackageType -> PackageIdentifier -> name
- debNameFromType :: Control' String -> DebType -> Maybe BinPkgName
- getRulesHead :: Atoms -> Text
- filterMissing :: Atoms -> [[Relation]] -> [[Relation]]
- binaryPackageDeps :: BinPkgName -> Atoms -> [[Relation]]
- binaryPackageConflicts :: BinPkgName -> Atoms -> [[Relation]]
In cabal a self dependency probably means the library is needed while building the executables. In debian it would mean that the package needs an earlier version of itself to build, so we use this to filter such dependencies out.
Debian packages don't have per binary package build dependencies, so we just gather them all up here.
Turn a cabal dependency into debian dependencies. The result needs to correspond to a single debian package to be installed, so we will return just an OrRelation.
Function that applies the mapping from cabal names to debian names based on version numbers. If a version split happens at v, this will return the ltName if < v, and the geName if the relation is >= v.
Given a control file and a DebType, look for the binary deb with the corresponding suffix and return its name.