mirror of
https://github.com/ansible/awx.git
synced 2024-10-31 15:21:13 +03:00
556e6c4a11
Upgrades of minor dependency upgrades Inventory scripts were upgraded in separate commit Major exclusions from this update - celery was already downgraded for other reasons - Django / DRF major update already done, minor bumps here - asgi-amqp has fixes coming independently, not touched - TACACS plus added features not needed Removals of note - remove shade from AWX requirements - remove kombu from Ansible requirements Other notes Add note about pinning setuptools and pip, done but not mentioned previously Stop pinning gevent-websocket and twisted upgrade Azure to Ansible core requirements more detailed notes https://gist.github.com/AlanCoding/9442a512ab6977940bc7b5b346d4f70b upgrade version of Django for Exception
26 lines
2.4 KiB
Markdown
26 lines
2.4 KiB
Markdown
The requirements.txt and requirements_ansible.txt files are generated from requirements.in and requirements_ansible.in, respectively, using `pip-tools` `pip-compile`. The following commands should do this if ran inside the tower_tools container.
|
|
|
|
NOTE: before running `pip-compile`, please copy-paste contents in `requirements/requirements_git.txt` to the top of `requirements/requirements.in` and prepend each copied line with `-e `. Later after `requirements.txt` is generated, don't forget to remove all `git+https://github.com...`-like lines from both `requirements.txt` and `requirements.in` (repeat for `requirements_ansible_git.txt` and `requirements_ansible.in`)
|
|
|
|
At the end of `requirements/requirements.in`, pip and setuptools need to have their versions pinned.
|
|
|
|
```
|
|
virtualenv /buildit
|
|
source /buildit/bin/activate
|
|
pip install pip-tools
|
|
pip install pip --upgrade
|
|
|
|
pip-compile requirements/requirements.in > requirements/requirements.txt
|
|
pip-compile requirements/requirements_ansible.in > requirements/requirements_ansible.txt
|
|
```
|
|
|
|
## Known Issues
|
|
|
|
* Remove the `-e` from packages of the form `-e git+https://github.com...` in the generated `.txt`. Failure to do so will result in a "bad" RPM and DEB due to the `pip install` laying down a symbolic link with an absolute path from the virtualenv to the git repository that will differ from when the RPM and DEB are build to when the RPM and DEB are installed on a machine. By removing the `-e` the symbolic egg link will not be created and all is well.
|
|
|
|
* As of `pip-tools` `1.8.1` `pip-compile` does not resolve packages specified using a git url. Thus, dependencies for things like `dm.xmlsec.binding` do not get resolved and output to `requirements.txt`. This means that:
|
|
* can't use `pip install --no-deps` because other deps WILL be sucked in
|
|
* all dependencies are NOT captured in our `.txt` files. This means you can't rely on the `.txt` when gathering licenses.
|
|
|
|
* Package `docutils`, as an upstream of `boto3`, is commented out in both `requirements.txt` and `requirements_ansible.txt` because the official package has a bug that causes RPM build failure. [Here](https://sourceforge.net/p/docutils/bugs/321/) is the bug report. Please do not uncomment it before the bug fix lands. For now we are using [a monkey-patch version of `docutils`](https://github.com/ansible/docutils.git) that comes with the bug fix. It's included in `requirements_git.txt` and `requirements_ansible_git.txt`.
|