From Fedora Project Wiki
(Created page with "= 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.f...")
 
No edit summary
Line 3: Line 3:
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/
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
* '''create the platform-python package'''
** by cstratak
** by '''cstratak'''
** stdlib and site-packages installs to /usr/lib(64)/platform-python
** stdlib and site-packages installs to /usr/lib(64)/platform-python
** /usr/libexec/platform-python
** /usr/libexec/platform-python
Line 11: Line 11:
** probably drop tkinter and tools until proven needed
** probably drop tkinter and tools until proven needed


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


* adjust the python(abi) requires/provides mechanism
* '''adjust the python(abi) requires/provides mechanism'''
** it should require/provide platform-python(abi) for stuff in /usr/lib(64)/platform-python
** it should require/provide platform-python(abi) for stuff in /usr/lib(64)/platform-python
** the code lives in the rpm package
** the code lives in the rpm package


* add platform supackages to setuptools, pip, wheel
* '''add platform supackages to setuptools, pip, wheel'''
** bootstrap built them (see python3.spec for build order)
** bootstrap built them (see python3.spec for build order)
** check if the platform-python(abi) works
** check if the platform-python(abi) works


* rebuild platform-python with rewheel
* '''rebuild platform-python with rewheel'''


* start adding platform-python subpackages up until dnf
* '''start adding platform-python subpackages up until dnf'''
** if present, remove the system python abi macro and/or shabeng adjusting for system-python
** if present, remove the system python abi macro and/or shabeng adjusting for system-python


* make <code>/usr/bin/dnf</code> use <code>/usr/libexec/platform-python</code>, make it require platform-python-dnf instead of python3-dnf
* '''adjust dnf'''
** make <code>/usr/bin/dnf</code> use <code>/usr/libexec/platform-python</code>, make it require platform-python-dnf instead of python3-dnf




* grep the specfiles for system-python abi macro and or shebang requirement and remove it
* '''grep the specfiles for system-python abi macro and or shebang requirement and remove it'''
** http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz
** http://pkgs.fedoraproject.org/repo/rpm-specs-latest.tar.xz
** there are packages not covered by previous steps but using it
** there are packages not covered by previous steps but using it
** probably not worth doing in copr, wait for rawhide
** probably not worth doing in copr, wait for rawhide

Revision as of 11:53, 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-python
    • /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
    • 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
    • bootstrap built 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
    • 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