Debian Patches

Status for grpc/1.51.1-6

Patch Description Author Forwarded Bugs Origin Last update
unversion_sphinx.patch all Sphinx version build docs . Laszlo Boszormenyi (GCS) <gcs@debian.org> no debian 2022-11-21
no_embedded_abseil.patch don't statically link with abseil Use dynamic linking. Laszlo Boszormenyi (GCS) <gcs@debian.org> no 2022-11-13
link_external_abseil.patch link with external abseil It's not embedded in source. Laszlo Boszormenyi (GCS) <gcs@debian.org> no 2022-11-13
no-boringssl.patch no boringssl source As boringssl is not packaged, can't use it. Laszlo Boszormenyi (GCS) <gcs@debian.org> no 2022-11-13
no-opencensus.patch disable opencensus forced download, not seems to be used Just don't download it. Laszlo Boszormenyi (GCS) <gcs@debian.org> not-needed 2022-11-14
no-embed-libs.patch no
remove-missing-files-in-gemspec.patch no
no-make-in-extconf.patch no
use-system-grpc.patch no
fix-protoc-path.patch no
add_grpc_libdir.patch add local libdir to link with grpc d/rules set TOPDIR to installed library directory. Laszlo Boszormenyi (GCS) <gcs@debian.org> not-needed 2022-11-13
link_python_all_absl.patch link Python gRPC module with all needed Abseil libraries Add the needed libraries to link with. Laszlo Boszormenyi (GCS) <gcs@debian.org> no debian 2022-12-24
cython3-noexcept.patch [PATCH] [python] Cython 3 compatibility: declare functions noexcept. (#35995)

In Cython 3, cdef functions that really will not raise exceptions must be declared as `noexcept`. Fixed by this commit.

Update requirements to `cython >= 3.0` in requirements*.txt and setup.py.

Fixes issue #33918.

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #35995

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/35995 from badshah400:master b3277bac1585ddee88a170b0a95c260d909cce9c
Atri Bhattacharya <A.Bhattacharya@uliege.be> no 2024-04-02
python3.13-pyeval-initthreads.patch [PATCH] [Python] Do not call PyEval_InitThreads
Since Python 3.7, it’s called by Py_Initialize and doesn’t need to be called manually, so this removal has no effect.

Since Python 3.9, it does nothing, and in Python 3.13, it will be removed, which makes this change necessary.

References:

https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads

https://github.com/python/cpython/issues/105182
"Benjamin A. Beasley" <code@musicinmybrain.net> no 2023-11-02
cython3-deadlocks.patch [PATCH 1/3] [Cython AIO] Fix Aio tests time out issue (#37917)
### What's happening
Some of our asyncio tests began timing out following a Cython upgrade to 3.0. This issue occurs consistently across both our Bazel and setup.py test environments.

### Why the time out
After some investigation, we found that our code here:https://github.com/grpc/grpc/blob/4ffcdd4ab7976cac397fcff25b6f952d0b5c8168/src/python/grpcio/grpc/_cython/_cygrpc/aio/completion_queue.pyx.pxi#L115-L116

Was translated to this in Cython 0.29:
```
__pyx_f_7_cython_6cygrpc__unified_socket_write(__pyx_v_self->_write_fd);
```

And it changed to this in Cython 3.0:
```
__pyx_f_7_cython_6cygrpc__unified_socket_write(__pyx_v_self->_write_fd); if (unlikely(__Pyx_ErrOccurredWithGIL())) __PYX_ERR(7, 136, __pyx_L1_error)
```

Which indicates that this `nogil` function `_unified_socket_write` now requires GIL.

### What's new in Cython 3
* Cython 3 `cdef` functions with `void` return type will default to use `except *` as exception specification.
* If function have `void` return type and defined as `nogil`, Cython will always re-acquire the GIL after the function call to check if an exception has been raised.
* In some cases, this will cause a deadlock, especially if the function was called inside another `nogil` function.

### What's the fix
* This PR changes those functions to use `noexcept` as exception specification since we don't expect them to throw any exception, and this is also the suggested workarounds in Cython documentation: https://cython.readthedocs.io/en/latest/src/userguide/language_basics.html#error-return-values

### Test
* Tested locally by running `bazel test`, time our rate decreased from 5% to 0.3% in 3000 runs and 10s test time out.
<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #37917

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37917 from XuanWang-Amos:fix_cython_aio 063d27aee9192a26f36d16e6f056dcab1a48b9c9
Xuan Wang <xuanwn@google.com> no 2024-10-14
python3.13-pipes.patch [PATCH] Fix Python DeprecationWarning: 'pipes' (#34941)
Starting from Python 3.11, the pipes module produces this warning:


Turns out that in this repo the pipes module is only used for the
"quote" function which is turn directly taken from the shlex module [1].

The shlex module is not deprecated as of today and is already used in
other places in this repo. The function shlex.quote has been around
since the ancient Python 3.3.

[1] https://github.com/python/cpython/blob/3.11/Lib/pipes.py#L64-L66

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #34941

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/34941 from lepistone:deprecate-python-pipes 233c54c135542178703aa700a2dddadc895fedb0
Leonardo Pistone <lepistone@spotify.com> no 2023-12-07
gcc-14.patch [PATCH] [ruby] Fix compilation errors on clang 16 (#34481)
As announced in https://discourse.llvm.org/t/clang-16-notice-of-potentially-breaking-changes/65562, clang 16 defaults `-Wincompatible-function-pointer-types` to be on. This causes a number of hard errors due to implicit conversions between `void *` and `void`, such as:

```
../../../../src/ruby/ext/grpc/rb_channel.c:770:47: error: incompatible function pointer types passing 'VALUE (VALUE)' (aka 'unsigned long (unsigned long)') to parameter of type 'VALUE (*)(void *)' (aka 'unsigned long (*)(void *)') [-Wincompatible-function-pointer-types]
g_channel_polling_thread = rb_thread_create(run_poll_channels_loop, NULL);
^~~~~~~~~~~~~~~~~~~~~~
/root/.rbenv/versions/3.1.4/include/ruby-3.1.0/ruby/internal/intern/thread.h:190:32: note: passing argument to parameter 'f' here
VALUE rb_thread_create(VALUE (*f)(void *g), void *g);
^
../../../../src/ruby/ext/grpc/rb_channel.c:780:41: warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
void grpc_rb_channel_polling_thread_stop() {
^
void
../../../../src/ruby/ext/grpc/rb_channel.c:786:30: error: incompatible function pointer types passing 'void (void *)' to parameter of type 'void *(*)(void *)' [-Wincompatible-function-pointer-types]
rb_thread_call_without_gvl(run_poll_channels_loop_unblocking_func, NULL, NULL,
```

This commit fixes these pointer types using wrapper functions where necessary.

This issue was also raised on the FreeBSD port of the grpc gem: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271540

<!--

If you know who should review your pull request, please assign it to that
person, otherwise the pull request would get assigned randomly.

If your pull request is for a specific language, please add the appropriate
lang label.

-->

Closes #34481

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/34481 from stanhu:sh-ruby-fix-clang-16 63c7424ad0c93f7a7aa1ce0e84ea7916c4cbdc5f
Stan Hu <stanhu@gmail.com> no 2024-01-22
gcc-14-2.patch [PATCH] [Ruby] fix incompatible pointer type of grpc_compression_algorithm_name (#37741)

fixes #37731

Closes #37741

COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/37741 from alto-ruby:fix-incompatible-pointer-type-in-grpc_compression_algorithm_name 18a89be44d54e8c8bd614f1cee626d1db598a45a
alto-ruby <altorubys@gmail.com> no 2024-09-17
abseil-20240722.0.patch [Build] Add missing absl includes (#34499)
To avoid depending on transitive includes, specially avoid relying on
transitive include status.h -> str_cat.h that is removed in the latest
version of abseil
DanilChapovalov <danilchap@webrtc.org> no upstream, 784e3b1c40fff4cb1381ddc6b9917b29bafab8f2 2023-09-29
abseil-20240722.1.patch [Fix] Added missing #include (#34359)
One more missing #include
Esun Kim <veblush@google.com> no upstream, 9a7ecfad0086fed7a77aa0db8a9a024b5622b29c 2023-09-14
abseil-20240722.2.patch Another missing #include
Can't find the upstream equivalent to this, it must be buried elsewhere
in the include stack.
Stefano Rivera <stefanor@debian.org> no 2025-03-10

All known versions for source package 'grpc'

Links