make rpm import optional in koji/__init__.py
Fixes: https://pagure.io/koji/issue/1772
This commit is contained in:
parent
c1464236c5
commit
e11ad814af
2 changed files with 9 additions and 2 deletions
|
|
@ -68,7 +68,10 @@ try:
|
|||
import requests_kerberos
|
||||
except ImportError: # pragma: no cover
|
||||
requests_kerberos = None
|
||||
import rpm
|
||||
try:
|
||||
import rpm
|
||||
except ImportError:
|
||||
rpm = None
|
||||
import shutil
|
||||
import signal
|
||||
import socket
|
||||
|
|
@ -605,6 +608,8 @@ class RawHeader(object):
|
|||
# see Maximum RPM Appendix A: Format of the RPM File
|
||||
|
||||
def __init__(self, data):
|
||||
if rpm is None:
|
||||
raise koji.GenericError("rpm's python bindings are not installed")
|
||||
if data[0:3] != RPM_HEADER_MAGIC:
|
||||
raise GenericError("Invalid rpm header: bad magic: %r" % (data[0:3],))
|
||||
self.header = data
|
||||
|
|
@ -889,6 +894,8 @@ def splice_rpm_sighdr(sighdr, src, dst=None, bufsize=8192):
|
|||
|
||||
def get_rpm_header(f, ts=None):
|
||||
"""Return the rpm header."""
|
||||
if rpm is None:
|
||||
raise koji.GenericError("rpm's python bindings are not installed")
|
||||
if ts is None:
|
||||
ts = rpm.TransactionSet()
|
||||
ts.setVSFlags(rpm._RPMVSF_NOSIGNATURES|rpm._RPMVSF_NODIGESTS)
|
||||
|
|
|
|||
2
setup.py
2
setup.py
|
|
@ -14,7 +14,7 @@ def get_install_requires():
|
|||
'requests-kerberos',
|
||||
'six',
|
||||
#'libcomps',
|
||||
'rpm-py-installer',
|
||||
#'rpm-py-installer', # it is optional feature
|
||||
#'rpm',
|
||||
]
|
||||
if sys.version_info[0] < 3:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue