module-management-0.20.2: testdata/split1-expected/Debian/Repo/Package/Internal/IndexCacheFile.hs
{-# LANGUAGE PackageImports, ScopedTypeVariables, TupleSections #-}
{-# OPTIONS -fno-warn-name-shadowing #-}
module Debian.Repo.Package.Internal.IndexCacheFile
( indexCacheFile
) where
import Debian.Arch (Arch(..), prettyArch)
import Debian.Repo.Package.Internal.IndexPrefix (indexPrefix)
import Debian.Repo.Types.AptCache (AptCache(aptArch))
import Debian.Repo.Types.PackageIndex (PackageIndex(packageIndexArch))
import Debian.Repo.Types.Release (Release)
import Debian.Repo.Types.Repo (RepoKey)
indexCacheFile :: (AptCache a) => a -> RepoKey -> Release -> PackageIndex -> FilePath
indexCacheFile apt repo release index =
case (aptArch apt, packageIndexArch index) of
(Binary _ _, Source) -> indexPrefix repo release index ++ "_source_Sources"
(Binary _ _, arch@(Binary _ _)) -> indexPrefix repo release index ++ "_binary-" ++ show (prettyArch arch) ++ "_Packages"
(x, _) -> error "Invalid build architecture: " ++ show x