3 This module enables you to manipulate rpms and the rpm database.
10 from rpm.transaction import *
11 import rpm._rpm as _rpm
12 _RPMVSF_NODIGESTS = _rpm._RPMVSF_NODIGESTS
13 _RPMVSF_NOHEADER = _rpm._RPMVSF_NOHEADER
14 _RPMVSF_NOPAYLOAD = _rpm._RPMVSF_NOPAYLOAD
15 _RPMVSF_NOSIGNATURES = _rpm._RPMVSF_NOSIGNATURES
17 __version__ = _rpm.__version__
18 __version_info__ = tuple(__version__.split('.'))
20 # try to import build bits but dont require it
22 from rpm._rpmb import *
26 # try to import signing bits but dont require it
28 from rpm._rpms import *
32 # backwards compatibility + give the same class both ways
35 def headerLoad(*args, **kwds):
36 warnings.warn("Use rpm.hdr() instead.", DeprecationWarning, stacklevel=2)
37 return hdr(*args, **kwds)
39 def _doHeaderListFromFD(rpm_fd, retrofit):
45 h.convert(HEADERCONV_RETROFIT_V3)
52 def readHeaderListFromFD(file_desc, retrofit = True):
53 if not isinstance(file_desc, fd):
54 file_desc = fd(file_desc)
55 return _doHeaderListFromFD(file_desc, retrofit)
57 def readHeaderListFromFile(path, retrofit = True):
59 hlist = _doHeaderListFromFD(f, retrofit)
63 def readHeaderFromFD(file_desc):
64 if not isinstance(file_desc, fd):
65 file_desc = fd(file_desc)
67 offset = file_desc.tell()
69 except (_rpm.error, IOError):
75 def signalsCaught(siglist):
83 def dsSingle(TagN, N, EVR = "", Flags = RPMSENSE_ANY):
84 return ds((N, EVR, Flags), TagN)