Polishing the Notes on bootstrapping Python

This commit is contained in:
Tomas Orsava 2017-05-16 11:06:53 +02:00
parent 2287f0c54b
commit afb0016f9d
1 changed files with 21 additions and 17 deletions

View File

@ -4,25 +4,29 @@
# NOTES ON BOOTSTRAPING PYTHON 3.6:
#
# Due to dependency cycle between Python, gdb, rpm, pip, setuptools and
# wheel, in order to rebase Python 3, one has to build in the following order:
# Due to a dependency cycle between Python, gdb, rpm, pip, setuptools, wheel,
# and other packages, in order to rebase Python 3 one has to build in the
# following order:
#
# 1) gdb without python support (add %%global _without_python 1 on top of gdb's SPEC file)
# 2) python3 with with_rewheel set to 0
# 3) gdb with python support (remove %%global _without_python 1 on top of gdb's SPEC file)
# 4) rpm
# 5) python-setuptools with bootstrap set to 1
# 6) python-pip with build_wheel set to 0
# 7) python-wheel with %%bcond_without bootstrap
# 8) python-setuptools with bootstrap set to 0 and also with_check set to 0
# 9) python-pip with build_wheel set to 1
# 10) pyparsing
# 11) python3 with with_rewheel set to 1
# 1. gdb without python support (add %%global _without_python 1 on top of gdb's SPEC file)
# 2. python3 with with_rewheel set to 0
# 3. gdb with python support (remove %%global _without_python 1 on top of gdb's SPEC file)
# 4. rpm
# 5. python-setuptools with bootstrap set to 1
# 6. python-pip with build_wheel set to 0
# 7. python-wheel with %%bcond_without bootstrap
# 8. python-setuptools with bootstrap set to 0 and also with_check set to 0
# 9. python-pip with build_wheel set to 1
# 10. pyparsing
# 11. python3 with with_rewheel set to 1
#
# Then the most important packages have to be built, starting from their various leaf dependencies
# recursively. After these have been built, a targeted rebuild should be requested for the rest.
# Currently these packages are recommended to have been built before a targeted rebuild after a python abi change:
# python-sphinx, pytest, python-requests, cloud-init, dnf, anaconda, abrt.
# Then the most important packages have to be built, starting from their
# various leaf dependencies recursively. After these have been built, a
# targeted rebuild should be requested for the rest.
#
# Currently these packages are recommended to have been built before a targeted
# rebuild after a python abi change:
# python-sphinx, pytest, python-requests, cloud-init, dnf, anaconda, abrt
%global with_rewheel 1