|
| 1 | +cpython-source-deps |
| 2 | +=================== |
| 3 | + |
| 4 | +Source for packages that the CPython build process depends on. |
| 5 | + |
| 6 | +It is currently expected that this will only be useful on Windows, |
| 7 | +and in any case you should never need to clone this repository |
| 8 | +unless you are updating its contents. |
| 9 | + |
| 10 | +.. contents:: |
| 11 | + |
| 12 | +Updating Source Dependencies |
| 13 | +---------------------------- |
| 14 | + |
| 15 | +The procedure for updating the different source dependencies are similar. Below |
| 16 | +is an example for updating SQLite:: |
| 17 | + |
| 18 | + |
| 19 | +1. Fork and clone this repository. |
| 20 | + |
| 21 | +2. Checkout a new branch off the ``sqlite`` branch. Assuming this repo is set |
| 22 | + as your ``upstream``:: |
| 23 | + |
| 24 | + git checkout -b <branch-name>-sqlite upstream/sqlite |
| 25 | + |
| 26 | +3. Download SQLite source from `sqlite.org <https://www.sqlite.org>`_. |
| 27 | + |
| 28 | +4. Unzip it to the branch checked out in step 2. |
| 29 | + |
| 30 | +5. Commit and push the changes. |
| 31 | + |
| 32 | +6. Create the PR, with ``sqlite`` as the base branch. |
| 33 | + |
| 34 | +Once the PR has been merged, tag the commit as ``sqlite-<full version to be used in CPython's PCbuild/get_externals.bat>``. |
| 35 | + |
| 36 | +For updating ``sqlite``, ``bzip2``, ``xz``, and ``zlib``, follow the above |
| 37 | +instructions. |
| 38 | + |
| 39 | +For ``tcl`` and ``tk``, after step 5, `cpython-bin-deps |
| 40 | +<https://github.com/python/cpython-bin-deps/>`_ |
| 41 | +needs to be updated. |
| 42 | + |
| 43 | +For ``openssl``, step 5 will be more complicated :) |
| 44 | + |
| 45 | + |
| 46 | +Download links |
| 47 | +-------------- |
| 48 | + |
| 49 | +- ``sqlite``: https://www.sqlite.org/download.html |
| 50 | +- ``bzip2``: http://www.bzip.org/downloads.html |
| 51 | +- ``xz``: https://tukaani.org/xz/ |
| 52 | +- ``zlib``: https://zlib.net/ |
| 53 | +- ``tcl``/``tk``: https://tcl.tk/software/tcltk/download.html |
| 54 | +- ``openssl``: https://www.openssl.org/source/ |
| 55 | + |
| 56 | + |
| 57 | +Tagging the commit |
| 58 | +------------------ |
| 59 | + |
| 60 | +Using the ``sqlite`` branch as an example:: |
| 61 | + |
| 62 | + git checkout -b sqlite-tag upstream/sqlite |
| 63 | + git tag sqlite-3.21.0.0 # replace 3.21.0.0 with the correct version. |
| 64 | + git push --tags upstream |
| 65 | + |
0 commit comments