rpm2cpio ./packagecloud-test-1.1-1.x86_64.rpm | cpio -idmv
An RPM package is simply a header structure on top of a CPIO archive. The package itself is comprised of four sections: a header with a leading identifier (magic number) that identifies the file as an RPM package, a signature to verify the integrity of the package, the header or ‘tagged’ data containing package information, version numbers, and copyright messaging, and the archive containing the actual program files.
In the example above, we use cpio with the -i flag to extract the files from the archive, -d to create the leading directories where needed, and -m to preserve the file modification times when creating files. The -v flag (verbose) is to list the files processed for the sake of this example.
%A Author
%B Secondary Title (of a Book or Conference Name)
%C Place Published
%D Year
%E Editor /Secondary Author
%F Label
%G Language
%H Translated Author
%I Publisher
%J Journal Name
%K Keywords
%L Call Number
%M Accession Number
%N Number (Issue)
%O Alternate Title
%P Pages
%Q Translated Title
%R DOI
%S Tertiary Title
%T Title
%U URL
%V Volume
%W Database Provider
%X Abstract
%Y Tertiary Author / Translator
%Z Notes
%0 Reference Type
%1 Custom 1
%2 Custom 2
%3 Custom 3
%4 Custom 4
%6 Number of Volumes
%7 Edition
%8 Date
%9 Type of Work
%? Subsidiary Author
%@ ISBN/ISSN
%! Short Title
%# Custom 5
%$ Custom 6
%] Custom 7
%& Section
%( Original Publication
%) Reprint Edition
%* Reviewed Item
%+ Author Address
%^ Caption
%> File Attachments
%< Research Notes
%[ Access Date
%= Custom 8
%~ Name of Database
The Python Imaging Library uses a plug-in model which allows you to add your own decoders to the library, without any changes to the library itself. Such plug-ins have names like XxxImagePlugin.py, where Xxx is a unique format name (usually an abbreviation). A decoder plug-in should contain a decoder class, based on the ImageFile base class defined in the module with the same name. This class should provide an _open method, which reads the file header and sets up at least the mode and size attributes. To be able to load the file, the method must also create a list of tile descriptors. The class must be explicitly registered, via a call to the Image module.