Page MenuHomeSolus

Post Python 3.9 Rebuilds TODO
Closed, ResolvedPublic

Description

The following packages have not yet been rebuilt:

  • python-msm (deprecated)
  • python-msk (deprecated)
  • scons
  • mycroft-core (deprecated)
  • python-qscintilla
  • libreoffice
  • blender
  • mongodb
  • freeorion
  • veusz
  • pytorch
  • vtk
  • zbar
  • ledger
  • tensorflow
  • python-tensorflow-estimator
  • python-tensorflow-serving-api
  • graph-tool

The following packages need to have their testsuite re-enabled as they were rebuilt before python-pytest

  • python-setuptools-scm
  • python-atomicwrites
  • python-attrs
  • python-markupsafe
  • python-jinja
  • python-wheel
  • python-six
  • py
  • python-chardet
  • python-urllib3
  • python-setuptools-git
  • python-packaging

The following packages have been marked as problematic due to failing testsuite against python 3.9. These need to be investigated/updated and the testsuite re-enabled if possible.

  • python-urllib3
  • python-pytest-asyncio
  • python-pexpect
  • python-wrapt
  • python-bleach
  • python-incremental
  • python-future
  • python-gitdb2
  • python3-jedi
  • python-json-rpc-server
  • python-jupyter_core
  • python-tox
  • python-msm (deprecated)
  • python-parsedatetime
  • python-pyls-black (deprecated)
  • python-pyls-spyder
  • python-random2
  • python-tornado
  • python-terminado
  • python3-ipython
  • python-jupyter_client
  • python-language-server (deprecated)
  • gajim
  • mutagen

Investigate that since 3.8 most python3 applications that link to -lpython3 no longer need to unless they embed the python interpreter.
Packages that have Py_Finalize and Py_Initialize will need to link against -lpython3, otherwise not.
However, this leads to abi-wizard confusingly reading the correct symbols in abi_used_symbols but appending UNKNOWN instead of the python3 lib.

More reading:
https://bugs.python.org/issue36721
https://github.com/python/cpython/pull/12946
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/IAIUO5XU54FQM64TDXWF4YMHHWGQFNXT/#6ZJGJ4LHSCDBI4IYAREKXJFENOIVLUNO

The following packages use Py_Finalize and Py_Initialize but do not link to the lib when they should.

  • anki
  • hexchat
  • libsigrokdecode
  • tiled

python-importlib-metadata and python-importlib-resources are part of python 3.8+, we should remove python3 only dependencies on them if possible. Some packages may still explicitly search for these modules even though are they part of python itself.

  • flake8
  • pymarkups
  • python-helpdev
  • python-jsonschema
  • python-keyring - invalid, uses newer features from standalone module.
  • python-pluggy - invalid, python2
  • qutebrowser

Related Objects

Mentioned In
R3724:2838a13c7af7: Update to 0.5.3 & fix linking against python3
R3483:95b52f4ba374: Update python-tox to 3.24.1
R2499:03aaf5e76c32: Update py to 1.10.0 and enable tests
R3689:b32d6c3799eb: Update python-jupyter_client to 6.1.12
R3685:c5409a6865d3: Update python-jupyter_core to 4.7.1
R4186:ddd80522f61c: Update python-terminado to 0.11.0 and fix tests
D11692: Update python-tox to 3.24.1
D11687: Update py to 1.10.0 and enable tests
D11683: Update python-jupyter_client to 6.1.12
D11682: Update python-jupyter_core to 4.7.1
D11678: Update python-terminado to 0.11.0 and fix tests
R3708:5160d1210fe9: Update python-bleach to 4.0.0
R2683:b231d714644c: Update python-reportlab to 3.5.68
R3678:e1be120f6bcb: python-tornado: Update to 6.1.0 and drop python2
D11661: Update python-reportlab to 3.5.68
D11659: python-tornado: Update to 6.1.0 and drop python2
R2643:c5bf1898a507: python-pexpect: Fix build tests
R5095:19ad2e87bc95: python-pytest-asyncio: Fix build tests
D11655: python-pexpect: Fix build tests
D11653: python-pytest-asyncio: Fix build tests
D11652: Update python-bleach to 4.0.0
R3712:eabb2f1c8745: python3-ipython: Fix tests and add python-matplotlib-inline to rundeps
R5097:4e518adcd072: python-pyls-spyder: enable build tests
R3521:b3d6c04aae0c: python-parsedatetime: enable build tests
R3472:67771db7437d: python-future: Fix build tests
R3704:91a978c6e829: python-wrapt: fix build tests
R2121:9c8c4848a1b6: mutagen: enable tests
R865:a3a0cef9017f: gajim: Enable tests
D11630: python3-jedi: Downgrade to 0.17.2
D11629: python3-ipython: Fix tests and add python-matplotlib-inline to rundeps
D11626: python-pyls-spyder: enable build tests
D11625: python-parsedatetime: enable build tests
D11624: python-future: Fix build tests
D11623: python-wrapt: fix build tests
D11621: gajim: Enable tests
D11620: mutagen: enable tests
R3039:e5b5e52cef38: Update tiled to 1.7.2
D11616: Update tiled to 1.7.2
R4007:cf12bfb26cd5: python-incremental: Enable tests
D11615: python-incremental: Enable tests
R5059:e15ba46ff1e1: Enable tests for python-jsonrpc-server
R5085:b02eab5c8da8: python-random2: fix tests with python 3.9
D11614: python-random2: fix tests with python 3.9
D11613: Enable tests for python-jsonrpc-server
R2555:9648e736e65b: Enable build tests for python-attrs
D11611: Enable build tests for python-attrs
R1402:790b4bd9c646: hexchat: Fix linking against Python 3.9
Mentioned Here
T4276: Mycroft - Open source voice assistant
D11060: Update blender to 2.92
D11606: hexchat: Fix linking against Python 3.9

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes

