[Fuego] Support for Debian Bullseye

<[email protected]> Thu, 19 Aug 2021 07:33:10 +0000
Newsgroups dev.linux.lists.fuego
Message-ID <TYYPR01MB6729D60954AF16C8AF08CF49D0C09@TYYPR01MB6729.jpnprd01.prod.outlook.com>
Hello Tim,

We recently added support for Debian buster in Fuego. 
However, as you may already know Debian bullseye was recently released.

The new version does not support most of the Python 2x packages that Fuego relies on. 
Not even python-pip.

I think it is time to upgrade Fuego's python scripts to work on Python 3.x (in particular Bullseye python 3.9).
However, I am afraid that we might break compatibility with older distributions. Regarding that,
I considered these two options:
1) Port the python scripts and Dockerfile dependencies to use Python 3.x, and then see if a distribution fails
2) Focus only on Bullseye and leave the previous distributions working with Python 2.x

I think that the python3 libraries required by Fuego are available on all distros from Jessie to the latest. However,
those libraries usually change behavior (we saw it in the case of python-openpyxl). Also, testing all the previous versions
extensively would be too difficult and time consuming.

For that reason, I would like to propose that we go for the 2nd option.

In that case, we need to decide what we do to for example support Buster and Bullseye at the same time. These are some
options I considered
1) Detect the default python version on each script and then apply IF-ELSE when required.
2) Create two versions of each python script (eg. ftc2.py and ftc3.py) and then use a link depending on which one we use

Each option has advantages and disadvantages so it is hard to choose. Option 2 will make maintainance quite hard.
Option 1 would be good if the differences are small, but if there are too many differences it might be too much.

What do you think?

Thanks,
Daniel