cabal-install-3.10.3.0: The command-line interface for Cabal and Hackage.
Safe HaskellNone
LanguageHaskell2010

Distribution.Client.Compat.Tar

Documentation

extractTarGzFile Source #

Arguments

:: FilePath

Destination directory

-> FilePath

Expected subdir (to check for tarbombs)

-> FilePath

Tarball

-> IO () 

type Entry = GenEntry TarPath LinkTarget #

type Entries e = GenEntries TarPath LinkTarget e #

data GenEntries tarPath linkTarget e #

Constructors

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

Instances

Instances details
Foldable (GenEntries tarPath linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

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

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

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

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

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

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

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

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

null :: GenEntries tarPath linkTarget a -> Bool #

length :: GenEntries tarPath linkTarget a -> Int #

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

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

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

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

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

Traversable (GenEntries tarPath linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

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

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

Functor (GenEntries tarPath linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

Monoid (GenEntries tarPath linkTarget e) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

mempty :: GenEntries tarPath linkTarget e #

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

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

Semigroup (GenEntries tarPath linkTarget e) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

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

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

Defined in Codec.Archive.Tar.Types

Methods

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

show :: GenEntries tarPath linkTarget e -> String #

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

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

Defined in Codec.Archive.Tar.Types

Methods

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

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

Defined in Codec.Archive.Tar.Types

Methods

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

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

data GenEntryContent linkTarget #

Constructors

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

Instances

Instances details
Show linkTarget => Show (GenEntryContent linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

show :: GenEntryContent linkTarget -> String #

showList :: [GenEntryContent linkTarget] -> ShowS #

NFData linkTarget => NFData (GenEntryContent linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

rnf :: GenEntryContent linkTarget -> () #

Eq linkTarget => Eq (GenEntryContent linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

Ord linkTarget => Ord (GenEntryContent linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

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

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

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

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

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

entryContent :: GenEntry tarPath linkTarget -> GenEntryContent linkTarget #

Orphan instances