Correct PyPI package dependencies

* Remove unused install requires from ipapython
* Add missing requirements to ipaserver
* Correct dependencies for yubico otptoken
* Add explicit dependency on cffi for csrgen
* Python 2 uses python-ldap, Python 3 pyldap

https://pagure.io/freeipa/issue/6875

Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Martin Basti <mbasti@redhat.com>
This commit is contained in:
Christian Heimes
2017-04-10 10:00:23 +02:00
committed by Martin Basti
parent 38276d3473
commit 26ab51ddf4
6 changed files with 23 additions and 15 deletions

View File

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

View File

@@ -41,16 +41,14 @@ if __name__ == '__main__':
"cryptography",
"dnspython",
"gssapi",
"jwcrypto",
# "ipalib", # circular dependency
"pyldap",
"netaddr",
"netifaces",
"requests",
"six",
],
extras_require={
":python_version<'3'": ["enum34"],
":python_version<'3'": ["enum34", "python-ldap"],
":python_version>='3'": ["pyldap"],
"install": ["dbus-python"], # for certmonger
},
)

View File

@@ -55,10 +55,11 @@ if __name__ == '__main__':
"ipalib",
"ipaplatform",
"ipapython",
"jwcrypto",
"lxml",
"netaddr",
"pyasn1",
"pyldap",
"requests",
"six",
],
entry_points={
@@ -70,6 +71,8 @@ if __name__ == '__main__':
],
},
extras_require={
":python_version<'3'": ["python-ldap"],
":python_version>='3'": ["pyldap"],
# These packages are currently not available on PyPI.
"dcerpc": ["samba", "pysss", "pysss_nss_idmap"],
"hbactest": ["pyhbac"],

View File

@@ -101,6 +101,7 @@ common_args = dict(
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: Implementation :: CPython",
"Operating System :: POSIX",
"Operating System :: POSIX :: Linux",
@@ -138,13 +139,20 @@ def ipasetup(name, doc, **kwargs):
cmdclass = setup_kwargs.setdefault('cmdclass', {})
cmdclass['build_py'] = build_py
# Env markers like ":python_version<'3.3'" are not supported by
# Env markers like ":python_version<'3'" are not supported by
# setuptools < 18.0.
if 'extras_require' in setup_kwargs and SETUPTOOLS_VERSION < (18, 0, 0):
for k in list(setup_kwargs['extras_require']):
if k.startswith(':'):
req = setup_kwargs.setdefault('install_requires', [])
req.extend(setup_kwargs['extras_require'].pop(k))
if not k.startswith(':'):
continue
values = setup_kwargs['extras_require'].pop(k)
req = setup_kwargs.setdefault('install_requires', [])
if k == ":python_version<'3'" and sys.version_info.major == 2:
req.extend(values)
elif k == ":python_version>='3'" and sys.version_info.major >= 3:
req.extend(values)
else:
raise ValueError(k, values)
os.chdir(local_path)
try:

View File

@@ -68,12 +68,13 @@ if __name__ == '__main__':
"ipapython",
"nose",
"polib",
"pyldap",
"pytest",
"pytest_multihost",
"six",
],
extras_require={
":python_version<'3'": ["python-ldap"],
":python_version>='3'": ["pyldap"],
"integration": ["dbus-python", "pyyaml", "ipaserver"],
"ipaserver": ["ipaserver"],
"webui": ["selenium", "pyyaml", "ipaserver"],

View File

@@ -22,8 +22,7 @@ commands=
[testenv:pylint2]
basepython=python2.7
deps=
ipaclient
ipapython[certmonger]
ipaclient[otptoken_yubikey]
pylint
commands=
{envpython} -m pylint \