Hi! I started to add some doc strings to the Python bindings. Parts of the content got copied from the C doc strings and is not that great. But it is a start. May be someone is interested in prove reading them. They are already in head but I also attached the result of pydoc rpm as this might be easier for some people to consume. Note that the file misses the highlighting of function names as it would be visible in the console. Florian -- Red Hat GmbH, http://www.de.redhat.com/ Registered seat: Grasbrunn, Commercial register: Amtsgericht Muenchen, HRB 153243, Managing Directors: Charles Cachera, Michael Cunningham, Michael O'Neill, Charles Peters
Help on package rpm: NAME rpm - RPM Module FILE /home/ffesti/CVS/rpm/python/rpm/__init__.py DESCRIPTION This module enables you to manipulate rpms and the rpm database. The rpm base module provides the main starting point for accessing RPM from Python. For most usage, call the TransactionSet method to get a transaction set (rpmts). For example: import rpm ts = rpm.TransactionSet() The transaction set will open the RPM database as needed, so in most cases, you do not need to explicitly open the database. The transaction set is the workhorse of RPM. You can open another RPM database, such as one that holds all packages for a given Linux distribution, to provide packages used to solve dependencies. To do this, use the following code: rpm.addMacro('_dbpath', '/path/to/alternate/database') solvets = rpm.TransactionSet() solvets.openDB() rpm.delMacro('_dbpath') # Open default database ts = rpm.TransactionSet() This code gives you access to two RPM databases through two transaction sets (rpmts): ts is a transaction set associated with the default RPM database and solvets is a transaction set tied to an alternate database, which is very useful for resolving dependencies. PACKAGE CONTENTS _rpm transaction CLASSES __builtin__.object archive ds fd fi file files hdr ii keyring mi prob pubkey strpool te ts exceptions.Exception(exceptions.BaseException) _rpm.error TransactionSetCore = class ts(__builtin__.object) | A python rpm.ts object represents an RPM transaction set. | | The transaction set is the workhorse of RPM. It performs the | installation and upgrade of packages. The rpm.ts object is | instantiated by the TransactionSet function in the rpm module. | | The TransactionSet function takes two optional arguments. The first | argument is the root path. The second is the verify signature disable | flags, a set of the following bits: | | - rpm.RPMVSF_NOHDRCHK if set, don't check rpmdb headers | - rpm.RPMVSF_NEEDPAYLOAD if not set, check header+payload | (if possible) | - rpm.RPMVSF_NOSHA1HEADER if set, don't check header SHA1 digest | - rpm.RPMVSF_NODSAHEADER if set, don't check header DSA signature | - rpm.RPMVSF_NOMD5 if set, don't check header+payload MD5 digest | - rpm.RPMVSF_NODSA if set, don't check header+payload DSA signature | - rpm.RPMVSF_NORSA if set, don't check header+payload RSA signature | | For convenience, there are the following masks: | - rpm._RPMVSF_NODIGESTS if set, don't check digest(s). | - rpm._RPMVSF_NOSIGNATURES if set, don't check signature(s). | | The transaction set offers an read only iterable interface for the | transaction elements added by the .addInstall(), .addErase() and | .addReinstall() methods. | | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __init__(...) | x.__init__(...) initializes x; see help(type(x)) for signature | | __iter__(...) | x.__iter__() <==> iter(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | addErase(...) | addErase(name) -- Add a transaction element representing an erase | of an installed package. | | name: the package name to be erased | | addInstall(...) | ts.addInstall(hdr, data, mode) -- Add transaction element(s) | representing an installation or update of a package. | | Args: | hdr : the header to be added | data : user data that will be passed to the transaction callback | during transaction execution | mode : optional argument that specifies if this package should be | installed ('i'), upgraded ('u') | | addReinstall(...) | ts.addReinstall(hdr, data) -- Adds transaction elements | representing a reinstall of an already installed package. | | See addInstall for details. | | check(...) | ts.check( )-- Perform a dependency check on the transaction set. | After headers have been added to a transaction set, | a dependencycheck can be performed to make sure that | all package dependencies are satisfied. | Return None If there are no unresolved dependencies | Otherwise a list of complex tuples is returned, | one tuple per unresolved dependency, with | The format of the dependency tuple is: | ((packageName, packageVersion, packageRelease), | (reqName, reqVersion), | needsFlags, | suggestedPackage, | sense) | packageName, packageVersion, packageRelease are the name, | version, and release of the package that has the unresolved | dependency or conflict. | The reqName and reqVersion are the name and version of the | requirement or conflict. | The needsFlags is a bitfield that describes the versioned | nature of a requirement or conflict. The constants | rpm.RPMSENSE_LESS, rpm.RPMSENSE_GREATER, and | rpm.RPMSENSE_EQUAL can be logical ANDed with the needsFlags | to get versioned dependency information. | suggestedPackage is a tuple if the dependency check was aware | of a package that solves this dependency problem when the | dependency check was run. Packages that are added to the | transaction set as "available" are examined during the | dependency check as possible dependency solvers. The tuple | contains two values, (header, suggestedName). These are set to | the header of the suggested package and its name, respectively. | If there is no known package to solve the dependency problem, | suggestedPackage is None. | The constants rpm.RPMDEP_SENSE_CONFLICTS and | rpm.RPMDEP_SENSE_REQUIRES are set to show a dependency as a | requirement or a conflict. | | clean(...) | ts.clean()-- Free memory needed only for dependency checks | and ordering. Should not be needed in normal operation. | | clear(...) | ts.clear() -> None | Remove all elements from the transaction set | | closeDB(...) | ts.closeDB() -> None | - Close the default transaction rpmdb. | Note: ts.closeDB() disables lazy opens, | and should hardly ever be used. | | dbIndex(...) | ts.dbIndex(TagN) -> ii | - Create a key iterator for the default transaction rpmdb. | | dbMatch(...) | ts.dbMatch([TagN, [key]]) -> mi | - Create a match iterator for the default transaction rpmdb. | | getKeyring(...) | ts.getKeyring(autoload=False) -- Return key ring object. | | hdrCheck(...) | ts.hdrCheck(hdrblob) -- Check header consistency, | performing headerGetEntry() the hard way. | | Sanity checks on the header are performed while looking for a | header-only digest or signature to verify the blob. If found, | the digest or signature is verified. | | hdrblob : unloaded header blob | Return tuple (int status, message string) | | hdrFromFdno(...) | ts.hdrFromFdno(fdno) -> hdr | - Read a package header from a file descriptor. | | initDB(...) | ts.initDB() -> None | - Initialize the default transaction rpmdb. | Note: ts.initDB() is seldom needed anymore. | | next(...) | x.next() -> the next value, or raise StopIteration | | openDB(...) | ts.openDB() -> None -- Open the default transaction rpmdb. | | Note: The transaction rpmdb is lazily opened, | so ts.openDB() is seldom needed. | | order(...) | ts.order() Do a topological sort of added element relations. | | pgpImportPubkey(...) | pgpImportPubkey(pubkey) -- Import public key packet. | | pgpPrtPkts(...) | pgpPrtPkts(octets) -- Print/parse a OpenPGP packet(s). | | Return 0 on success. | | problems(...) | ts.problems() -> ps | - Return current problem set. | | rebuildDB(...) | ts.rebuildDB() -> None | - Rebuild the default transaction rpmdb. | | run(...) | ts.run(callback, data) -> (problems) | - Run a transaction set, returning list of problems found. | Note: The callback may not be None. | | setKeyring(...) | ts.setKeyring(keyring) -- Set key ring used for checking signatures | | Pass None for an empty key ring. | | verifyDB(...) | ts.verifyDB() -> None | - Verify the default transaction rpmdb. | | ---------------------------------------------------------------------- | Data descriptors defined here: | | rootDir | read only, directory rpm treats as root of the file system. | | scriptFd | write only, file descriptor the output of script gets written to. | | tid | read only, current transaction id, i.e. transaction time stamp. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class archive(__builtin__.object) | Gives access to the payload of an rpm package. | | Is returned by .archive() method of an rpm.files instance. | All methods can raise an IOError exception. | | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __iter__(...) | x.__iter__() <==> iter(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | close(...) | archive.close() -- Close archive and do final consistency checks. | | hascontent(...) | archive.hascontent() -- Return if current file has a content. | | Returns false for non regular and all but one of hardlinked files. | | next(...) | x.next() -> the next value, or raise StopIteration | | read(...) | archive.read(size=None) -- Read next size bytes from current file. | | Returns bytes | | readto(...) | archive.readto(fd, nodigest=None) -- Read content of fd | and write as content of the current file to archive. | | tell(...) | archive.tell() -- Return current position in archive. | | write(...) | archive.write(buffer) -- Write buffer to current file. | | writeto(...) | archive.writeto(fd) -- Write content of current file in archive | to fd. class ds(__builtin__.object) | rpm.ds (dependendcy set) gives a more convenient access to dependencies | | It can hold multiple entries of Name Flags and EVR. | It typically represents all dependencies of one kind of a package | e.g. all Requires or all Conflicts. | | Methods defined here: | | Color(...) | ds.Color -> Color -- Return current Color. | | Compare(...) | ds.compare(other) -- Compare current entries of self and other. | | Returns True if the entries match each other, False otherwise | | Count(...) | Deprecated, use len(ds) instead. | | DNEVR(...) | ds.DNEVR -> DNEVR -- Return current DNEVR. | | EVR(...) | ds.EVR -> EVR -- Return current EVR. | | Find(...) | ds.find(other_ds) -- Return index of other_ds in ds | | Flags(...) | ds.Flags -> Flags -- Return current Flags. | | Instance(...) | ds.Instance() -- Return rpmdb key of corresponding package or 0. | | Ix(...) | ds.Ix -> Ix -- Return current element index. | | Merge(...) | | N(...) | ds.N -> N -- Return current N. | | Notify(...) | ds.Notify(location, returnCode) -- Print debug info message | | if debugging is enabled. | | Search(...) | ds.Search(element) -> matching ds index (-1 on failure) | Check that element dependency range overlaps some member of ds. | The current index in ds is positioned at overlapping member. | | SetNoPromote(...) | ds.SetNoPromote(noPromote) -- Set noPromote for this instance. | | If True non existing epochs are no longer equal to an epoch of 0. | | Sort(...) | | TagN(...) | ds.TagN -> TagN -- Return TagN (RPMTAG_*NAME) | | the type of all dependencies in this set. | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __init__(...) | x.__init__(...) initializes x; see help(type(x)) for signature | | __iter__(...) | x.__iter__() <==> iter(x) | | __len__(...) | x.__len__() <==> len(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | next(...) | x.next() -> the next value, or raise StopIteration | | ---------------------------------------------------------------------- | Static methods defined here: | | Rpmlib(...) | ds.Rpmlib -> nds -- Return internal rpmlib dependency set. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class error(exceptions.Exception) | Method resolution order: | error | exceptions.Exception | exceptions.BaseException | __builtin__.object | | Data descriptors defined here: | | __weakref__ | list of weak references to the object (if defined) | | ---------------------------------------------------------------------- | Methods inherited from exceptions.Exception: | | __init__(...) | x.__init__(...) initializes x; see help(type(x)) for signature | | ---------------------------------------------------------------------- | Data and other attributes inherited from exceptions.Exception: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T | | ---------------------------------------------------------------------- | Methods inherited from exceptions.BaseException: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __getslice__(...) | x.__getslice__(i, j) <==> x[i:j] | | Use of negative indices is not supported. | | __reduce__(...) | | __repr__(...) | x.__repr__() <==> repr(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | __setstate__(...) | | __str__(...) | x.__str__() <==> str(x) | | __unicode__(...) | | ---------------------------------------------------------------------- | Data descriptors inherited from exceptions.BaseException: | | __dict__ | | args | | message class fd(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __init__(...) | x.__init__(...) initializes x; see help(type(x)) for signature | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | close(...) | | fileno(...) | | flush(...) | | isatty(...) | | open(...) | | read(...) | | seek(...) | | tell(...) | | write(...) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | closed | | flags | | mode | | name | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class fi(__builtin__.object) | File iterator | | DEPRECATED! This old API mixes storing and iterating over the meta data | of the files of a package. Use rpm.files and rpm.file data types as a | much cleaner API. | | Iteration returns a tuple of | (FN, FSize, FMode, FMtime, FFlags, FRdev, FInode, FNlink, FState, | VFlags, FUser, FGroup, Digest) | | Methods defined here: | | BN(...) | fi.BN() -- Return base name of current file. | | DC(...) | fi.DC() --Return number of directory entries. | | DN(...) | fi.DN() -- Return directory name of the current file. | | DX(...) | fi.DX() -- Return number of directory entry matching current file. | | Digest(...) | fi.() -- Return the checksum of the current file. | | FC(...) | fi.FC() -- Return number of files entries. | | FClass(...) | fi.() -- Return the classification of the current file. | | FColor(...) | fi.() -- Return the color of the current file. | | 2 for 64 bit binaries | 1 for 32 bit binaries | 0 for everything else | | FFlags(...) | fi.FFlags() -- Return the flags of the current file. | | FGroup(...) | fi.() -- Return the group name of the current file. | | FLink(...) | fi.() -- Return the link target of the current file. | | For soft links only. | | FLinks(...) | fi.() -- Return the number of hardlinks pointing to of the | current file. | | FMode(...) | fi.FMode() -- Return the mode flags of the current file. | | FMtime(...) | fi.() -- Return the modification time of the current file. | | FN(...) | fi.FN() -- Return the name/path of the current file. | | FRdev(...) | fi.() -- Return the device number of the current file. | | For device files only. | | FSize(...) | fi.() -- Return the size of the current file. | | FState(...) | fi.FState() -- Return the file state of the current file. | | FUser(...) | fi.() -- Return the user name owning the current file. | | FX(...) | fi.FX() -- Return current position of the iterator. | | FindFN(...) | fi.FindFN(pathname) -- Return entry number of given pathname. | | Return -1 if file is not found. | Leading '.' in the given name is stripped before the search. | | MD5(...) | fi.() -- Return the checksum of the current file. | | DEPRECATED! Use fi.Digest instead! | | VFlags(...) | fi.VFlags() -- Return the verify flags of the current file. | | See RPMVERIFY_* (in rpmvf.h) | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __init__(...) | x.__init__(...) initializes x; see help(type(x)) for signature | | __iter__(...) | x.__iter__() <==> iter(x) | | __len__(...) | x.__len__() <==> len(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | next(...) | x.next() -> the next value, or raise StopIteration | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class file(__builtin__.object) | Gives access to the meta data of a single file. | | Instances of this class are only available through an rpm.files object. | | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | __str__(...) | x.__str__() <==> str(x) | | matches(...) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | basename | | caps | file capabilities | | class | classfication of file content based on libmagic/file(1) | | color | file color - 2 for 64 bit binaries, 1 for 32 bit binaries, 0 else | | digest | check sum of file content | | dirname | | dx | index of dirname entry | | fflags | file flags - see RPMFILE_* constants | | fx | index in header and rpm.files object | | group | group name owning this file | | inode | inode number - contains fake, data used to identify hard liked files | | langs | language the file provides (typically for doc files) | | links | list of file indexes that are hardlinked with this file | | linkto | link target - symlinks only | | mode | mode flags / unix permissions | | mtime | modification time (in unix time) | | name | file name (path) | | nlink | number of hardlinks pointing to the same content as this file | | orig_basename | original base name (may differ due to relocation) | | orig_dirname | original dir name (may differ due to relocation) | | orig_name | original file name (may differ due to relocation) | | rdev | device number - for device files only | | size | file size | | state | file state - see RPMFILE_STATE_* constants | | user | user name owning this file | | vflags | verification flags - see RPMVERIFY_* (in rpmvf.h) class files(__builtin__.object) | rpm.files(hdr, tag=RPMTAG_BASENAMES, flags=None, pool=None) | | Stores the meta data of a package's files. | | Args: | hdr: The header object to get the data from. | flags : Controls which data to store and whether to create | copies or use the data from the header. | By default all data is copied. | See RPMFI_* constants in rpmfiles.h. | pool : rpm.strpool object to store the strings in. | Leave empty to use global pool. | tag : Obsolete. Leave alone! | | rpm.files is basically a sequence of rpm.file objects. | Note that this is a read only data structure. To write file data you | have to write it directly into aheader object. | | Methods defined here: | | __contains__(...) | x.__contains__(y) <==> y in x | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __len__(...) | x.__len__() <==> len(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | archive(...) | files.archive(fd, write=False) -- Return a rpm.archive object | | Args: | fd : File to read from or write to. | write : True to get an archive writer, False for an archive reader | | find(...) | files.find(filename, orig=False) -- Return index of given file name. | | Return -1 if file is not found. | Leading "." in filename is ignored. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class hdr(__builtin__.object) | A header object represents an RPM package header. | | All RPM packages have headers that provide metadata for the package. | Header objects can be returned by database queries or loaded from a | binary package on disk. | | The ts.hdrFromFdno() function returns the package header from a | package on disk, verifying package signatures and digests of the | package while reading. | | Note: The older method rpm.headerFromPackage() which has been replaced | by ts.hdrFromFdno() used to return a (hdr, isSource) tuple. | | If you need to distinguish source/binary headers, do: | | import os, rpm | | ts = rpm.TransactionSet() | fdno = os.open('/tmp/foo-1.0-1.i386.rpm', os.O_RDONLY) | hdr = ts.hdrFromFdno(fdno) | os.close(fdno) | if hdr[rpm.RPMTAG_SOURCEPACKAGE]: | print 'header is from a source package' | else: | print 'header is from a binary package' | | The Python interface to the header data is quite elegant. It | presents the data in a dictionary form. We'll take the header we | just loaded and access the data within it: | | print hdr[rpm.RPMTAG_NAME] | print hdr[rpm.RPMTAG_VERSION] | print hdr[rpm.RPMTAG_RELEASE] | | in the case of our 'foo-1.0-1.i386.rpm' package, this code would | output: | foo | 1.0 | 1 | | You make also access the header data by string name: | | print hdr['name'] | print hdr['version'] | print hdr['release'] | | This method of access is a teensy bit slower because the name must be | translated into the tag number dynamically. You also must make sure | the strings in header lookups don't get translated, or the lookups | will fail. | | Methods defined here: | | __contains__(...) | x.__contains__(y) <==> y in x | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __delitem__(...) | x.__delitem__(y) <==> del x[y] | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __hash__(...) | x.__hash__() <==> hash(x) | | __iter__(...) | x.__iter__() <==> iter(x) | | __reduce__(...) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | __setitem__(...) | x.__setitem__(i, y) <==> x[i]=y | | compressFilelist(...) | DEPRECATED -- Use hdr.convert() instead. | | convert(...) | hdr.convert(op=-1) -- Convert header - See HEADERCONV_* | for possible values of op. | | dsFromHeader(...) | hdr.dsFromHeader(to=RPMTAG_REQUIRENAME, flags=None) | Get dependency set from header. to must be one of the NAME tags | belonging to a dependency: | 'Providename', 'Requirename', 'Obsoletename', 'Conflictname', | 'Triggername', 'Recommendname', 'Suggestname', 'Supplementname', | 'Enhancename' or one of the corresponding RPMTAG_*NAME constants. | | dsOfHeader(...) | hdr.dsOfHeader() -- Return dependency set with the header's NEVR. | | expandFilelist(...) | DEPRECATED -- Use hdr.convert() instead. | | fiFromHeader(...) | hdr.fiFromHeader() -- Return rpm.fi object containing the file | meta data from the header. | | DEPRECATED - Use rpm.files(hdr) instead. | | format(...) | hdr.format(format) -- Expand a query string with the header data. | | See rpm -q for syntax. | | fullFilelist(...) | DEPRECATED -- Obsolete method. | | isSource(...) | hdr.isSource() -- Return if header describes a source package. | | keys(...) | hdr.keys() -- Return a list of the header's rpm tags (int RPMTAG_*). | | next(...) | x.next() -> the next value, or raise StopIteration | | sprintf(...) | Alias for .format(). | | unload(...) | hdr.unload(legacyHeader=False) -- Return binary representation | of the header. | | write(...) | hdr.write(file, magic=True) -- Write header to file. | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class ii(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __iter__(...) | x.__iter__() <==> iter(x) | | __nonzero__(...) | x.__nonzero__() <==> x != 0 | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | instances(...) | | next(...) | x.next() -> the next value, or raise StopIteration class keyring(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | addKey(...) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class mi(__builtin__.object) | rpm.mi match iterator object represents the result of a | database query. | | Instances of the rpm.mi object provide access to headers that match | certain criteria. Typically, a primary index is accessed to find | a set of headers that contain a key, and each header is returned | serially. | | To obtain a rpm.mi object to query the database used by a transaction, | the ts.match(tag,key,len) method is used. | | Here's an example that prints the name of all installed packages: | import rpm | ts = rpm.TransactionSet() | for h in ts.dbMatch(): | print h['name'] | | Here's a more typical example that uses the Name index to retrieve | all installed kernel(s): | import rpm | ts = rpm.TransactionSet() | mi = ts.dbMatch('name', 'kernel') | for h in mi: | print '%s-%s-%s' % (h['name'], h['version'], h['release']) | | Finally, here's an example that retrieves all packages whose name | matches the glob expression 'XFree*': | import rpm | ts = rpm.TransactionSet() | mi = ts.dbMatch() | mi.pattern('name', rpm.RPMMIRE_GLOB, 'XFree*') | for h in mi: | print '%s-%s-%s' % (h['name'], h['version'], h['release']) | | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __iter__(...) | x.__iter__() <==> iter(x) | | __len__(...) | x.__len__() <==> len(x) | | __nonzero__(...) | x.__nonzero__() <==> x != 0 | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | count(...) | Deprecated, use len(mi) instead. | | instance(...) | mi.instance() -- Return the number (db key) of the current header. | | next(...) | x.next() -> the next value, or raise StopIteration | | pattern(...) | mi.pattern(TagN, mire_type, pattern) | - Set a secondary match pattern on tags from retrieved header. class prob(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | __str__(...) | x.__str__() <==> str(x) | | ---------------------------------------------------------------------- | Data descriptors defined here: | | altNEVR | | key | | pkgNEVR | | type class pubkey(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | base64(...) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class strpool(__builtin__.object) | Methods defined here: | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __getitem__(...) | x.__getitem__(y) <==> x[y] | | __len__(...) | x.__len__() <==> len(x) | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value | | freeze(...) | | id2str(...) | | str2id(...) | | unfreeze(...) | | ---------------------------------------------------------------------- | Data and other attributes defined here: | | __new__ = <built-in method __new__ of type object> | T.__new__(S, ...) -> a new object with type S, a subtype of T class te(__builtin__.object) | Methods defined here: | | A(...) | te.A() -- Return element arch. | | Color(...) | te.Color() -- Return package color bits. | | DBOffset(...) | te.DBOffset() -- Return the Package's database instance number. | | TR_REMOVED only | | DS(...) | te.DS(TagN) -- Return the TagN dependency set (or None). | TagN is one of 'Providename', 'Requirename', 'Obsoletename', | 'Conflictname', 'Triggername', 'Recommendname', 'Suggestname', | 'Supplementname', 'Enhancename' | | E(...) | te.E() -- Return element epoch. | | FI(...) | te.FI(TagN) -- Return file info iterator of element. | | DEPRECATED! Use .Files() instead. | | Failed(...) | te.Failed() -- Return if there are any related errors. | | Files(...) | te.Files() -- Return file info set of element. | | Key(...) | te.Key() -- Return the associated opaque key aka user data | as passed e.g. as data arg ts.addInstall() | | N(...) | te.N() -- Return element name. | | NEVR(...) | te.NEVR() -- Return element name-[epoch:]version-release. | | NEVRA(...) | te.NEVRA() -- Return element name-[epoch:]version-release.arch | | O(...) | te.O() -- Return element os. | | Parent(...) | te.Parent() -- Return the parent element index. | | PkgFileSize(...) | te.PkgFileSize() -- Return no. of bytes in package file (approx). | | Problems(...) | te.Problems() -- Return problems associated with this element. | | R(...) | te.R() -- Return element release. | | Type(...) | te.Type() -- Return element type (rpm.TR_ADDED | rpm.TR_REMOVED). | | V(...) | te.V() -- Return element version. | | __delattr__(...) | x.__delattr__('name') <==> del x.name | | __getattribute__(...) | x.__getattribute__('name') <==> x.name | | __setattr__(...) | x.__setattr__('name', value) <==> x.name = value FUNCTIONS addMacro(...) addMacro(macro, value) archscore(...) archscore(archname) -- How well does an architecture fit on this machine 0 for non matching arch names 1 for best arch higher numbers for less fitting arches (e.g. 2 for "i586" on an i686 machine) checkSignals(...) checkSignals() -- Check for and exit on termination signals. delMacro(...) delMacro(macro) dsSingle(TagN, N, EVR='', Flags=0) Creates a single entry dependency set (ds) dsSingle(RPMTAG_CONFLICTNAME, "rpm") correspons to "Conflicts: rpm" expandMacro(...) expandMacro(string, numeric=False) -- expands a string containing macros Returns an int if numeric is True. 'Y' or 'y' returns 1, 'N' or 'n' returns 0 An undefined macro returns 0. headerLoad(*args, **kwds) DEPRECATED! Use rpm.hdr() instead. labelCompare(...) labelCompare(version0, version1) -- as versionCompare() but arguments are tuples of of strings for (epoch, version, release) log(...) log(level, msg) -- Write msg to log if level is selected to be logged. level must be one of the RPMLOG_* constants. mergeHeaderListFromFD(...) readHeaderFromFD(file_desc) Return (header, pos_before_hdr) readHeaderListFromFD(file_desc, retrofit=True) readHeaderListFromFile(path, retrofit=True) reloadConfig(...) readloadConfig(path=None) -- Read config file. Set all macros and settings accordingly. setEpochPromote(...) setEpochPromote(bool) -- Set if no epoch shall be treated as epoch 0 setLogFile(...) setLogFile(file) -- set file to write log messages to or None. setStats(...) setStats(bool) -- Set if timing stats are printed after a transaction. setVerbosity(...) setVerbosity(level) -- Set log level. See RPMLOG_* constants. signalCaught(...) signalCaught(signo) -- Returns True if signal was caught. signalsCaught(siglist) Returns True if any of the signals was caught. versionCompare(...) versionCompare(version0, version1) -- compares two version strings Returns 1 if version0 > version1 Returns 0 if version0 == version1 Returns -1 if version0 < version1 DATA HEADERCONV_COMPRESSFILELIST = 1 HEADERCONV_EXPANDFILELIST = 0 HEADERCONV_RETROFIT_V3 = 2 RPMCALLBACK_CPIO_ERROR = 16384 RPMCALLBACK_INST_CLOSE_FILE = 8 RPMCALLBACK_INST_OPEN_FILE = 4 RPMCALLBACK_INST_PROGRESS = 1 RPMCALLBACK_INST_START = 2 RPMCALLBACK_INST_STOP = 262144 RPMCALLBACK_REPACKAGE_PROGRESS = 1024 RPMCALLBACK_REPACKAGE_START = 2048 RPMCALLBACK_REPACKAGE_STOP = 4096 RPMCALLBACK_SCRIPT_ERROR = 32768 RPMCALLBACK_SCRIPT_START = 65536 RPMCALLBACK_SCRIPT_STOP = 131072 RPMCALLBACK_TRANS_PROGRESS = 16 RPMCALLBACK_TRANS_START = 32 RPMCALLBACK_TRANS_STOP = 64 RPMCALLBACK_UNINST_PROGRESS = 128 RPMCALLBACK_UNINST_START = 256 RPMCALLBACK_UNINST_STOP = 512 RPMCALLBACK_UNKNOWN = 0 RPMCALLBACK_UNPACK_ERROR = 8192 RPMDBI_BASENAMES = 1117 RPMDBI_CONFLICTNAME = 1054 RPMDBI_DIRNAMES = 1118 RPMDBI_GROUP = 1016 RPMDBI_INSTALLTID = 1128 RPMDBI_INSTFILENAMES = 5040 RPMDBI_LABEL = 2 RPMDBI_NAME = 1000 RPMDBI_OBSOLETENAME = 1090 RPMDBI_PACKAGES = 0 RPMDBI_PROVIDENAME = 1047 RPMDBI_REQUIRENAME = 1049 RPMDBI_SHA1HEADER = 269 RPMDBI_SIGMD5 = 261 RPMDBI_TRIGGERNAME = 1066 RPMDEP_SENSE_CONFLICTS = 1 RPMDEP_SENSE_REQUIRES = 0 RPMFILE_CONFIG = 1 RPMFILE_DOC = 2 RPMFILE_GHOST = 64 RPMFILE_ICON = 4 RPMFILE_LICENSE = 128 RPMFILE_MISSINGOK = 8 RPMFILE_NOREPLACE = 16 RPMFILE_PUBKEY = 2048 RPMFILE_README = 256 RPMFILE_SPECFILE = 32 RPMFILE_STATE_NETSHARED = 3 RPMFILE_STATE_NORMAL = 0 RPMFILE_STATE_NOTINSTALLED = 2 RPMFILE_STATE_REPLACED = 1 RPMFILE_STATE_WRONGCOLOR = 4 RPMLOG_ALERT = 1 RPMLOG_CRIT = 2 RPMLOG_DEBUG = 7 RPMLOG_EMERG = 0 RPMLOG_ERR = 3 RPMLOG_INFO = 6 RPMLOG_NOTICE = 5 RPMLOG_WARNING = 4 RPMMIRE_DEFAULT = 0 RPMMIRE_GLOB = 3 RPMMIRE_REGEX = 2 RPMMIRE_STRCMP = 1 RPMPROB_BADARCH = 0 RPMPROB_BADOS = 1 RPMPROB_BADRELOCATE = 3 RPMPROB_CONFLICT = 5 RPMPROB_DISKNODES = 10 RPMPROB_DISKSPACE = 9 RPMPROB_FILE_CONFLICT = 7 RPMPROB_FILTER_DISKNODES = 256 RPMPROB_FILTER_DISKSPACE = 128 RPMPROB_FILTER_FORCERELOCATE = 8 RPMPROB_FILTER_IGNOREARCH = 2 RPMPROB_FILTER_IGNOREOS = 1 RPMPROB_FILTER_OLDPACKAGE = 64 RPMPROB_FILTER_REPLACENEWFILES = 16 RPMPROB_FILTER_REPLACEOLDFILES = 32 RPMPROB_FILTER_REPLACEPKG = 4 RPMPROB_NEW_FILE_CONFLICT = 6 RPMPROB_OBSOLETES = 11 RPMPROB_OLDPACKAGE = 8 RPMPROB_PKG_INSTALLED = 2 RPMPROB_REQUIRES = 4 RPMRC_FAIL = 2 RPMRC_NOKEY = 4 RPMRC_NOTFOUND = 1 RPMRC_NOTTRUSTED = 3 RPMRC_OK = 0 RPMSENSE_ANY = 0 RPMSENSE_CONFIG = 268435456 RPMSENSE_EQUAL = 8 RPMSENSE_FIND_PROVIDES = 32768 RPMSENSE_FIND_REQUIRES = 16384 RPMSENSE_GREATER = 4 RPMSENSE_INTERP = 256 RPMSENSE_KEYRING = 67108864 RPMSENSE_LESS = 2 RPMSENSE_POSTTRANS = 32 RPMSENSE_PREREQ = 64 RPMSENSE_PRETRANS = 128 RPMSENSE_RPMLIB = 16777216 RPMSENSE_SCRIPT_POST = 1024 RPMSENSE_SCRIPT_POSTUN = 4096 RPMSENSE_SCRIPT_PRE = 512 RPMSENSE_SCRIPT_PREUN = 2048 RPMSENSE_SCRIPT_VERIFY = 8192 RPMSENSE_TRIGGERIN = 65536 RPMSENSE_TRIGGERPOSTUN = 262144 RPMSENSE_TRIGGERPREIN = 33554432 RPMSENSE_TRIGGERUN = 131072 RPMTAG_ARCH = 1022 RPMTAG_ARCHIVESIZE = 1046 RPMTAG_BASENAMES = 1117 RPMTAG_BUGURL = 5012 RPMTAG_BUILDARCHS = 1089 RPMTAG_BUILDHOST = 1007 RPMTAG_BUILDTIME = 1006 RPMTAG_C = 1054 RPMTAG_CHANGELOGNAME = 1081 RPMTAG_CHANGELOGTEXT = 1082 RPMTAG_CHANGELOGTIME = 1080 RPMTAG_CLASSDICT = 1142 RPMTAG_CONFLICTFLAGS = 1053 RPMTAG_CONFLICTNAME = 1054 RPMTAG_CONFLICTNEVRS = 5044 RPMTAG_CONFLICTS = 1054 RPMTAG_CONFLICTVERSION = 1055 RPMTAG_COOKIE = 1094 RPMTAG_DBINSTANCE = 1195 RPMTAG_DEPENDSDICT = 1145 RPMTAG_DESCRIPTION = 1005 RPMTAG_DIRINDEXES = 1116 RPMTAG_DIRNAMES = 1118 RPMTAG_DISTRIBUTION = 1010 RPMTAG_DISTTAG = 1155 RPMTAG_DISTURL = 1123 RPMTAG_DSAHEADER = 267 RPMTAG_E = 1003 RPMTAG_ENCODING = 5062 RPMTAG_ENHANCEFLAGS = 5057 RPMTAG_ENHANCENAME = 5055 RPMTAG_ENHANCENEVRS = 5061 RPMTAG_ENHANCES = 5055 RPMTAG_ENHANCEVERSION = 5056 RPMTAG_EPOCH = 1003 RPMTAG_EPOCHNUM = 5019 RPMTAG_EVR = 5013 RPMTAG_EXCLUDEARCH = 1059 RPMTAG_EXCLUDEOS = 1060 RPMTAG_EXCLUSIVEARCH = 1061 RPMTAG_EXCLUSIVEOS = 1062 RPMTAG_FILECAPS = 5010 RPMTAG_FILECLASS = 1141 RPMTAG_FILECOLORS = 1140 RPMTAG_FILECONTEXTS = 1147 RPMTAG_FILEDEPENDSN = 1144 RPMTAG_FILEDEPENDSX = 1143 RPMTAG_FILEDEVICES = 1095 RPMTAG_FILEDIGESTALGO = 5011 RPMTAG_FILEDIGESTS = 1035 RPMTAG_FILEFLAGS = 1037 RPMTAG_FILEGROUPNAME = 1040 RPMTAG_FILEINODES = 1096 RPMTAG_FILELANGS = 1097 RPMTAG_FILELINKTOS = 1036 RPMTAG_FILEMD5S = 1035 RPMTAG_FILEMODES = 1030 RPMTAG_FILEMTIMES = 1034 RPMTAG_FILENAMES = 5000 RPMTAG_FILENLINKS = 5045 RPMTAG_FILEPROVIDE = 5001 RPMTAG_FILERDEVS = 1033 RPMTAG_FILEREQUIRE = 5002 RPMTAG_FILESIZES = 1028 RPMTAG_FILESTATES = 1029 RPMTAG_FILEUSERNAME = 1039 RPMTAG_FILEVERIFYFLAGS = 1045 RPMTAG_FSCONTEXTS = 1148 RPMTAG_GIF = 1012 RPMTAG_GROUP = 1016 RPMTAG_HDRID = 269 RPMTAG_HEADERCOLOR = 5017 RPMTAG_HEADERI18NTABLE = 100 RPMTAG_HEADERIMAGE = 61 RPMTAG_HEADERIMMUTABLE = 63 RPMTAG_HEADERREGIONS = 64 RPMTAG_HEADERSIGNATURES = 62 RPMTAG_ICON = 1043 RPMTAG_INSTALLCOLOR = 1127 RPMTAG_INSTALLTID = 1128 RPMTAG_INSTALLTIME = 1008 RPMTAG_INSTFILENAMES = 5040 RPMTAG_INSTPREFIXES = 1099 RPMTAG_LICENSE = 1014 RPMTAG_LONGARCHIVESIZE = 271 RPMTAG_LONGFILESIZES = 5008 RPMTAG_LONGSIGSIZE = 270 RPMTAG_LONGSIZE = 5009 RPMTAG_N = 1000 RPMTAG_NAME = 1000 RPMTAG_NEVR = 5015 RPMTAG_NEVRA = 5016 RPMTAG_NOPATCH = 1052 RPMTAG_NOSOURCE = 1051 RPMTAG_NOT_FOUND = -1 RPMTAG_NVR = 5014 RPMTAG_NVRA = 1196 RPMTAG_O = 1090 RPMTAG_OBSOLETEFLAGS = 1114 RPMTAG_OBSOLETENAME = 1090 RPMTAG_OBSOLETENEVRS = 5043 RPMTAG_OBSOLETES = 1090 RPMTAG_OBSOLETEVERSION = 1115 RPMTAG_OLDENHANCES = 1159 RPMTAG_OLDENHANCESFLAGS = 1161 RPMTAG_OLDENHANCESNAME = 1159 RPMTAG_OLDENHANCESVERSION = 1160 RPMTAG_OLDFILENAMES = 1027 RPMTAG_OLDSUGGESTS = 1156 RPMTAG_OLDSUGGESTSFLAGS = 1158 RPMTAG_OLDSUGGESTSNAME = 1156 RPMTAG_OLDSUGGESTSVERSION = 1157 RPMTAG_OPTFLAGS = 1122 RPMTAG_ORDERFLAGS = 5037 RPMTAG_ORDERNAME = 5035 RPMTAG_ORDERVERSION = 5036 RPMTAG_ORIGBASENAMES = 1120 RPMTAG_ORIGDIRINDEXES = 1119 RPMTAG_ORIGDIRNAMES = 1121 RPMTAG_ORIGFILENAMES = 5007 RPMTAG_OS = 1021 RPMTAG_P = 1047 RPMTAG_PACKAGER = 1015 RPMTAG_PATCH = 1019 RPMTAG_PATCHESFLAGS = 1134 RPMTAG_PATCHESNAME = 1133 RPMTAG_PATCHESVERSION = 1135 RPMTAG_PAYLOADCOMPRESSOR = 1125 RPMTAG_PAYLOADFLAGS = 1126 RPMTAG_PAYLOADFORMAT = 1124 RPMTAG_PKGID = 261 RPMTAG_PLATFORM = 1132 RPMTAG_POLICIES = 1150 RPMTAG_POLICYFLAGS = 5033 RPMTAG_POLICYNAMES = 5030 RPMTAG_POLICYTYPES = 5031 RPMTAG_POLICYTYPESINDEXES = 5032 RPMTAG_POSTIN = 1024 RPMTAG_POSTINFLAGS = 5021 RPMTAG_POSTINPROG = 1086 RPMTAG_POSTTRANS = 1152 RPMTAG_POSTTRANSFLAGS = 5025 RPMTAG_POSTTRANSPROG = 1154 RPMTAG_POSTUN = 1026 RPMTAG_POSTUNFLAGS = 5023 RPMTAG_POSTUNPROG = 1088 RPMTAG_PREFIXES = 1098 RPMTAG_PREIN = 1023 RPMTAG_PREINFLAGS = 5020 RPMTAG_PREINPROG = 1085 RPMTAG_PRETRANS = 1151 RPMTAG_PRETRANSFLAGS = 5024 RPMTAG_PRETRANSPROG = 1153 RPMTAG_PREUN = 1025 RPMTAG_PREUNFLAGS = 5022 RPMTAG_PREUNPROG = 1087 RPMTAG_PROVIDEFLAGS = 1112 RPMTAG_PROVIDENAME = 1047 RPMTAG_PROVIDENEVRS = 5042 RPMTAG_PROVIDES = 1047 RPMTAG_PROVIDEVERSION = 1113 RPMTAG_PUBKEYS = 266 RPMTAG_R = 1002 RPMTAG_RECOMMENDFLAGS = 5048 RPMTAG_RECOMMENDNAME = 5046 RPMTAG_RECOMMENDNEVRS = 5058 RPMTAG_RECOMMENDS = 5046 RPMTAG_RECOMMENDVERSION = 5047 RPMTAG_RECONTEXTS = 1149 RPMTAG_RELEASE = 1002 RPMTAG_REMOVETID = 1129 RPMTAG_REQUIREFLAGS = 1048 RPMTAG_REQUIRENAME = 1049 RPMTAG_REQUIRENEVRS = 5041 RPMTAG_REQUIRES = 1049 RPMTAG_REQUIREVERSION = 1050 RPMTAG_RPMVERSION = 1064 RPMTAG_RSAHEADER = 268 RPMTAG_SHA1HEADER = 269 RPMTAG_SIGGPG = 262 RPMTAG_SIGMD5 = 261 RPMTAG_SIGPGP = 259 RPMTAG_SIGSIZE = 257 RPMTAG_SIZE = 1009 RPMTAG_SOURCE = 1018 RPMTAG_SOURCEPACKAGE = 1106 RPMTAG_SOURCEPKGID = 1146 RPMTAG_SOURCERPM = 1044 RPMTAG_SUGGESTFLAGS = 5051 RPMTAG_SUGGESTNAME = 5049 RPMTAG_SUGGESTNEVRS = 5059 RPMTAG_SUGGESTS = 5049 RPMTAG_SUGGESTVERSION = 5050 RPMTAG_SUMMARY = 1004 RPMTAG_SUPPLEMENTFLAGS = 5054 RPMTAG_SUPPLEMENTNAME = 5052 RPMTAG_SUPPLEMENTNEVRS = 5060 RPMTAG_SUPPLEMENTS = 5052 RPMTAG_SUPPLEMENTVERSION = 5053 RPMTAG_TRIGGERCONDS = 5005 RPMTAG_TRIGGERFLAGS = 1068 RPMTAG_TRIGGERINDEX = 1069 RPMTAG_TRIGGERNAME = 1066 RPMTAG_TRIGGERSCRIPTFLAGS = 5027 RPMTAG_TRIGGERSCRIPTPROG = 1092 RPMTAG_TRIGGERSCRIPTS = 1065 RPMTAG_TRIGGERTYPE = 5006 RPMTAG_TRIGGERVERSION = 1067 RPMTAG_URL = 1020 RPMTAG_V = 1001 RPMTAG_VCS = 5034 RPMTAG_VENDOR = 1011 RPMTAG_VERBOSE = 5018 RPMTAG_VERIFYSCRIPT = 1079 RPMTAG_VERIFYSCRIPTFLAGS = 5026 RPMTAG_VERIFYSCRIPTPROG = 1091 RPMTAG_VERSION = 1001 RPMTAG_XPM = 1013 RPMTRANS_FLAG_ADDINDEPS = 0 RPMTRANS_FLAG_ALLFILES = 64 RPMTRANS_FLAG_BUILD_PROBS = 2 RPMTRANS_FLAG_JUSTDB = 8 RPMTRANS_FLAG_KEEPOBSOLETE = 0 RPMTRANS_FLAG_NOCONFIGS = 1073741824 RPMTRANS_FLAG_NOCONTEXTS = 256 RPMTRANS_FLAG_NODOCS = 32 RPMTRANS_FLAG_NOFILEDIGEST = 134217728 RPMTRANS_FLAG_NOMD5 = 134217728 RPMTRANS_FLAG_NOPLUGINS = 128 RPMTRANS_FLAG_NOPOST = 262144 RPMTRANS_FLAG_NOPOSTTRANS = 33554432 RPMTRANS_FLAG_NOPOSTUN = 4194304 RPMTRANS_FLAG_NOPRE = 131072 RPMTRANS_FLAG_NOPRETRANS = 16777216 RPMTRANS_FLAG_NOPREUN = 2097152 RPMTRANS_FLAG_NOSCRIPTS = 4 RPMTRANS_FLAG_NOSUGGEST = 0 RPMTRANS_FLAG_NOTRIGGERIN = 524288 RPMTRANS_FLAG_NOTRIGGERPOSTUN = 8388608 RPMTRANS_FLAG_NOTRIGGERPREIN = 65536 RPMTRANS_FLAG_NOTRIGGERS = 16 RPMTRANS_FLAG_NOTRIGGERUN = 1048576 RPMTRANS_FLAG_REPACKAGE = 0 RPMTRANS_FLAG_REVERSE = 0 RPMTRANS_FLAG_TEST = 1 RPMVSF_DEFAULT = 0 RPMVSF_NEEDPAYLOAD = 2 RPMVSF_NODSA = 262144 RPMVSF_NODSAHEADER = 1024 RPMVSF_NOHDRCHK = 1 RPMVSF_NOMD5 = 131072 RPMVSF_NOMD5HEADER = 512 RPMVSF_NORSA = 524288 RPMVSF_NORSAHEADER = 2048 RPMVSF_NOSHA1 = 65536 RPMVSF_NOSHA1HEADER = 256 TR_ADDED = 1 TR_REMOVED = 2 VERIFY_DIGEST = 524288 VERIFY_SIGNATURE = 1048576 __version__ = '4.12.90' __version_info__ = ('4', '12', '90') header_magic = '\x8e\xad\xe8\x01\x00\x00\x00\x00' tagnames = {61: 'HEADERIMAGE', 62: 'HEADERSIGNATURES', 63: 'HEADERIMMU... VERSION 4.12.90
_______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxxxxx http://lists.rpm.org/mailman/listinfo/rpm-list