Documentation ¶
Overview ¶
Package rpm contains some internal helpers for working with RPM databases.
The actual data stored in various databases is independent of the disk format, once extracted.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type EntryInfo ¶
EntryInfo describes an entry for the given Tag.
func (*EntryInfo) UnmarshalBinary ¶
UnmarshalBinary implements encoding.BinaryUnmarshaler.
type Header ¶
type Header struct { Infos []EntryInfo // contains filtered or unexported fields }
Header is a parsed RPM header.
func (*Header) Parse ¶
Parse takes a ReaderAt containing an RPM header and loads the entries.
The ReaderAt must stay available throughout the lifetime of the Header.
func (*Header) ReadData ¶
ReadData returns a copy of the data indicated by the passed EntryInfo.
If an error is not reported, the returned interface{} is the type indicated by the EntryInfo's "Type" member.
NB The TypeChar, TypeInt8, TypeInt16, TypeInt32, TypeInt64, and TypeI18nString all return slices.
type Kind ¶
type Kind uint32
Kind is the Kind of data stored in a given Tag.
const ( TypeNull Kind = iota TypeChar TypeInt8 TypeInt16 TypeInt32 TypeInt64 TypeString TypeBin TypeStringArray TypeI18nString TypeRegionTag = TypeBin TypeMin = TypeChar TypeMax = TypeI18nString )
Tag data Types.
type Tag ¶
type Tag int32
Tag is the term for the key in the key-value pairs in a Header.
const ( TagInvalid Tag = -1 TagHeaderImage Tag TagHeaderSignatures TagHeaderImmutable TagHeaderRegions TagHeaderI18nTable Tag = 100 )
Header tags.
const ( TagSigSize Tag TagSigLeMD5 // internal, obsolete TagSigPGP TagSigLeMD5_2 // internal, obsolete TagSigMD5 TagSigGPG TagSigGPG5 // internal, obsolete TagBadSHA1_1 // internal, obsolete TagBadSHA1_2 // internal, obsolete TagPubKeys TagDSAHeader TagRSAHeader TagSHA1Header TagLongSigSize TagLongArchiveSize TagSHA256Header TagVeritySignatures TagVeritySignatureAlgo )
Signing Tags.
const ( TagName Tag = 1000 + iota TagVersion TagRelease TagEpoch TagSummary TagDescription TagBuildTime TagBuildHost TagInstallTime TagSize TagDistribution TagVendor TagGIF TagXPM TagLicense TagPackager TagGroup TagChangelog // internal ? TagSource TagPatch TagURL TagOS TagArch TagPreInstall TagPostInstall TagPreUninstall TagPostUninstall TagOldFilenames // obsolete TagFileSizes TagFileStates TagFileModes TagFileUids // obsolete TagFileGids // obsolete TagFileRDevs TagFileMTimes TagFileDigests TagFileLinkTos TagFileFlags TagRoot // internal, obsolete TagFileUsername TagFileGroupname TagExclude // obsolete TagExclusive // obsolete TagIcon TagSourceRPM TagFileVerifyFlags TagArchiveSize TagProvideName TagRequireFlags TagRequireName TagRequireVersion TagNoSource TagNoPatch TagConflictFlags TagConflictName TagConflictVersion TagDefaultPrefix // internal, deprecated TagBuildRoot // internal, obsolete TagInstallPrefix // internal, deprecated TagExcludeArch TagExcludeOS TagExclusiveArch TagExclusiveOS TagAutoReqProv // internal TagRPMVersion TagTriggerScripts TagTriggerName TagTriggerVersion TagTriggerFlags TagTriggerIndex TagVerifyScript TagChangelogTime TagChangelogName TagChangelogText TagBrokenMD5 // internal, obsolete TagPreReq // internal TagPreInstallProg TagPostInstallProg TagPreUninstallProg TagPostUninstallProg TagBuildArchs TagObsoleteName TagVerifyScriptProg TagTriggerScriptProg TagDocDir // internal TagCookie TagFileDevices TagFileInodes TagFileLangs TagPrefixes TagInstallPrefixes TagTriggerInstall // internal TagTriggerUninstall // internal TagTriggerPostUninstall // internal TagAutoReq // internal TagAutoProv // internal TagCapability // internal, obsolete TagSourcePackage TagOldOriginalFilenames // internal, obsolete TagBuildPreReq // internal TagBuildRequires // internal TagBuildConflicts // internal TagBuildMacros // internal, unused TagProvideFlags TagProvideVersion TagObsoleteFlags TagObsoleteVersion TagDirindexes TagBasenames TagDirnames TagOrigDirindexes TagOrigBasenames TagOrigDirnames TagOptFlags TagDistURL TagPayloadFormat TagPayloadCompressor TagPayloadFlags TagInstallColor TagInstallTID TagRemoveTID TagSHA1RHN // internal, obsolete TagRHNPlatform // internal, obsolete TagPlatform TagPatchesName // deprecated, SuSE TagPatchesFlags // deprecated, SuSE TagPatchesVersion // deprecated, SuSE TagCacheCtime // internal, obsolete TagCachePkgPath // internal, obsolete TagCachePkgSize // internal, obsolete TagCachePkgMtime // internal, obsolete TagFileColors TagFileClass TagClassDict TagFileDependsX TagFileDependsN TagDependsDict TagSourcePkgID TagFileContexts // obsolete TagFSContexts TagREContexts TagPolicies TagPreTrans TagPostTrans TagPreTransProg TagPostTransProg TagDistTag TagOldSuggestsName // obsolete, aka OLDSUGGESTS TagOldSuggestsVersion // obsolete TagOldSuggestsFlags // obsolete TagOldEnhancesName // obsolete, aka OLDENHANCES TagOldEnhancesVersion // obsolete TagOldEnhancesFlags // obsolete TagPriority // unimplemented TagCVSID // unimplemented, aka SVNID TagBLinkPkgID // unimplemented TagBLinkHdrID // unimplemented TagBLinkNEVRA // unimplemented TagFLinkPkgID // unimplemented TagFLinkHdrID // unimplemented TagFLinkNEVRA // unimplemented TagPackageOrigin // unimplemented TagTriggerPreInstall // internal TagBuildSuggests // internal, unimplemented TagBuildEnhances // internal, unimplemented TagScriptStates // unimplemented TagScriptMetrics // unimplemented TagBuildCPUClock // unimplemented TagFileDigestAlgos // unimplemented TagVariants // unimplemented TagXMajor // unimplemented TagXMinor // unimplemented TagRepoTag // unimplemented TagKeywords // unimplemented TagBuildPlatforms // unimplemented TagPackageColor // unimplemented TagPackagePrefColor // unimplemented TagXAttrsDict // unimplemented TagFileXAttrsx // unimplemented TagDepAttrsDict // unimplemented TagConflictAttrsX // unimplemented TagObsoleteAttrsX // unimplemented TagProvideAttrsX // unimplemented TagRequireAttrsX // unimplemented TagBuildProvides // unimplemented TagBuildObsoletes // unimplemented TagDbInstance // extension TagNVRA // extension )
General Tags.
const ( TagFilenames Tag = 5000 + iota // extension TagFileProvide // extension TagFileRequire // extension TagFsNames // unimplemented TagFsFizes // unimplemented TagTriggerConds // extension TagTriggerType // extension TagOrigFileNames // extension TagLongFileSizes TagLongSize TagFileCaps TagFileDigestAlgo TagBugURL TagEVR // extension TagNVR // extension TagNEVR // extension TagNEVRA // extension TagHeaderColor // extension TagVerbose // extension TagEpochNum // extension TagPreInstallFlags TagPostInstallFlags TagPreUninstallFlags TagPostUninstallFlags TagPreTransFlags TagPostTransFlags TagVerifyScriptFlags TagTriggerScriptFlags TagCollections // unimplemented TagPolicyNames TagPolicyTypes TagPolicyTypesIndexes TagPolicyFlags TagVCS TagOrderName TagOrderVersion TagOrderFlags TagMSSFManifest // unimplemented TagMSSFDomain // unimplemented TagInstFilenames // extension TagRequireNEVRS // extension TagProvideNEVRS // extension TagObsoleteNEVRS // extension TagConflictNEVRS // extension TagFileNLinks // extension TagRecommendName // aka RECOMMENDS TagRecommendVersion TagRecommendFlags TagSuggestName // aka SUGGESTS TagSuggestVersion TagSuggestFlags TagSupplementName // aka SUPPLEMENTS TagSupplementVersion TagSupplementFlags TagEnhanceName // aka ENHANCES TagEnhanceVersion TagEnhanceFlags TagRecommendNEVRS // extension TagSuggestNEVRS // s[] extension TagSupplementNEVRS // s[] extension TagEnhanceNEVRS // s[] extension TagEncoding TagFileTriggerInstall // internal TagFileTriggerUninstall // internal TagFileTriggerPostUninstall // internal TagFileTriggerScripts TagFileTriggerScriptProg TagFileTriggerScriptFlags TagFileTriggerName TagFileTriggerIndex TagFileTriggerVersion TagFileTriggerFlags TagTransFileTriggerInstall // internal TagTransFileTriggerUninstall // internal TagTransFileTriggerPostUninstall // internal TagTransFileTriggerScripts TagTransFileTriggerScriptProg TagTransFileTriggerScriptFlags TagTransFileTriggerName TagTransFileTriggerIndex TagTransFileTriggerVersion TagTransFileTriggerFlags TagRemovePathPostFixes // internal TagFileTriggerPriorities TagTransFileTriggerPriorities TagFileTriggerConds // extension TagFileTriggerType // extension TagTransFileTriggerConds // extension TagTransFileTriggerType // extension TagFileSignatures TagFileSignatureLength TagPayloadDigest TagPayloadDigestAlgo TagAutoInstalled // reservation (unimplemented) TagIdentity // reservation (unimplemented) TagModularityLabel TagPayloadDigestAlt TagArchSuffix )
General Tags, second block.