Bug 8254 - ThinLinc doesn't document and check for Python 3.4.4
Summary: ThinLinc doesn't document and check for Python 3.4.4
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Other (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.16.0
Assignee: Adam Halim
Keywords: frifl_tester, relnotes
Depends on:
Reported: 2023-11-10 16:31 CET by Samuel Mannehed
Modified: 2023-12-28 16:42 CET (History)
2 users (show)

See Also:
Acceptance Criteria:
MUST: * Update documentation to say Python 3.4.4 or newer is required * Check for version 3.4.4 or newer during installation SHOULD: * Update tests to check that we don't use anything older than 3.4.4


Description Samuel Mannehed cendio 2023-11-10 16:31:59 CET
From bug 7636 comment 16:

We use asyncio.ensure_future(), it was renamed from asyncio.async() in 3.4.4. That older name is no longer present in modern Python.

So, we no longer support Python 3.4.0 in practice, like we currently state in our requirements. SLES 12 seems to have Python 3.4.6, so we can probably get away with raising the requirement a bit, though.

Our requirements currently say:

> Python 3.4, or newer
Comment 2 Adam Halim cendio 2023-11-22 15:39:38 CET
>  * Update tests to check that we don't use anything older than 3.4.4
For the internal tests we run, we use vermin to check for Python compatibility. Unfortunately, vermin does not support checking patch/micro version (3.4.X), which means we won't be able to detect if we use code that requires at least Python 3.4.4. We currently only check for Python 3.4.
Comment 4 Adam Halim cendio 2023-11-22 16:13:36 CET
The installer has been updated and now checks that Python 3.4.4 or newer is installed on the system. I was unable to test this thoroughly, but reading through the documentation regarding Python versions [1, 2] I feel there shouldn't be any issues.

The issue I had was that I couldn't get any access to a system running Python 3 that was older than 3.4.4 (the oldest one I could get my hands on easily was SLES12 with Python 3.4.10). So to sanity check the change, I ran syscheck.sh once using Python 2.7.18 and once with Python 3.4.10, with expected results.

[1] https://docs.python.org/3/library/sys.html#sys.hexversion
[2] https://github.com/python/cpython/blob/main/Doc/c-api/apiabiversion.rst
Comment 5 Frida Flodin cendio 2023-11-24 13:50:42 CET
Tested this and everything looks good. I managed to test this by downloading and building Python 3.4.3 and 3.4.4 from https://www.python.org/downloads/

The ThinLinc installation will not start with /usr/bin/python3 pointing to my installed 3.4.3. But when I change the link to 3.4.4 the installation works. Did a quick test of the server and I could create a session, so everything seems to work fine with Python 3.4.4.

I did this on RHEL 9, had to install "Development Tools" for the Python build. 

Release notes looks good!

Note You need to log in before you can comment on or make changes to this bug.