From 7e7d25fe105fc9a38e14befedbf2240ba5f9e20f4dd8587f8f0a518ab5b4879f Mon Sep 17 00:00:00 2001 From: Matej Cepl Date: Thu, 26 Sep 2024 12:09:55 +0000 Subject: [PATCH] - Drop unneeded Django test dependency - Skip one failing test on aarch64 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-debugpy?expand=0&rev=37 --- .gitattributes | 23 +++++++ .gitignore | 1 + _multibuild | 3 + debugpy-1.8.2.tar.gz | 3 + python-debugpy.changes | 145 ++++++++++++++++++++++++++++++++++++++++ python-debugpy.spec | 147 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 322 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _multibuild create mode 100644 debugpy-1.8.2.tar.gz create mode 100644 python-debugpy.changes create mode 100644 python-debugpy.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..fcc7b97 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + test + diff --git a/debugpy-1.8.2.tar.gz b/debugpy-1.8.2.tar.gz new file mode 100644 index 0000000..34cc50e --- /dev/null +++ b/debugpy-1.8.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c68cb35f01b943f929ba526af797ba96cff8925bc48dc89b3e2a45b9a782d282 +size 6892384 diff --git a/python-debugpy.changes b/python-debugpy.changes new file mode 100644 index 0000000..cc76ed2 --- /dev/null +++ b/python-debugpy.changes @@ -0,0 +1,145 @@ +------------------------------------------------------------------- +Thu Sep 26 10:32:41 UTC 2024 - Markéta Machová + +- Drop unneeded Django test dependency +- Skip one failing test on aarch64 + +------------------------------------------------------------------- +Sat Jun 29 19:34:29 UTC 2024 - Dirk Müller + +- update to 1.8.2: + * Fixed an issue where ApiScan couldn't scan some of our + binaries correctly. This involved changing some linker flags + and re-compiling/re-linking some of the pydevd executables + and dlls. + +------------------------------------------------------------------- +Thu Mar 28 12:55:24 UTC 2024 - ecsos + +- Fix build error in Leap. + +------------------------------------------------------------------- +Thu Feb 15 16:18:57 UTC 2024 - Daniel Garcia + +- Skip attach_pid tests that fails in OBS run environment bsc#1219921 + +------------------------------------------------------------------- +Wed Feb 14 11:05:55 UTC 2024 - Daniel Garcia + +- Update to 1.8.1: + - Python 3.12 is now fully supported. + - Fixes: + - Can no longer expand Numpy arrays to view elements #1408 + - Namedtuple are not rendered in the variable browser as expected #1477 + - Enhancements: + - Report sockets opened by debugpy #1337 + +------------------------------------------------------------------- +Mon Jan 29 12:57:18 UTC 2024 - Daniel Garcia + +- Disable broken tests in s390x, bsc#1217019 + +------------------------------------------------------------------- +Tue Dec 5 17:14:47 UTC 2023 - Dirk Müller + +- remove python 3.6 support as the version update to 1.8.0 dropped + it + +------------------------------------------------------------------- +Mon Nov 20 09:17:20 UTC 2023 - Daniel Garcia + +- Increase timeouts for tests, bsc#1217019 + +------------------------------------------------------------------- +Fri Nov 17 17:44:21 UTC 2023 - Matej Cepl + +- Update to 1.8.0: + - Error while enumerating installed packages. + - Drops Python 3.7 support. Please use debugpy v1.7.0 if you + need to debug Python 3.7. + - Remove DeprecationWarning: Deprecated call to + pkg_resources.declare_namespace('pydevd_plugins.extensions') + - Fix invalid file hashes in RECORD of wheels + - Support "restart" in "terminated" event for "attach"{"listen"} + - Use "startDebugging" request for subprocesses +- Remove upstreamed patch setuptools-67.3.0.patch +- Skip test test_attach_pid_client (gh#microsoft/debugpy#1462) + +------------------------------------------------------------------- +Fri May 19 09:32:55 UTC 2023 - Jiri Srain + +- refresh the tarball from upstream + +------------------------------------------------------------------- +Thu Mar 16 10:39:58 UTC 2023 - Daniel Garcia + +- Add setuptools-67.3.0.patch to fix test issues with new setuptools. + gh#microsoft/debugpy#1230 + +------------------------------------------------------------------- +Thu Feb 2 12:58:38 UTC 2023 - Dirk Müller + +- skip more tests for python 3.11 + +------------------------------------------------------------------- +Mon Jan 23 20:39:40 UTC 2023 - Dirk Müller + +- update to v1.6.6: + * Disable optimization causing issues when debugging Python 3.10 and 3.11. + +------------------------------------------------------------------- +Fri Jan 20 10:26:11 UTC 2023 - Dirk Müller + +- update to v1.6.5: + * Fixes: #1078, #1129, #1138, #1142, #1146, #1148, #1154 + +------------------------------------------------------------------- +Thu Dec 1 11:18:40 UTC 2022 - Daniel Garcia + +- Update to version 1.6.4 + Fixes: #985, #1003, #1005, #1018, #1024, #1025, #1030, #1031, #1042, #1064, + #1081, #1100, #1104, #1111, #1126 + Improvements: #532, #989, #1022, #1056, #1099 + +------------------------------------------------------------------- +Wed Oct 12 03:02:27 UTC 2022 - Yogalakshmi Arunachalam + +- Update to version 1.6.3 + Fixes: #869, #973, #987, #995, #1008 + Improvements: #951, #1001 + +------------------------------------------------------------------- +Mon Dec 20 23:00:44 UTC 2021 - Ben Greiner + +- Update to 1.5.1 + * no release notes other than a bunch of github PR and issue + numbers: https://github.com/microsoft/debugpy/releases + * Python 3.10 is now fully supported +- Drop pydevd-openSUSE-attach-autoarch.patch, upstream changed + architecture support logic +- Drop correct-pthread-library-name.patch merged upstream +- Remove performance tweak not compatible with older gdb + * gh#microsoft/debugpy#762 + +------------------------------------------------------------------- +Thu Sep 2 09:01:19 UTC 2021 - Steve Kowalik + +- Add correct-pthread-library-name.patch: + * Look for the correct pthread library. + +------------------------------------------------------------------- +Tue Jun 29 13:04:38 UTC 2021 - Ben Greiner + +- Update to 1.3.0 + * no release notes. +- new requirement for ipykernel 6 +- enable testsuite (multibuild) +- defer debundling pydevd +- add pydevd-openSUSE-attach-autoarch.patch for support of + non-intel architectures when injecting the debug library +- skip python36 in order to save resources + +------------------------------------------------------------------- +Fri Dec 4 14:41:13 UTC 2020 - Matej Cepl + +- Initial packaging of debugpy 1.2.0 diff --git a/python-debugpy.spec b/python-debugpy.spec new file mode 100644 index 0000000..8cfe975 --- /dev/null +++ b/python-debugpy.spec @@ -0,0 +1,147 @@ +# +# spec file for package python-debugpy +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global flavor @BUILD_FLAVOR@%{nil} +%if "%{flavor}" == "test" +# multibuild: some tests fail to find modules in a custom PYTHONPATH, test installed instead +%define psuffix -test +%bcond_without test +%else +%define psuffix %{nil} +%bcond_with test +%endif +%{?sle15_python_module_pythons} +Name: python-debugpy%{psuffix} +Version: 1.8.2 +Release: 0 +Summary: An implementation of the Debug Adapter Protocol for Python +License: MIT +URL: https://github.com/microsoft/debugpy/ +Source: https://github.com/microsoft/debugpy/archive/v%{version}.tar.gz#/debugpy-%{version}.tar.gz +BuildRequires: %{python_module Cython} +BuildRequires: %{python_module devel >= 3.8} +BuildRequires: %{python_module setuptools} +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: python-rpm-macros +%if %{with test} +BuildRequires: %{python_module Flask} +BuildRequires: %{python_module debugpy = %{version}} +BuildRequires: %{python_module gevent} +BuildRequires: %{python_module greenlet} +BuildRequires: %{python_module psutil} +BuildRequires: %{python_module pytest-timeout} +BuildRequires: %{python_module pytest-xdist} +BuildRequires: %{python_module pytest} +BuildRequires: %{python_module requests} +BuildRequires: gdb +%endif +%python_subpackages + +%description +debugpy is an implementation of the Debug Adapter Protocol for Python. + +%prep +%autosetup -p1 -n debugpy-%{version} + +# don't remove vendored pydevd: upstream's intention is to always bundle it. Development happens in debugpy anyway + +# remove precompiled libs +rm src/debugpy/_vendored/pydevd/pydevd_attach_to_process/*.{so,dll,dylib,exe,pdb} +# remove script interpreter lines +sed -i '1 {/^#!/ d}' \ + src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/*/*.py +# remove gitignore file +find src/debugpy/_vendored/pydevd/ -name .gitignore -delete +# remove a performance tweak not compatible with older gdb: https://github.com/microsoft/debugpy/issues/762 +sed -i '/set auto-solib-add off/d' src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py + +%build +%if ! %{with test} +export CFLAGS='%{optflags}' +cp -r src/debugpy/_vendored src/debugpy/_vendored_clean +%{python_expand # cythonize and the attach library are compile in-place +# TODO: find out how to do it not-in-place +rm -r src/debugpy/_vendored +cp -r src/debugpy/_vendored_clean src/debugpy/_vendored +pushd src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/ +# see /src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py::get_target_filename +%{python_expand pyarch=$($python -c 'import platform; print(platform.machine())')} +g++ %{optflags} -shared -o ../attach_${pyarch}.so -fPIC -nostartfiles attach.cpp +# if on intel architectures, use the default upstream names +%ifarch x86_64 +mv ../attach_${pyarch}.so ../attach_linux_amd64.so +%endif +%ifarch %ix86 +mv ../attach_${pyarch}.so ../attach_linux_x86.so +%endif +popd +%{$python_build} +} +%endif + +%install +%if !%{with test} +# Dont compile pydevd again +export SKIP_CYTHON_BUILD=1 +%python_install +%{python_expand # remove source files +rm -r %{buildroot}%{$python_sitearch}/debugpy/_vendored/pydevd/pydevd_attach_to_process/{common,linux_and_mac,windows}/ +rm %{buildroot}%{$python_sitearch}/debugpy/_vendored/pydevd/_*/*.{c,h,pxd,pyx} +%fdupes %{buildroot}%{$python_sitearch} +} +%endif + +%if %{with test} +%check +export DEBUGPY_TEST=1 +export DEBUGPY_PROCESS_EXIT_TIMEOUT=30 +export DEBUGPY_PROCESS_SPAWN_TIMEOUT=90 +# extra flags are not added +donttest="test_custom_python_args" +# python 3.11 failures +donttest="$donttest or test_redirect_output or test_with_no_output or test_systemexit or test_exceptions_and_partial_exclude_rules or test_exception_stack or test_flask_template_exception_no_multiproc or test_flask_exception_no_multiproc or test_gevent" +rm -v tests/debugpy/test_exception.py tests/debugpy/test_django.py +# gh#microsoft/debugpy#1462 +donttest="$donttest or test_attach_pid_client" + +# Disable broken tests in s390x, bsc#1217019 +%ifarch s390x +sed -i "s/timeout=30/timeout=60/g" pytest.ini +donttest+=" or test_attach_api or test_reattach or test_break_api or test_set_variable or test_unicode or test_debugpySystemInfo or test_debug_this_thread or test_tracing" +%endif +# Attach-to-PID is not supported on ARM https://github.com/microsoft/debugpy/issues/1220 +%ifarch aarch64 +donttest+=" or test_reattach" +%endif + +# Do not have numpy dependency +donttest+=" or test_numpy" +# Skip all attach_pid tests, it fails in OBS enviroment bsc#1219921 +donttest+=" or attach_pid" + +%pytest_arch -k "not ($donttest)" +%endif + +%if ! %{with test} +%files %{python_files} +%{python_sitearch}/debugpy +%{python_sitearch}/debugpy-%{version}*-info +%endif + +%changelog