mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-01-22 10:53:03 -08:00
62 lines
2.1 KiB
ReStructuredText
62 lines
2.1 KiB
ReStructuredText
=======================
|
|
Vendored library policy
|
|
=======================
|
|
|
|
To simplify Bleach development, we're now vendoring certain libraries that
|
|
we use.
|
|
|
|
Vendored libraries must follow these rules:
|
|
|
|
1. Vendored libraries must be pure Python--no compiling.
|
|
2. Source code for the libary is included in this directory.
|
|
3. License must be included in this repo and in the Bleach distribution.
|
|
4. Requirements of the library become requirements of Bleach.
|
|
5. No modifications to the library may be made.
|
|
|
|
|
|
Adding/Updating a vendored library
|
|
==================================
|
|
|
|
Way to vendor a library or update a version:
|
|
|
|
1. Update ``vendor.txt`` with the library, version, and hash. You can use
|
|
`hashin <https://pypi.org/project/hashin/>`_.
|
|
2. Remove all old files and directories of the old version.
|
|
3. Run ``pip_install_vendor.sh`` and check everything it produced in including
|
|
the ``.dist-info`` directory and contents.
|
|
4. Update the bleach minor version in the next release.
|
|
|
|
|
|
Reviewing a change involving a vendored library
|
|
===============================================
|
|
|
|
Way to verify a vendored library addition/update:
|
|
|
|
1. Pull down the branch.
|
|
2. Delete all the old files and directories of the old version.
|
|
3. Run ``pip_install_vendor.sh``.
|
|
4. Run ``git diff`` and verify there are no changes.
|
|
|
|
|
|
NB: the current ``vendor.txt`` was generated with pip 20.2.3, which might be necessary to reproduce the dist-info
|
|
|
|
|
|
Removing/Unvendoring a vendored library
|
|
=======================================
|
|
|
|
A vendored library might be removed for any of the following reasons:
|
|
|
|
* it violates the vendoring policy (e.g. an incompatible license
|
|
change)
|
|
* a suitable replacement is found
|
|
* bleach has the resources to test and QA new bleach releases against
|
|
multiple versions of the previously vendored library
|
|
|
|
To unvendor a library:
|
|
|
|
1. Remove the library and its hashes from ``vendor.txt``.
|
|
2. Remove library files and directories from this directory.
|
|
3. Run ``install_vendor.sh`` and check the previously vendored library including
|
|
the ``.dist-info`` directory and contents is not installed.
|
|
4. Update the bleach minor version in the next release.
|