Project

General

Profile

Task #5095

Switch build system to python3 only

Added by Davide Pesavento 12 months ago. Updated 11 months ago.

Status:
Closed
Priority:
Normal
Category:
Build
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:

Description

Python 2 reached its EOL on Jan 1, 2020

macOS 10.15 deprecated python and python2, urging users to switch to python3 (3.7.3 at the moment). It is very likely that macOS 10.16 will not include python 2 anymore. Homebrew does not offer a python 2 formula anymore.
Ubuntu 18.04 comes with python 3.6 only in the default install. 2.7 is still available in the official repo, but it's an additional package that we're requiring users to install.
CentOS 8 similarly does not provide python 2 by default, and goes a step further by not providing a /usr/bin/python symlink even if python 2 is installed by the user. Other RHEL-derived distros are presumably following the same approach.
Fedora uses python 3 as default since version 23, and has recently switched /usr/bin/python to point to python 3 with the Fedora 31 release.
Debian is working on removing python 2 support.
On Arch Linux, python 3 has been the default for several years.
Gentoo has a configurable /usr/bin/python symlink, pointing to python 3 by default.

It's time to switch our build system (waf) to require python 3. Initially the minimum required version should be 3.5 in order to support Ubuntu 16.04; after #5087, the requirement can be raised to >=3.6.


Related issues

Blocks NFD - Task #5040: Deploy CentOS 8 Jenkins agentsClosedDavide Pesavento

Actions
#1

Updated by Davide Pesavento 12 months ago

  • Blocks Task #5040: Deploy CentOS 8 Jenkins agents added
#2

Updated by Davide Pesavento 12 months ago

  • Description updated (diff)
#3

Updated by Davide Pesavento 12 months ago

  • Description updated (diff)
#4

Updated by Eric Newberry 12 months ago

What is the version of Python 3 provided by CentOS 8? Is it >= 3.5? I know they tend to have older versions than Ubuntu uses.

#5

Updated by Davide Pesavento 12 months ago

Eric Newberry wrote:

What is the version of Python 3 provided by CentOS 8? Is it >= 3.5?

It has 3.6.x if I remember correctly, but in any case it's not older than what ubuntu 16.04 provides, otherwise I wouldn't have suggested 3.5 as minimum version.

#6

Updated by Eric Newberry 12 months ago

Davide Pesavento wrote:

Eric Newberry wrote:

What is the version of Python 3 provided by CentOS 8? Is it >= 3.5?

It has 3.6.x if I remember correctly, but in any case it's not older than what ubuntu 16.04 provides, otherwise I wouldn't have suggested 3.5 as minimum version.

Ok cool, just wanted to make sure since it wasn't mentioned above. :-)

#7

Updated by Davide Pesavento 12 months ago

  • % Done changed from 0 to 20
#8

Updated by Davide Pesavento 11 months ago

  • % Done changed from 20 to 30
#9

Updated by Davide Pesavento 11 months ago

  • % Done changed from 30 to 50
#10

Updated by Davide Pesavento 11 months ago

  • Status changed from In Progress to Closed
  • % Done changed from 50 to 100

Also available in: Atom PDF