Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make ipaclient pip install-able #195

Closed
wants to merge 1 commit into from

Conversation

tiran
Copy link
Member

@tiran tiran commented Oct 27, 2016

This makes ipaclient and dependencies pip install-able by adding install requirements to all setup.py. A new make target bdist_wheel creates wheel distributions.

example

$ make bdist_wheel
$ cp ../custodia/dist/custodia-0.2-py2.py3-none-any.whl dist/
$ virtualenv /tmp/ipaenv
New python executable in /tmp/ipaenv/bin/python2
Also creating executable in /tmp/ipaenv/bin/python
Installing setuptools, pip, wheel...done.
$ /tmp/ipaenv/bin/pip install dist/wheels/*.whl
Processing ./dist/custodia-0.2-py2.py3-none-any.whl
Processing ./dist/ipaclient-4.4.90.201610271437GITd812266-py2.py3-none-any.whl
Processing ./dist/ipalib-4.4.90.201610271437GITd812266-py2.py3-none-any.whl
Processing ./dist/ipaplatform-4.4.90.201610271437GITd812266-py2.py3-none-any.whl
Processing ./dist/ipapython-4.4.90.201610271437GITd812266-py2.py3-none-any.whl

...

Installing collected packages: configparser, requests, six, idna, pycparser, cffi, pyasn1, enum34, ipaddress, cryptography, jwcrypto, custodia, qrcode, python-nss, ipaplatform, netaddr, lxml, pyldap, netifaces, decorator, gssapi, dnspython, ipapython, ipalib, ipaclient
  Running setup.py install for python-nss ... done
Successfully installed cffi-1.8.3 configparser-3.5.0 cryptography-1.5.2 custodia-0.2 decorator-4.0.10 dnspython-1.15.0 enum34-1.1.6 gssapi-1.2.0 idna-2.1 ipaclient-4.4.90.201610271437GITd812266 ipaddress-1.0.17 ipalib-4.4.90.201610271437GITd812266 ipaplatform-4.4.90.201610271437GITd812266 ipapython-4.4.90.201610271437GITd812266 jwcrypto-0.3.1 lxml-3.6.4 netaddr-0.7.18 netifaces-0.10.5 pyasn1-0.1.9 pycparser-2.16 pyldap-2.4.25.1 python-nss-1.0.0 qrcode-5.3 requests-2.11.1 six-1.10.0

open problems

  • Custodia is not yet released on PyPI (to be released soon)
  • dependencies are duplicated in setup.py and RPM spec
  • ipaplatform hard-codes the distribution on build time: discussion on freeipa-devel list

tickets

https://fedorahosted.org/freeipa/ticket/6468
https://fedorahosted.org/freeipa/ticket/6469

@rcritten
Copy link
Contributor

rcritten commented Nov 8, 2016

This is an important feature for integration. OpenStack uses pip to install dependencies into virtual environments for doing multi-version python testing. I'll need ipalib to be pip installable for the automatic enrollment feature, novajoin, that I'm working on.

@MartinBasti
Copy link
Contributor

Where is a ticket? :)

@tiran tiran force-pushed the python_requirements branch 5 times, most recently from 443c072 to e76c447 Compare November 15, 2016 11:21
@tiran tiran changed the title [WIP] Make ipaclient pip install-able Make ipaclient pip install-able Nov 16, 2016
@MartinBasti MartinBasti self-assigned this Nov 16, 2016
@MartinBasti MartinBasti added ack Pull Request approved, can be merged pushed Pull Request has already been pushed labels Nov 16, 2016
@MartinBasti
Copy link
Contributor

@tiran tiran deleted the python_requirements branch November 17, 2016 08:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ack Pull Request approved, can be merged pushed Pull Request has already been pushed
Projects
None yet
3 participants