From Fedora Project Wiki
(Moved adjusting python(abi) after we have packages to test it on (setuptools, pip, wheel))
(Added blocked status to two tasks)
Line 13: Line 13:
* '''create macros from the example specfile'''
* '''create macros from the example specfile'''
** by '''torsava'''
** by '''torsava'''
** <u>ready in COPR</u>
** put them to python-rpm-macros
** put them to python-rpm-macros
** ready in COPR
** https://github.com/torsava/python-rpm-macros/tree/private-torsava-master
** https://github.com/torsava/python-rpm-macros/tree/private-torsava-master


* '''add platform supackages to setuptools, pip, wheel'''
* '''add platform supackages to setuptools, pip, wheel'''
** by '''torsava'''
** by '''torsava'''
** <u>blocked until platform-python built in COPR</u>
** 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)
Line 24: Line 25:


* '''adjust the python(abi) requires/provides mechanism'''
* '''adjust the python(abi) requires/provides mechanism'''
** <u>blocked until we have packages depending on platform-python to test it on</u>
** 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

Revision as of 14:21, 3 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
  • add platform supackages to setuptools, pip, wheel
    • by torsava
    • blocked until platform-python built in COPR
    • 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
  • adjust the python(abi) requires/provides mechanism
    • blocked until we have packages depending on platform-python to test it on
    • it should require/provide platform-python(abi) for stuff in /usr/lib(64)/platform-python
    • the code lives in the rpm package
  • 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
   $ dnf repoquery --whatrequires system-python
   anaconda-core-0:26.21.11-1.fc26.x86_64
   dnf-yum-0:2.6.2-1.fc26.noarch
   gerrymander-0:1.5-6.fc26.noarch
   global-0:6.5.6-1.fc26.x86_64
   hovercraft-0:2.2-1.fc26.noarch
   httpie-0:0.9.4-7.fc26.noarch
   onionshare-0:1.0-1.fc26.noarch
   python-ladon-0:0.9.38-3.fc26.noarch
   python3-alembic-0:0.9.1-1.fc26.noarch
   python3-dnf-0:2.6.2-1.fc26.noarch
   python3-grapefruit-0:0.1a4-5.fc26.noarch
   python3-hawkey-0:0.9.3-1.fc26.x86_64
   python3-iniparse-0:0.4-24.fc26.noarch
   python3-junitxml-0:0.7-10.fc26.noarch
   python3-libcomps-0:0.1.8-3.fc26.x86_64
   python3-librepo-0:1.7.20-3.fc26.x86_64
   python3-os-testr-0:0.7.0-5.fc26.noarch
   python3-prelude-correlator-0:3.1.0-2.fc26.noarch
   python3-pygpgme-0:0.3-22.fc26.x86_64
   python3-pywbem-0:0.10.0-1.fc26.noarch
   python3-raven-0:6.0.0-1.fc26.noarch
   python3-rpm-0:4.13.0.1-5.fc26.x86_64
   python3-six-0:1.10.0-9.fc26.noarch
   python3-websocket-client-0:0.40.0-1.fc26.noarch
   target-restore-0:2.1.fb63-1.fc26.noarch
   targetcli-0:2.1.fb46-1.fc26.noarch
   $ dnf repoquery --whatrequires 'system-python(abi)'
   python3-dnf-0:2.6.2-1.fc26.noarch
   python3-hawkey-0:0.9.3-1.fc26.x86_64
   python3-iniparse-0:0.4-24.fc26.noarch
   python3-libcomps-0:0.1.8-3.fc26.x86_64
   python3-librepo-0:1.7.20-3.fc26.x86_64
   python3-pygpgme-0:0.3-22.fc26.x86_64
   python3-rpm-0:4.13.0.1-5.fc26.x86_64
   python3-six-0:1.10.0-9.fc26.noarch