cabal-install
Safe HaskellNone
LanguageHaskell2010

Distribution.Client.Compat.Tar

Documentation

extractTarGzFile Source #

Arguments

:: FilePath

Destination directory

-> FilePath

Expected subdir (to check for tarbombs)

-> FilePath

Tarball

-> IO () 

createTarGzFile Source #

Arguments

:: FilePath

Full Tarball path

-> FilePath

Base directory

-> FilePath

Directory to archive, relative to base dir

-> IO () 

type Entry = GenEntry ByteString TarPath LinkTarget #

type Entries e = GenEntries ByteString TarPath LinkTarget e #

data GenEntries content tarPath linkTarget e #

Constructors

Next (GenEntry content tarPath linkTarget) (GenEntries content tarPath linkTarget e) 
Done 
Fail e 

Instances

Instances details
Functor (GenEntries content tarPath linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

fmap :: (a -> b) -> GenEntries content tarPath linkTarget a -> GenEntries content tarPath linkTarget b #

(<$) :: a -> GenEntries content tarPath linkTarget b -> GenEntries content tarPath linkTarget a #

Foldable (GenEntries content tarPath linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

fold :: Monoid m => GenEntries content tarPath linkTarget m -> m #

foldMap :: Monoid m => (a -> m) -> GenEntries content tarPath linkTarget a -> m #

foldMap' :: Monoid m => (a -> m) -> GenEntries content tarPath linkTarget a -> m #

foldr :: (a -> b -> b) -> b -> GenEntries content tarPath linkTarget a -> b #

foldr' :: (a -> b -> b) -> b -> GenEntries content tarPath linkTarget a -> b #

foldl :: (b -> a -> b) -> b -> GenEntries content tarPath linkTarget a -> b #

foldl' :: (b -> a -> b) -> b -> GenEntries content tarPath linkTarget a -> b #

foldr1 :: (a -> a -> a) -> GenEntries content tarPath linkTarget a -> a #

foldl1 :: (a -> a -> a) -> GenEntries content tarPath linkTarget a -> a #

toList :: GenEntries content tarPath linkTarget a -> [a] #

null :: GenEntries content tarPath linkTarget a -> Bool #

length :: GenEntries content tarPath linkTarget a -> Int #

elem :: Eq a => a -> GenEntries content tarPath linkTarget a -> Bool #

maximum :: Ord a => GenEntries content tarPath linkTarget a -> a #

minimum :: Ord a => GenEntries content tarPath linkTarget a -> a #

sum :: Num a => GenEntries content tarPath linkTarget a -> a #

product :: Num a => GenEntries content tarPath linkTarget a -> a #

Traversable (GenEntries content tarPath linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

traverse :: Applicative f => (a -> f b) -> GenEntries content tarPath linkTarget a -> f (GenEntries content tarPath linkTarget b) #

sequenceA :: Applicative f => GenEntries content tarPath linkTarget (f a) -> f (GenEntries content tarPath linkTarget a) #

mapM :: Monad m => (a -> m b) -> GenEntries content tarPath linkTarget a -> m (GenEntries content tarPath linkTarget b) #

sequence :: Monad m => GenEntries content tarPath linkTarget (m a) -> m (GenEntries content tarPath linkTarget a) #

(NFData tarPath, NFData content, NFData linkTarget, NFData e) => NFData (GenEntries content tarPath linkTarget e) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

rnf :: GenEntries content tarPath linkTarget e -> () #

Monoid (GenEntries content tarPath linkTarget e) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

mempty :: GenEntries content tarPath linkTarget e #

mappend :: GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e #

mconcat :: [GenEntries content tarPath linkTarget e] -> GenEntries content tarPath linkTarget e #

Semigroup (GenEntries content tarPath linkTarget e) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

(<>) :: GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e #

sconcat :: NonEmpty (GenEntries content tarPath linkTarget e) -> GenEntries content tarPath linkTarget e #

stimes :: Integral b => b -> GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e #

(Show tarPath, Show content, Show linkTarget, Show e) => Show (GenEntries content tarPath linkTarget e) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

showsPrec :: Int -> GenEntries content tarPath linkTarget e -> ShowS #

show :: GenEntries content tarPath linkTarget e -> String #

showList :: [GenEntries content tarPath linkTarget e] -> ShowS #

(Eq tarPath, Eq content, Eq linkTarget, Eq e) => Eq (GenEntries content tarPath linkTarget e) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

(==) :: GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e -> Bool #

(/=) :: GenEntries content tarPath linkTarget e -> GenEntries content tarPath linkTarget e -> Bool #

data GenEntryContent content linkTarget #

Constructors

NormalFile content !FileSize 
Directory 
SymbolicLink !linkTarget 
HardLink !linkTarget 
CharacterDevice !DevMajor !DevMinor 
BlockDevice !DevMajor !DevMinor 
NamedPipe 
OtherEntryType !TypeCode ByteString !FileSize 

Instances

Instances details
Functor (GenEntryContent content) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

fmap :: (a -> b) -> GenEntryContent content a -> GenEntryContent content b #

(<$) :: a -> GenEntryContent content b -> GenEntryContent content a #

(NFData linkTarget, NFData content) => NFData (GenEntryContent content linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

rnf :: GenEntryContent content linkTarget -> () #

(Show content, Show linkTarget) => Show (GenEntryContent content linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

showsPrec :: Int -> GenEntryContent content linkTarget -> ShowS #

show :: GenEntryContent content linkTarget -> String #

showList :: [GenEntryContent content linkTarget] -> ShowS #

(Eq content, Eq linkTarget) => Eq (GenEntryContent content linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

(==) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

(/=) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

(Ord content, Ord linkTarget) => Ord (GenEntryContent content linkTarget) # 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

compare :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Ordering #

(<) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

(<=) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

(>) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

(>=) :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> Bool #

max :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> GenEntryContent content linkTarget #

min :: GenEntryContent content linkTarget -> GenEntryContent content linkTarget -> GenEntryContent content linkTarget #

entryContent :: GenEntry content tarPath linkTarget -> GenEntryContent content linkTarget #

Orphan instances