cabal-install-3.12.1.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
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 #

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)

(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 -> () #

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 #

(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
Functor GenEntryContent 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

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

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

NFData linkTarget => NFData (GenEntryContent linkTarget) 
Instance details

Defined in Codec.Archive.Tar.Types

Methods

rnf :: GenEntryContent linkTarget -> () #

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 #

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