From Fedora Project Wiki
No edit summary
Line 12: Line 12:


* '''create macros from the example specfile'''
* '''create macros from the example specfile'''
** by '''torsava'''
** put them to python-rpm-macros
** put them to python-rpm-macros


Line 19: Line 20:


* '''add platform supackages to setuptools, pip, wheel'''
* '''add platform supackages to setuptools, pip, wheel'''
** by '''torsava'''
** add bcond conditionals for all 3 subpackages: with_python2, with_python3, with_platform_python
** add bcond conditionals for all 3 subpackages: with_python2, with_python3, with_platform_python
** bootstrap build them (see python3.spec for build order)
** bootstrap build them (see python3.spec for build order)

Revision as of 14:25, 2 August 2017

Platform Python Stack: Roamap

There should be a copr repo where this all happens. In order to have permission, it has been created in the python-sig group: https://copr.fedorainfracloud.org/coprs/g/python/platform-python-stack/

  • create the platform-python package
    • by cstratak
    • stdlib and site-packages installs to /usr/lib(64)/platform-python3.6
    • /usr/libexec/platform-python
    • python3-config to platform-python-config, make it work
    • libpython.so to libplatformpython.so, make it work
    • probably drop tkinter and tools until proven needed
  • create macros from the example specfile
    • by torsava
    • put them to python-rpm-macros
  • adjust the python(abi) requires/provides mechanism
    • it should require/provide platform-python(abi) for stuff in /usr/lib(64)/platform-python
    • the code lives in the rpm package
  • add platform supackages to setuptools, pip, wheel
    • by torsava
    • add bcond conditionals for all 3 subpackages: with_python2, with_python3, with_platform_python
    • bootstrap build them (see python3.spec for build order)
    • check if the platform-python(abi) works
  • rebuild platform-python with rewheel
  • start adding platform-python subpackages up until dnf
    • add bcond conditionals for all 3 subpackages: with_python2, with_python3, with_platform_python
    • if present, remove the system python abi macro and/or shabeng adjusting for system-python
  • adjust dnf
    • make /usr/bin/dnf use /usr/libexec/platform-python, make it require platform-python-dnf instead of python3-dnf


   $ grep --files-with-matches system-python *
   dnf.spec
   freeipa.spec
   gtk2.spec
   python3.spec
   python-rpm-macros.spec
   python-six.spec
   python-virtualenvcontext.spec
   rpm.spec