Slim down dependencies

* Make jinja2 an optional dependency and csrgen an optional plugin
* Make otptoken_yubikey an optional plugin

Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Christian Heimes 2017-03-29 11:20:21 +02:00 committed by Martin Basti
parent 8983ce53e3
commit bd5a5012d2
4 changed files with 19 additions and 9 deletions

View File

@ -6,8 +6,6 @@ import base64
import six
from ipaclient import csrgen
from ipaclient import csrgen_ffi
from ipalib import api
from ipalib import errors
from ipalib import output
@ -18,6 +16,14 @@ from ipalib.plugable import Registry
from ipalib.text import _
from ipapython import dogtag
try:
import jinja2 # pylint: disable=unused-import
except ImportError:
raise errors.SkipPluginModule(reason=_("jinja2 is not installed."))
else:
from ipaclient import csrgen
from ipaclient import csrgen_ffi
if six.PY3:
unicode = str

View File

@ -20,15 +20,20 @@
import os
import six
import usb.core
import yubico
from ipalib import _, api, IntEnum
from ipalib.errors import NotFound
from ipalib.errors import NotFound, SkipPluginModule
from ipalib.frontend import Command, Method, Object
from ipalib.plugable import Registry
from ipalib.util import classproperty
try:
import usb.core
import yubico
except ImportError:
# python-yubico depends on pyusb
raise SkipPluginModule(reason=_("python-yubico is not installed."))
if six.PY3:
unicode = str

View File

@ -50,11 +50,9 @@ if __name__ == '__main__':
],
},
install_requires=[
"cffi",
"cryptography",
"ipalib",
"ipapython",
"jinja2",
"qrcode",
"six",
],
@ -66,6 +64,7 @@ if __name__ == '__main__':
extras_require={
"install": ["ipaplatform"],
"otptoken_yubikey": ["python-yubico", "pyusb"],
"csrgen": ["cffi", "jinja2"],
},
zip_safe=False,
)

View File

@ -13,7 +13,7 @@ changedir={envdir}
setenv=
HOME={envtmpdir}
deps=
ipaclient
ipaclient[csrgen]
ipatests
commands=
{envbindir}/ipa --help
@ -22,7 +22,7 @@ commands=
[testenv:pylint2]
basepython=python2.7
deps=
ipaclient[otptoken_yubikey]
ipaclient[csrgen,otptoken_yubikey]
pylint
commands=
{envpython} -m pylint \