FYI: Don't bother with tensorflow, I need to update libicu to 69.1 for Firefox 91 and tensorflow is a libicu rebuild.

Do want to raise the question whether or not we should deprecate mycroft-core and its associated dependencies (that have no other revdeps). It isn't being maintained by @clivejo and as far as I know never properly worked to begin with. Seeing as it was last touched (by @livingsilver94) clear back in 2019, no maintainer or integration in the two years spanning its inclusion isn't good.

@JoshStrobl additionally I tried to build it against py 3.9 and it needs an update to build it

Yea so at this point, unless there is opposition by @clivejo or @livingsilver94 and some commitment to get it updated, should be deprecated instead. I just don't see anyone else coming to the table to get it packaged, just seems like there is little to no incentive for its inclusion (not sure what the usecase would've been in the first place either :P)

W.r.t mycroft deprecation: It's also worth a look through T4276 to see if any other dangling python modules can be deprecated along with it apart from mycroft itself, python-msm and python-msk.

Following packages should be only used by mycroft

  • google-api-python-client
  • python-uritemplate
  • python-requests-futures
  • python-vlc
  • python-gtts
  • python-gtts-token
  • python-padatious
  • python-xxhash
  • python-speech-recognition
  • pyalsaaudio
  • python-adapt-parser
  • python-fann2
  • python-pyee
  • python-adapt-parser
  • python-msk
  • python-msm
  • python-padaos
  • python-petact
  • python-pocketsphinx
  • python-precise-runner
  • python-pulsectl
  • python-xmlrunner

Green light from me for the deprecation of Mycroft. I haven't been using it for a long time by now.

I tried building py with the tests re-enabled, but the tests fail. There are a few newer versions available, but then our patches fail to apply, and trying it without the patch also fails immediately. Looking at this PR, they simply say that it's not compatible with newer versions of pytest. Soo, not sure where we want to go from here.

It's okay we can disable the tests for now. Should probably also update since we're looking at it.

It's okay we can disable the tests for now. Should probably also update since we're looking at it.

Sounds good. I'll get on it. :)

Also as a note, the work done for py is also resulting in doing python-tox, and maybe virtualenv.

Yea so at this point, unless there is opposition by @clivejo or @livingsilver94 and some commitment to get it updated, should be deprecated instead. I just don't see anyone else coming to the table to get it packaged, just seems like there is little to no incentive for its inclusion (not sure what the usecase would've been in the first place either :P)

No objections here, I can't get it to work with tensorflow. I don't know if it just my specific hardware or tensorflow is broken.

Some poor bugger will need to rebuild graph-tool before Friday sync

joebonrichie lowered the priority of this task from Unbreak Now! to Normal.Aug 20 2021, 4:41 PM
joebonrichie updated the task description. (Show Details)

Just mycroft stuff to be deprecated and anki to be updated now, thanks to everyone who helped resolve any issues in this task! :)

I want to inform you that gtts dont' seams to work properly, I use it with foliate (https://github.com/johnfactotum/foliate/wiki) with the following script :
#!/bin/bash
gtts-cli -l $FOLIATE_TTS_LANG_LOWER --file /dev/stdin | play -t mp3 - &
trap 'kill $!; exit 0' INT
wait

but the same script work if I install gtts from source with pi

joebonrichie claimed this task.
joebonrichie updated the task description. (Show Details)