From Fedora Project Wiki
No edit summary
No edit summary
Line 64: Line 64:
* '''remove system-python'''
* '''remove system-python'''
** by '''churchyard''' / '''mhroncok'''
** by '''churchyard''' / '''mhroncok'''
** PR https://src.fedoraproject.org/rpms/python3/pull-request/2
** <u>done</u>
 


* '''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
** by '''churchyard''' / '''mhroncok'''
** (following grep matches might be from changelogs)
** (following grep matches might be from changelogs)



Revision as of 08:24, 1 September 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
      • done
    • /usr/libexec/platform-python
      • done
    • python3-config to platform-python-config, make it work
      • excluded the python-config binaries for now
    • libpython.so to libplatform-python.so, make it work
      • done
    • probably drop tkinter and tools until proven needed
      • stalled, it can be done later
    • Make Platform-Python build without bootstrapping:
      • drop dependency on setuptools, pip, wheel
      • undo de-bundling of setuptools and pip, but delete the bundled pip wheel, making Python crash when -m venv is invoked
        • pip wheel is removed, setuptools is there
        • LATER make it not crash, but report a decent error message such as "Creating virtual environment with platform-python is not supported and is disabled. Use python3 instead."
    • Enable the test suite
      • Two test case failures so far
        • One related to systemd-nspawn and the other to sysconfig, both can be safely skipped
    • Enable profile guided optimizations and link time optimizations
      • Done
    • /usr/libexec/platform-python3.X
      • Done
  • start adding platform-python subpackages up until dnf
    • done
    • add bcond conditionals for all 3 subpackages: %bcond_without python2, python3, platform_python
    • if present, remove the system python abi macro and/or shabeng adjusting for system-python
    • check if the platform-python(abi) works


  • adjust dnf
    • make /usr/bin/dnf use /usr/libexec/platform-python, make it require platform-python-dnf instead of python3-dnf
    • done


  • remove system-python
    • by churchyard / mhroncok
    • done
   $ grep --files-with-matches system-python *
   dnf.spec
   freeipa.spec
   gtk2.spec
   python-rpm-macros.spec
   python-six.spec
   python-virtualenvcontext.spec
   python3.spec
   rpm.spec
   $ grep --files-with-matches system_python *
   dnf.spec
   libcomps.spec
   librepo.spec
   python-iniparse.spec
   python-pygpgme.spec
   rpm.spec
   $ dnf repoquery --whatrequires system-python
   anaconda-core-0:27.20-1.fc27.x86_64
   python3-pygpgme-0:0.3-24.fc27.x86_64
   $ dnf repoquery --whatrequires 'system-python(abi)'
   python3-pygpgme-0:0.3-24.fc27.x86_64

We should probably also provide/obsolete system-python and system-python abi from python3 package and system-python-libs form python3-libs

  • cleanup
    • remove '/usr/lib64/python36.zip' from platform-python's sys.path
    • Revisit bundled setuptools


Bootstrap order for Fedora

As we build stuff in copr, record it here so we know how to build it in Fedora:

https://etherpad.gnome.org/p/Fedora-Platform-Python-Bootstrap