arx-0.3.0: Archive execution tool.

Safe HaskellNone
LanguageHaskell98

System.Posix.ARX

Contents

Synopsis

Interface and implementation of subcommands.

class ARX program input | program -> input where Source #

ARX subprograms process some input to produce a script.

Minimal complete definition

interpret

Methods

interpret :: program -> input -> Builder Source #

newtype SHDAT Source #

An SHDAT program processes byte streams with the specified chunking to produce a script.

Constructors

SHDAT Word 

data TMPX Source #

A TMPX program archives streams to produce a script that unpacks the file data in a temporary location and runs the command with the attached environment information in that location. The command may be any executable file contents, modulo architectural compatibility. It is written along side the temporary work location, to ensure it does not collide with any files in the archive. The two boolean flags determine when to delete the temporary directory. The first flag determines whether or not to delete successful (exit code zero) runs; the second determines whether or not to delete failed (exit code non-zero) runs.

Instances

Creation of environment bindings for TMPX.

data Val Source #

Valid shell string values contain any byte but null.

Instances

Eq Val Source # 

Methods

(==) :: Val -> Val -> Bool #

(/=) :: Val -> Val -> Bool #

Ord Val Source # 

Methods

compare :: Val -> Val -> Ordering #

(<) :: Val -> Val -> Bool #

(<=) :: Val -> Val -> Bool #

(>) :: Val -> Val -> Bool #

(>=) :: Val -> Val -> Bool #

max :: Val -> Val -> Val #

min :: Val -> Val -> Val #

Show Val Source # 

Methods

showsPrec :: Int -> Val -> ShowS #

show :: Val -> String #

showList :: [Val] -> ShowS #

Raw Val Source # 

Methods

raw :: Val -> ByteString Source #

Render Val Source # 

Methods

render :: Val -> Builder Source #

Render [(Var, Val)] Source # 

Methods

render :: [(Var, Val)] -> Builder Source #

Render [Val] Source # 

Methods

render :: [Val] -> Builder Source #

data Var Source #

Valid shell variable names consist of a leading letter or underscore and then any number of letters, underscores or digits.

Instances

Eq Var Source # 

Methods

(==) :: Var -> Var -> Bool #

(/=) :: Var -> Var -> Bool #

Ord Var Source # 

Methods

compare :: Var -> Var -> Ordering #

(<) :: Var -> Var -> Bool #

(<=) :: Var -> Var -> Bool #

(>) :: Var -> Var -> Bool #

(>=) :: Var -> Var -> Bool #

max :: Var -> Var -> Var #

min :: Var -> Var -> Var #

Show Var Source # 

Methods

showsPrec :: Int -> Var -> ShowS #

show :: Var -> String #

showList :: [Var] -> ShowS #

Raw Var Source # 

Methods

raw :: Var -> ByteString Source #

Render Var Source # 

Methods

render :: Var -> Builder Source #

Render [(Var, Val)] Source # 

Methods

render :: [(Var, Val)] -> Builder Source #

Tar archive types and magic detection.

data Tar Source #

Handled styles of Tar archive.

Constructors

TAR 
TBZ 
TGZ 
TXZ 

Instances

Eq Tar Source # 

Methods

(==) :: Tar -> Tar -> Bool #

(/=) :: Tar -> Tar -> Bool #

Ord Tar Source # 

Methods

compare :: Tar -> Tar -> Ordering #

(<) :: Tar -> Tar -> Bool #

(<=) :: Tar -> Tar -> Bool #

(>) :: Tar -> Tar -> Bool #

(>=) :: Tar -> Tar -> Bool #

max :: Tar -> Tar -> Tar #

min :: Tar -> Tar -> Tar #

Show Tar Source # 

Methods

showsPrec :: Int -> Tar -> ShowS #

show :: Tar -> String #

showList :: [Tar] -> ShowS #

ARX TMPX [(Tar, ByteString)] Source # 

Methods

interpret :: TMPX -> [(Tar, ByteString)] -> Builder Source #

magic :: ByteString -> Maybe Tar Source #

Scan a lazy ByteString for file magic.