Introducing Python 3.5 nightly builds for Fedora

Miro Hrončok mhroncok at
Thu Jul 3 13:55:51 UTC 2014

Hi everybody, I'd like to introduce a new project of Slavek Kabrda and mine:

Copr repository with nightly builds of development version of Python 3.

How does it work?

Each night, at 00:01 CET/CEST, dgroc [1] is run and checks out if any of
the following upstream projects has some new commits in master/default

 * cpython
 * setuptools
 * pip
 * wheel

If so, it creates SRPM with code from that specific new commit and
builds it in the copr repository. Is is being built as a software
collection, not to break system python3 package (that being in critpath
once Python 3 will be the default).


This will let us know immediately when our patches of Python 3 package
are broken. We can react when that happens a we know exactly what commit
(or at lest what day) broke it. This will avoid a big "fix all the
patches" spree once Python 3.5 is stable and hits Fedora. The builds
also run the test suite, so we can see regressions when they happen and
we can communicate with Python upstream fast and flexible (again,
instead of a mass failure once Python 3.5 hits Fedora). It also let us
and you to test if your packages build and run with Python 3.5, so we
can avoid more confusion once Python 3.5... you see what I mean.

Other than the packaging reasons: Fedora might attract Python
enthusiasts and developers as it is most likely the only Linux distro
that has development version of Python packaged nightly. Developers and
powerusers can play with new features committed yesterday just by doing
`dnf update`.

How to use it

Ad the repository (with dnf copr plugin, or manually), and install
python35 package. That installs the software collection and you can use
it as any other software collection:

    $ scl enable python35 python


    $ scl enable python35 bash

You can also install packages from PyPI:

    # scl enable python35 bash
    # pip install ipython

How to (test)build my package against Python 3.5

If you want to build your package against Python 3.5, you can do it in
the following way:

 1. Update the spec by adding SCL related macros, see [2][3]
 2. In mock or Copr, add the repository and add the following packages
to the chroot: scl-utils-build python35-build [4][5]
 3. Build and profit


Miro Hrončok
Phone: +420777974800
IRC: mhroncok

More information about the devel mailing list