Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1927132

Summary: python-language-server fails to build with Python 3.10: AssertionError
Product: [Fedora] Fedora Reporter: Tomáš Hrnčiar <thrnciar>
Component: python-language-serverAssignee: Mukundan Ragavan <nonamedotc>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 36CC: code, lbalhar, mhroncok, nonamedotc, python-sig, thrnciar, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-language-server-0.36.2-5.fc35 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-04-26 05:51:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1951475    
Bug Blocks: 2117176, 2168842, 1890881, 1927309, 1969089, 1969090, 1992484, 2045102    

Description Tomáš Hrnčiar 2021-02-10 07:12:35 UTC
python-language-server fails to build with Python 3.10.0a5.

=================================== FAILURES ===================================
__________________________ test_syntax_error_pyflakes __________________________

workspace = <pyls.workspace.Workspace object at 0x7ff628741640>

    def test_syntax_error_pyflakes(workspace):
        doc = Document(DOC_URI, workspace, DOC_SYNTAX_ERR)
        diag = pyflakes_lint.pyls_lint(doc)[0]
    
>       assert diag['message'] == 'invalid syntax'
E       assert "expected ':'" == 'invalid syntax'
E         - invalid syntax
E         + expected ':'

test/plugins/test_pyflakes_lint.py:43: AssertionError

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.10/fedora-rawhide-x86_64/01955432-python-language-server/

For all our attempts to build python-language-server with Python 3.10, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/package/python-language-server/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.10:
https://copr.fedorainfracloud.org/coprs/g/python/python3.10/

Let us know here if you have any questions.

Python 3.10 will be included in Fedora 35. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.10.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Lumír Balhar 2021-02-22 08:16:45 UTC
Just a note that a few people weren't happy with the progress of the upstream development and created two new forks:

* https://github.com/python-ls/python-ls
* https://github.com/python-ls/python-ls-jsonrpc

Comment 2 Mukundan Ragavan 2021-02-22 11:15:18 UTC
Splendid!

Looks like the new fork is going to be maintained by Spyder team. I will switch the fedora packages to the fork.

Comment 3 Mukundan Ragavan 2021-02-23 01:08:40 UTC
Does the new fork have fixes for pyls FTBFS?

Comment 4 Lumír Balhar 2021-02-23 07:10:24 UTC
So far, there is only a few commits bringing compatibility with the latest jedi. It also seems that the fork will use a different name. We might need to package the new packages and wait until all upstream projects switch. In the meantime, fixes from the new project should be applicable downstream for the old one as well.

Comment 5 Miro Hrončok 2021-06-04 20:14:58 UTC
This is a mass-posted update. Sorry if it is not 100% accurate to this bugzilla.


The Python 3.10 rebuild is in progress in a Koji side tag. If you manage to fix the problem, please commit the fix in the rawhide branch, but don't build the package in regular rawhide.

You can either build the package in the side tag, with:

    $ fedpkg build --target=f35-python

Or you can the build and we will eventually build it for you.

Note that the rebuild is still in progress, so not all (build) dependencies of this package might be available right away.

Thanks.

See also https://fedoraproject.org/wiki/Changes/Python3.10

If you have general questions about the rebuild, please use this mailing list thread: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/G47SGOYIQLRDTWGOSLSWERZSSHXDEDH5/

Comment 6 Miro Hrončok 2021-06-07 22:59:29 UTC
The f35-python side tag has been merged to Rawhide. From now on, build as you would normally build.

Comment 7 Miro Hrončok 2021-06-08 11:26:46 UTC
*** Bug 1969015 has been marked as a duplicate of this bug. ***

Comment 8 Mukundan Ragavan 2021-06-08 13:07:45 UTC
@lbalhar

Looks like the new upstream has a release v1.0.1


Good time to switch?

Comment 9 Mukundan Ragavan 2021-06-10 02:19:17 UTC
I need to hang on to this version until spyder is ported over.

https://github.com/spyder-ide/spyder/blob/v5.0.3/spyder/dependencies.py

PYLS_REQVER = '>=0.36.2;<1.0.0'

Comment 10 Lumír Balhar 2021-06-10 08:07:37 UTC
There is a PR for that upstream: https://github.com/spyder-ide/spyder/pull/15657

Comment 11 Lumír Balhar 2021-06-16 05:32:10 UTC
The PR in the Spyder project is merged. All we need now is a new release.

Comment 12 Mukundan Ragavan 2021-06-17 22:03:37 UTC
and package the new pyls. I will try to do that this weekend.

Comment 13 Zbigniew Jędrzejewski-Szmek 2021-06-18 13:39:45 UTC
Unfortunately this now blocks the compose of Scientific_KDE: https://pagure.io/releng/failed-composes/issue/2573#comment-739206.
I'll build the package with the one failing test deselected. I'll leave the bug
open for the proper fix.

