Hi all, I managed to create a working package for python-lsp-server using the upstream version 1.13.2 and I'd like to check if everything looks good.
According to [1] the next steps would be: $ git push origin : --tags but I'm not sure I should do that before any of the maintainers have a look at what I did. Attached to this email you can find the patches that apply on top of the tag upstream/1.13.2 (created with gbp import-orig --uscan) in case anyone wants to check. There's one last thing I want to do: to build this package on a newly install of sid (to make sure all the build deps are on debian/control). Thank you for the support many of you gave me so far :) 1 - https://wiki.debian.org/Python/GitPackaging
From 234ff7bf190fe567f91135cb91b9bd6b085635a2 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:15:39 -0300 Subject: [PATCH 7/7] Update changelog for 1.13.2-1 release --- debian/changelog | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/debian/changelog b/debian/changelog index 2c2b643..2e59a90 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +python-lsp-server (1.13.2-1) UNRELEASED; urgency=medium + + * New upstream version 1.13.2 + * Rediff patches + * Fix test to work with jedi < 0.19.2 + * Skip test that hangs + * Add black as a build dependency + * Update to pyqt6 + * Add python3-websockets as build dependency + + -- Aeliton Silva <[email protected]> Fri, 21 Nov 2025 05:15:30 -0300 + python-lsp-server (1.12.0-3) unstable; urgency=medium * Increase test timeout -- 2.51.0
From 9dabd3961d8e2383cfdbb58620fa41e2dc0ea0d4 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:14:56 -0300 Subject: [PATCH 6/7] Add python3-websockets as build dependency --- debian/control | 1 + 1 file changed, 1 insertion(+) diff --git a/debian/control b/debian/control index 9d9d026..e18920f 100644 --- a/debian/control +++ b/debian/control @@ -28,6 +28,7 @@ Build-Depends: black, python3-setuptools, python3-setuptools-scm, python3-ujson, + python3-websockets, python3-whatthepatch (>= 1.0.2) <!nocheck>, python3-yapf <!nocheck> Standards-Version: 4.7.0 -- 2.51.0
From a2b09991e6f61dfd0e47f2a48ed7fdd8224e1bf1 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:14:41 -0300 Subject: [PATCH 5/7] Update to pyqt6 --- debian/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debian/control b/debian/control index e012904..9d9d026 100644 --- a/debian/control +++ b/debian/control @@ -22,7 +22,7 @@ Build-Depends: black, python3-pluggy (>= 1.0.0), python3-pydocstyle (>= 6.3.0) <!nocheck>, python3-pylsp-jsonrpc, - python3-pyqt5 <!nocheck>, + python3-pyqt6 <!nocheck>, python3-pytest <!nocheck>, python3-rope <!nocheck>, python3-setuptools, -- 2.51.0
From acbc33166e43dae829175d1ddd54bc6cc831be67 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:14:11 -0300 Subject: [PATCH 4/7] Add black as a build dependency --- debian/control | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/debian/control b/debian/control index b052494..e012904 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,8 @@ Maintainer: Debian Python Team <[email protected]> Uploaders: Pablo Mestre Drake <[email protected]>, Julian Gilbey <[email protected]>, Jochen Sprickerhof <[email protected]> -Build-Depends: debhelper-compat (= 13), +Build-Depends: black, + debhelper-compat (= 13), dh-sequence-python3, flake8 <!nocheck>, pybuild-plugin-pyproject, -- 2.51.0
From bdc87285ab9a12b6e06d858de93e287aadc09cde Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:12:09 -0300 Subject: [PATCH 3/7] Skip test that hangs --- .../0004-Disable-test-that-hangs.patch | 21 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 22 insertions(+) create mode 100644 debian/patches/0004-Disable-test-that-hangs.patch diff --git a/debian/patches/0004-Disable-test-that-hangs.patch b/debian/patches/0004-Disable-test-that-hangs.patch new file mode 100644 index 0000000..d2b417d --- /dev/null +++ b/debian/patches/0004-Disable-test-that-hangs.patch @@ -0,0 +1,21 @@ +From: Aeliton Silva <[email protected]> +Date: Fri, 21 Nov 2025 03:32:11 -0300 +Subject: Disable test that hangs + +--- + test/test_language_server.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/test_language_server.py b/test/test_language_server.py +index 9b36211..2b41ba9 100644 +--- a/test/test_language_server.py ++++ b/test/test_language_server.py +@@ -77,7 +77,7 @@ def test_not_exit_without_check_parent_process_flag( + + + @flaky(max_runs=10, min_passes=1) [email protected](RUNNING_IN_CI, reason="This test is hanging on CI") [email protected](reason="This test is hanging on CI") + def test_missing_message(client_server_pair) -> None: + client, _ = client_server_pair + with pytest.raises(JsonRpcMethodNotFound): diff --git a/debian/patches/series b/debian/patches/series index 966f9c3..8b290af 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ 0002-Disable-coverage-report.patch 0002-Increase-test-timeout.patch 0003-Fix-test-to-work-with-jedi-0.19.1.patch +0004-Disable-test-that-hangs.patch -- 2.51.0
From d45cee16505ca14245fcfc56ee4b3a22d6ccfe37 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:11:25 -0300 Subject: [PATCH 2/7] Fix test to work with jedi < 0.19.2 --- ...03-Fix-test-to-work-with-jedi-0.19.1.patch | 26 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 27 insertions(+) create mode 100644 debian/patches/0003-Fix-test-to-work-with-jedi-0.19.1.patch diff --git a/debian/patches/0003-Fix-test-to-work-with-jedi-0.19.1.patch b/debian/patches/0003-Fix-test-to-work-with-jedi-0.19.1.patch new file mode 100644 index 0000000..1545f87 --- /dev/null +++ b/debian/patches/0003-Fix-test-to-work-with-jedi-0.19.1.patch @@ -0,0 +1,26 @@ +From: Aeliton Silva <[email protected]> +Date: Fri, 21 Nov 2025 01:34:55 -0300 +Subject: Fix test to work with jedi 0.19.1 + +The change to jedi 0.19.2 sorts the completion list [1]. + +The current jedi version in sid is 0.19.1. + +1. https://github.com/python-lsp/python-lsp-server/pull/609 +--- + test/plugins/test_completion.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/plugins/test_completion.py b/test/plugins/test_completion.py +index 015d0c4..ae5021f 100644 +--- a/test/plugins/test_completion.py ++++ b/test/plugins/test_completion.py +@@ -181,7 +181,7 @@ def test_jedi_completion_with_fuzzy_enabled(config, workspace) -> None: + + assert items + +- expected = "isabs(s)" ++ expected = "commonprefix(m)" if JEDI_VERSION < "0.19.2" else "isabs(s)" + assert items[0]["label"] == expected + + # Test we don't throw with big character diff --git a/debian/patches/series b/debian/patches/series index 583ee73..966f9c3 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,3 @@ 0002-Disable-coverage-report.patch 0002-Increase-test-timeout.patch +0003-Fix-test-to-work-with-jedi-0.19.1.patch -- 2.51.0
From 026779c3fb436f4a1583c01feea48af479026620 Mon Sep 17 00:00:00 2001 From: Aeliton Silva <[email protected]> Date: Fri, 21 Nov 2025 05:10:59 -0300 Subject: [PATCH 1/7] Rediff patches --- debian/patches/0002-Disable-coverage-report.patch | 4 ++-- debian/patches/0002-Increase-test-timeout.patch | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/patches/0002-Disable-coverage-report.patch b/debian/patches/0002-Disable-coverage-report.patch index 34dad47..f3e6030 100644 --- a/debian/patches/0002-Disable-coverage-report.patch +++ b/debian/patches/0002-Disable-coverage-report.patch @@ -7,10 +7,10 @@ Subject: Disable coverage report 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml -index f9c6a52..7573d3e 100644 +index 0be4035..96ab95a 100644 --- a/pyproject.toml +++ b/pyproject.toml -@@ -180,7 +180,6 @@ write_to_template = "__version__ = \"{version}\"\n" # VERSION_INFO is populated +@@ -183,7 +183,6 @@ write_to_template = "__version__ = \"{version}\"\n" # VERSION_INFO is populated [tool.pytest.ini_options] testpaths = ["test"] diff --git a/debian/patches/0002-Increase-test-timeout.patch b/debian/patches/0002-Increase-test-timeout.patch index bee8306..20626cf 100644 --- a/debian/patches/0002-Increase-test-timeout.patch +++ b/debian/patches/0002-Increase-test-timeout.patch @@ -8,7 +8,7 @@ Was failing on arm64 and i386 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_utils.py b/test/test_utils.py -index 07d04e3..4983d29 100644 +index 7ed6214..1d8b25e 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -16,7 +16,7 @@ from pylsp import _utils @@ -19,4 +19,4 @@ index 07d04e3..4983d29 100644 +CALL_TIMEOUT_IN_SECONDS = 60 - def send_notebook_did_open(client, cells: List[str]) -> None: + def send_notebook_did_open(client, cells: list[str]) -> None: -- 2.51.0

