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

Transcript

53 slides
  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-???

More Decks by Petr Viktorin

Other Decks in Technology