Copyright | (c) 2016-2017 Red Hat Inc. |
---|---|
License | LGPL |
Maintainer | https://github.com/weldr |
Stability | stable |
Portability | portable |
Safe Haskell | Safe |
Language | Haskell2010 |
- data RPM = RPM {
- rpmLead :: Lead
- rpmSignatures :: [Header]
- rpmHeaders :: [Header]
- rpmArchive :: ByteString
- data Lead = Lead {}
- data Header = Header {}
- data SectionHeader = SectionHeader {}
Documentation
The top level RPM record. This contains everything in an RPM file, except for the magic value.
RPM | |
|
Following the magic value that identifies a data stream as an RPM, the Lead is the very first part of the file. Due to its small size and inflexibility, it is largely obsolete and its use is discouraged even inside of the RPM library. It is generally only used as additional help beyond the magic value in verifying something is an RPM. The lead is only exposed here for completeness.
Lead | |
|
A Header represents a block of metadata. It is used twice in the RPM - as the representation for signatures and as the representation for regular metadata. Internally, the header is a list of tag descriptors followed by a data store. These descriptors index into the store and explain what type of thing should be found and how many things should be read.
Here, the hard work of figuring that out is already done and the results provided as a
list of Tag
s. The raw store itself is provided for completeness, in case further
processing needs to be done on the RPM. For most users, this will never be needed.
Header | |
|
data SectionHeader Source #
The SectionHeader is useful in parsing an RPM. It allows for figuring out where
each section occurs, how large it is, and so forth. It is likely not useful for
consumers of this libary. Just like with the top-level RPM
record, section headers
are preceeded with a magic value that is not exposed here.
SectionHeader | |
|