Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Python Packaging in Fedora

Python Packaging in Fedora

For Flock (Fedora contributors' conference) in Krakow

Petr Viktorin

August 02, 2016
Tweet

More Decks by Petr Viktorin

Other Decks in Technology

Transcript

  1. at least 49,9% of Python software packaged in Fedora supports

    Python 3 45,5% has the Py 3 version packaged
  2. A packager should: 1. Make sure SW plays nice 2.

    Integrate with rest of system 3. Check licenses, patents, etc.
  3. A packager should: 1. Make sure SW plays nice 2.

    Integrate with rest of system 3. Check licenses, patents, etc. 4. Read 50 pages of guidelines 5. Know a weird macro language
  4. %global pypi_name mypkg Name: python -%{pypi_name} Version: 2.4.25.1 Release: 1%{?dist}

    License: Python URL: https://github.com /%{pypi_name}/%{pypi_name} Source0: https://pypi.python .org/packages/source/p/%{ pypi_name}/%{pypi_name}-%{version }.tar.gz
  5. %if 0%{?rhel} && 0%{?rhel} <= 6 %{!?__python2: %global \ __python2

    /usr/bin/python2} %{!?python2_sitelib: %global \ python2_sitelib %(%{__python2} -c %endif %if 0%{?fedora} > 12 || 0%{?rhel} > %global with_python3 1 %global __python3 python3 %endif
  6. We can use pyp2rpm to... Auto-build all of PyPI in

    COPR! Why? - Test pyp2rpm - Run upstream tests
  7. We can use pyp2rpm to... Auto-build all of PyPI in

    COPR! Why? - Test pyp2rpm - Run upstream tests - Provide a repository
  8. “PyPI” name Fedora pkg pyopencl python3-pyopencl mypy-lang python3-mypy $ dnf

    repoquery --provides python3 -pyopencl ... python3.5dist(pyopencl) = 2015.2 ...
  9. “PyPI” name Fedora pkg pyopencl python3-pyopencl mypy-lang python3-mypy $ dnf

    repoquery --provides python3 -pyopencl ... python3.5dist(pyopencl) = 2015.2 ... Live in Fedora 25!
  10. Python stdlib by disk size test asyncio email tkinter encodings

    distutils unittest pydoc_data ensurepip ctypes lib2to3 idlelib individual modules
  11. System Python libs /usr/libexec/system-python /usr/lib/python3.5/ lib2to3 unittest venv ensurepip pydoc

    encodings sqlite3 collections logging distutils html test tkinter turtledemo idlelib system-python-libs python3-libs python3-test python3-tkinter python3 system-python /usr/bin/python3
  12. Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09

    Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20
  13. Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09

    Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20 Python 3.6 RC 1 2016-12-05 Fedora 25 Final Freeze 2016-10-25
  14. Python 3.6 Alpha 1 2016-05-17 Fedora 25 Alpha Freeze 2016-08-09

    Python 3.6 Beta 1 2016-09-12 Fedora 25 Beta Freeze 2016-09-20 Python 3.6 RC 1 2016-12-05 Fedora 25 Final Freeze 2016-10-25 Python 3.6 Final 2016-12-16 Fedora 26 Branches 2016-12-???