{-# LANGUAGE DeriveDataTypeable #-}
module Codec.RPM.Tags(
Tag(..),
Null(..),
findTag,
findByteStringTag,
findStringTag,
findStringListTag,
findWord16Tag,
findWord16ListTag,
findWord32Tag,
findWord32ListTag,
mkTag,
tagValue)
where
import Data.Bits((.&.), shiftR)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Char8 as C
import Data.Data(Data, cast, gmapQi, showConstr, toConstr)
import Data.List(find)
import Data.Maybe(fromMaybe, listToMaybe)
import Data.Typeable(Typeable)
import Data.Word
import Text.PrettyPrint.HughesPJClass(Pretty(..))
import Text.PrettyPrint(text)
import Codec.RPM.Internal.Numbers
{-# ANN module "HLint: ignore Use camelCase" #-}
{-# ANN module "HLint: ignore Use String" #-}
data Tag = DEPRECATED Tag
| INTERNAL Tag
| OBSOLETE Tag
| UNIMPLEMENTED Tag
| UNUSED Tag
| Null
| Null
| Null
| Null
| [String]
| SigBase Null
| SigSize Word32
| SigLEMD5_1 Null
| SigPGP BS.ByteString
| SigLEMD5_2 Null
| SigMD5 BS.ByteString
| SigGPG BS.ByteString
| SigPGP5 Null
| SigBadSHA1_1 Null
| SigBadSHA1_2 Null
| PubKeys [String]
| BS.ByteString
| BS.ByteString
| String
| LongSigSize Word64
| LongArchiveSize Word64
| Name String
| Version String
| Release String
| Epoch Word32
| Summary BS.ByteString
| Description BS.ByteString
| BuildTime Word32
| BuildHost String
| InstallTime Word32
| Size Word32
| Distribution String
| Vendor String
| GIF BS.ByteString
| XPM BS.ByteString
| License String
| Packager String
| Group BS.ByteString
| ChangeLog [String]
| Source [String]
| Patch [String]
| URL String
| OS String
| Arch String
| PreIn String
| PostIn String
| PreUn String
| PostUn String
| OldFileNames [String]
| FileSizes [Word32]
| FileStates [Char]
| FileModes [Word16]
| FileUIDs [Word32]
| FileGIDs [Word32]
| FileRDevs [Word16]
| FileMTimes [Word32]
| FileMD5s [String]
| FileLinkTos [String]
| FileFlags [Word32]
| Root Null
| FileUserName [String]
| FileGroupName [String]
| Exclude Null
| Exclusive Null
| Icon BS.ByteString
| SourceRPM String
| FileVerifyFlags [Word32]
| ArchiveSize Word32
| ProvideName [String]
| RequireFlags [Word32]
| RequireName [String]
| RequireVersion [String]
| NoSource [Word32]
| NoPatch [Word32]
| ConflictFlags [Word32]
| ConflictName [String]
| ConflictVersion [String]
| DefaultPrefix String
| BuildRoot String
| InstallPrefix String
| ExcludeArch [String]
| ExcludeOS [String]
| ExclusiveArch [String]
| ExclusiveOS [String]
| AutoReqProv String
| RPMVersion String
| TriggerScripts [String]
| TriggerName [String]
| TriggerVersion [String]
| TriggerFlags [Word32]
| TriggerIndex [Word32]
| VerifyScript String
| ChangeLogTime [Word32]
| ChangeLogName [String]
| ChangeLogText [String]
| BrokenMD5 Null
| PreReq Null
| PreInProg [String]
| PostInProg [String]
| PreUnProg [String]
| PostUnProg [String]
| BuildArchs [String]
| ObsoleteName [String]
| VerifyScriptProg [String]
| TriggerScriptProg [String]
| DocDir Null
| Cookie String
| FileDevices [Word32]
| FileINodes [Word32]
| FileLangs [String]
| Prefixes [String]
| InstPrefixes [String]
| TriggerIn Null
| TriggerUn Null
| TriggerPostUn Null
| AutoReq Null
| AutoProv Null
| Capability Word32
| SourcePackage Word32
| OldOrigFileNames Null
| BuildPreReq Null
| BuildRequires Null
| BuildConflicts Null
| BuildMacros Null
| ProvideFlags [Word32]
| ProvideVersion [String]
| ObsoleteFlags [Word32]
| ObsoleteVersion [String]
| DirIndexes [Word32]
| BaseNames [String]
| DirNames [String]
| OrigDirIndexes [Word32]
| OrigBaseNames [String]
| OrigDirNames [String]
| OptFlags String
| DistURL String
| PayloadFormat String
| PayloadCompressor String
| PayloadFlags String
| InstallColor Word32
| InstallTID Word32
| RemoveTID Word32
| SHA1RHN Null
| RHNPlatform String
| Platform String
| PatchesName [String]
| PatchesFlags [Word32]
| PatchesVersion [String]
| CacheCTime Word32
| CachePkgPath String
| CachePkgSize Word32
| CachePkgMTime Word32
| FileColors [Word32]
| FileClass [Word32]
| ClassDict [String]
| FileDependsX [Word32]
| FileDependsN [Word32]
| DependsDict [(Word32, Word32)]
| SourcePkgID BS.ByteString
| FileContexts [String]
| FSContexts [String]
| ReContexts [String]
| Policies [String]
| PreTrans String
| PostTrans String
| PreTransProg [String]
| PostTransProg [String]
| DistTag String
| OldSuggestsName [String]
| OldSuggestsVersion [String]
| OldSuggestsFlags [Word32]
| OldEnhancesName [String]
| OldEnhancesVersion [String]
| OldEnhancesFlags [Word32]
| Priority [Word32]
| CVSID String
| BLinkPkgID [String]
| BLinkHdrID [String]
| BLinkNEVRA [String]
| FLinkPkgID [String]
| FLinkHdrID [String]
| FLinkNEVRA [String]
| PackageOrigin String
| TriggerPreIn Null
| BuildSuggests Null
| BuildEnhances Null
| ScriptStates [Word32]
| ScriptMetrics [Word32]
| BuildCPUClock Word32
| FileDigestAlgos [Word32]
| Variants [String]
| XMajor Word32
| XMinor Word32
| RepoTag String
| Keywords [String]
| BuildPlatforms [String]
| PackageColor Word32
| PackagePrefColor Word32
| XattrsDict [String]
| FileXattrsx [Word32]
| DepAttrsDict [String]
| ConflictAttrsx [Word32]
| ObsoleteAttrsx [Word32]
| ProvideAttrsx [Word32]
| RequireAttrsx [Word32]
| BuildProvides Null
| BuildObsoletes Null
| DBInstance Word32
| NVRA String
| FileNames [String]
| FileProvide [String]
| FileRequire [String]
| FSNames [String]
| FSSizes [Word64]
| TriggerConds [String]
| TriggerType [String]
| OrigFileNames [String]
| LongFileSizes [Word64]
| LongSize Word64
| FileCaps [String]
| FileDigestAlgo Word32
| BugURL String
| EVR String
| NVR String
| NEVR String
| NEVRA String
| Word32
| Verbose Word32
| EpochNum Word32
| PreInFlags Word32
| PostInFlags Word32
| PreUnFlags Word32
| PostUnFlags Word32
| PreTransFlags Word32
| PostTransFlags Word32
| VerifyScriptFlags Word32
| TriggerScriptFlags [Word32]
| Collections [String]
| PolicyNames [String]
| PolicyTypes [String]
| PolicyTypesIndexes [Word32]
| PolicyFlags [Word32]
| PolicyVCS String
| OrderName [String]
| OrderVersion [String]
| OrderFlags [Word32]
| MSSFManifest [String]
| MSSFDomain [String]
| InstFileNames [String]
| RequireNEVRs [String]
| ProvideNEVRs [String]
| ObsoleteNEVRs [String]
| ConflictNEVRs [String]
| FileNLinks [Word32]
| RecommendName [String]
| RecommendVersion [String]
| RecommendFlags [Word32]
| SuggestName [String]
| SuggestVersion [String]
| SuggestFlags [Word32]
| SupplementName [String]
| SupplementVersion [String]
| SupplementFlags [Word32]
| EnhanceName [String]
| EnhanceVersion [String]
| EnhanceFlags [Word32]
| RecommendNEVRs [String]
| SuggestNEVRs [String]
| SupplementNEVRs [String]
| EnhanceNEVRs [String]
| Encoding String
| FileTriggerIn Null
| FileTriggerUn Null
| FileTriggerPostUn Null
| FileTriggerScripts [String]
| FileTriggerScriptProg [String]
| FileTriggerScriptFlags [Word32]
| FileTriggerName [String]
| FileTriggerIndex [Word32]
| FileTriggerVersion [String]
| FileTriggerFlags [Word32]
| TransFileTriggerIn Null
| TransFileTriggerUn Null
| TransFileTriggerPostUn Null
| TransFileTriggerScripts [String]
| TransFileTriggerScriptProg [String]
| TransFileTriggerScriptFlags [Word32]
| TransFileTriggerName [String]
| TransFileTriggerIndex [Word32]
| TransFileTriggerVersion [String]
| TransFileTriggerFlags [Word32]
| RemovePathPostFixes String
| FileTriggerPriorities [Word32]
| TransFileTriggerPriorities [Word32]
| FileTriggerConds [String]
| FileTriggerType [String]
| TransFileTriggerConds [String]
| TransFileTriggerType [String]
| FileSignatures [String]
| FileSignatureLength Word32
deriving(Tag -> Tag -> Bool
(Tag -> Tag -> Bool) -> (Tag -> Tag -> Bool) -> Eq Tag
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Tag -> Tag -> Bool
$c/= :: Tag -> Tag -> Bool
== :: Tag -> Tag -> Bool
$c== :: Tag -> Tag -> Bool
Eq, Int -> Tag -> ShowS
[Tag] -> ShowS
Tag -> String
(Int -> Tag -> ShowS)
-> (Tag -> String) -> ([Tag] -> ShowS) -> Show Tag
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [Tag] -> ShowS
$cshowList :: [Tag] -> ShowS
show :: Tag -> String
$cshow :: Tag -> String
showsPrec :: Int -> Tag -> ShowS
$cshowsPrec :: Int -> Tag -> ShowS
Show,