Comment 14 Miro Hrončok 2021-06-18 13:42:22 UTC
Please unblock F35FailsToInstall when you build to avoid automated closing.

Comment 15 Mukundan Ragavan 2021-07-03 01:27:22 UTC
On a related note, updating to spyder 5 is going to be a mess.



Problem: cannot install the best update candidate for package python3-spyder-4.2.5-1.fc34.noarch
  - nothing provides (python3.9dist(python-language-server[all]) < 1 with python3.9dist(python-language-server[all]) >= 0.36.2) needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(parso) = 0.7 needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(pyqt5) < 5.13 needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(pyqtwebengine) < 5.13 needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(qdarkstyle) = 3.0.2 needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(rtree) >= 0.9.7 needed by python3-spyder-5.0.5-1.fc34.noarch
  - nothing provides python3.9dist(watchdog) >= 0.10.3 needed by python3-spyder-5.0.5-1.fc34.noarch




:(

Comment 16 Ben Cotton 2021-08-10 12:51:07 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 35 development cycle.
Changing version to 35.

Comment 17 Lumír Balhar 2021-11-19 17:03:23 UTC
It seems it builds fine in Koschei now but there is no new build in rawhide for quite some time: https://koschei.fedoraproject.org/package/python-language-server

Comment 18 Mukundan Ragavan 2021-11-23 00:21:29 UTC
Hmmm ... this should be gone.

Should be replaced by - https://src.fedoraproject.org/rpms/python-lsp-server


I can retire this package.

Comment 19 Lumír Balhar 2021-11-29 08:10:01 UTC
There are still some dependant packages:

dnf repoquery --repo=rawhide{,-source} --whatrequires python3-language-server
python3-pyls-spyder-0:0.4.0-1.fc36.noarch
python3-pyls_black-0:0.4.7-2.fc35.noarch

pyls-spyder has been updated upstream but in Fedora, it still depends on the language-server: https://src.fedoraproject.org/rpms/python-pyls-spyder/blob/rawhide/f/python-pyls-spyder.spec#_24 The line can be removed.

python3-pyls_black has an issue and PR upstream: https://github.com/rupert/pyls-black/pull/37

With that in mind, I think it's fine to break python3-language-server's dependencies - it will be removed soon anyway - so I'm gonna update jedi to the latest upstream version.

Comment 20 Mukundan Ragavan 2022-01-13 22:44:40 UTC
Anything for me to do here? Sorry, I lost track.

Comment 21 Lumír Balhar 2022-01-14 09:40:24 UTC
If you wanna get rid of this package, there are still the two dependant packages:

dnf repoquery --repo=rawhide{,-source} --whatrequires python3-language-server
python3-pyls-spyder-0:0.4.0-1.fc36.noarch
python3-pyls_black-0:0.4.7-2.fc35.noarch

You maintain both so it's up to you whether you'll invest your energy to switch them to the new package or you'll maintain the old language-server even it's abandoned upstream.

According to Koschei, it does not build in rawhide now: https://koschei.fedoraproject.org/package/python-language-server?collection=f36

Comment 22 Mukundan Ragavan 2022-01-15 15:00:51 UTC
(In reply to Lumír Balhar from comment #21)
> If you wanna get rid of this package, there are still the two dependant
> packages:
> 
> dnf repoquery --repo=rawhide{,-source} --whatrequires python3-language-server
> python3-pyls-spyder-0:0.4.0-1.fc36.noarch

0.4.0 should use lsp instead of language server. I will fix this.

> python3-pyls_black-0:0.4.7-2.fc35.noarch
> 

I think I will retire this. 

Upstream uses python3-lsp-black


Overall, I think I will retire python-language-server and its dependent packages.

Comment 23 Ben Cotton 2022-11-29 16:51:51 UTC
This message is a reminder that Fedora Linux 35 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 35 on 2022-12-13.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '35'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 35 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 24 Lumír Balhar 2022-11-29 19:26:53 UTC
According to Koschei, this still fails to build in rawhide.

Comment 25 Ben Beasley 2022-11-29 20:50:31 UTC
(In reply to Lumír Balhar from comment #24)
> According to Koschei, this still fails to build in rawhide.

The package was retired in F37 and later. See https://bugzilla.redhat.com/show_bug.cgi?id=1927132#c18. However, it does FTBFS in F36, so I'll adjust the version to that.

Comment 26 Ben Cotton 2023-04-25 18:22:26 UTC
This message is a reminder that Fedora Linux 36 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 36 on 2023-05-16.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '36'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 36 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 27 Lumír Balhar 2023-04-26 05:51:41 UTC
This package is retired in F37 and newer and I guess nobody will fix the problem in F36 so I'm closing the bug now.