debian-4.0.2: Modules for working with the Debian package system
Safe HaskellNone
LanguageHaskell98

Debian.Apt.Index

Synopsis

Documentation

update Source #

Arguments

:: Fetcher

function that will do actually downloading

-> FilePath

download indexes to the directory (must already exist)

-> String

binary architecture

-> [DebSource]

sources.list

-> IO [Maybe (FilePath, Compression)]

(basename of index file, compression status)

update - similar to apt-get update

type Fetcher = URI -> FilePath -> Maybe UTCTime -> IO Bool Source #

function-type for a function that downloads a file The timestamp is optional. If the local file is as new or newer than the remote copy, the download may be skipped.

A good choice might be a partially parameterized call to fetch

data CheckSums Source #

Constructors

CheckSums 

Fields

Instances

Instances details
Eq CheckSums Source # 
Instance details

Defined in Debian.Apt.Index

Methods

(==) :: CheckSums -> CheckSums -> Bool

(/=) :: CheckSums -> CheckSums -> Bool

Read CheckSums Source # 
Instance details

Defined in Debian.Apt.Index

Methods

readsPrec :: Int -> ReadS CheckSums

readList :: ReadS [CheckSums]

readPrec :: ReadPrec CheckSums

readListPrec :: ReadPrec [CheckSums]

Show CheckSums Source # 
Instance details

Defined in Debian.Apt.Index

Methods

showsPrec :: Int -> CheckSums -> ShowS

show :: CheckSums -> String

showList :: [CheckSums] -> ShowS

data Compression Source #

Package indexes on the server are uncompressed or compressed with gzip or bzip2. We do not know what will exist on the server until we actually look. This type is used to mark the compression status of what was actually found.

Constructors

BZ2 
GZ 
Uncompressed 

Instances

Instances details
Bounded Compression Source # 
Instance details

Defined in Debian.Apt.Index

Enum Compression Source # 
Instance details

Defined in Debian.Apt.Index

Eq Compression Source # 
Instance details

Defined in Debian.Apt.Index

Methods

(==) :: Compression -> Compression -> Bool

(/=) :: Compression -> Compression -> Bool

Ord Compression Source # 
Instance details

Defined in Debian.Apt.Index

Read Compression Source # 
Instance details

Defined in Debian.Apt.Index

Methods

readsPrec :: Int -> ReadS Compression

readList :: ReadS [Compression]

readPrec :: ReadPrec Compression

readListPrec :: ReadPrec [Compression]

Show Compression Source # 
Instance details

Defined in Debian.Apt.Index

Methods

showsPrec :: Int -> Compression -> ShowS

show :: Compression -> String

showList :: [Compression] -> ShowS

type FileTuple = (CheckSums, Size, FilePath) Source #

type Size = Integer Source #

controlFromIndex :: Compression -> FilePath -> ByteString -> Either ParseError (Control' Text) Source #

Parse a possibly compressed index file.

controlFromIndex' :: Compression -> FilePath -> IO (Either ParseError (Control' Text)) Source #

parse an index possibly compressed file

findContentsFiles :: (FilePath -> Bool) -> FilePath -> IO [FilePath] Source #

find the Contents-* files. These are not listed in the Release file

findIndexes :: FilePath -> String -> [FileTuple] -> IO [(FileTuple, Compression)] Source #

indexesInRelease Source #

Arguments

:: (FilePath -> Bool) 
-> Control' Text

A release file

-> [(CheckSums, Integer, FilePath)] 

tupleFromFilePath :: FilePath -> FilePath -> IO (Maybe FileTuple) Source #

make a FileTuple for a file found on the local disk returns Nothing if the file does not exist.