Debian Patches

Status for ceph/18.2.1+ds-9

Patch Description Author Forwarded Bugs Origin Last update
enable-strsignal.patch This defines HAVE_REENTRANT_STRSIGNAL as sys_siglist no longer exists with glibc 2.32 and all programs should use strsignal instead.

===================================================================
no 2020-09-21
update-java-source-target-flags.patch use --release 7 instead of -source/-target Instead of -source/-target ceph should be build with --release for OpenJDK 9
or later so that the bootclasspath is also set, as per JEP-247, otherwise it
risks incurring into binary incompatibility when run with an earlier OpenJDK.
OpenJDK 11 minimum compatibility release has been updated to 7.
Tiago Stürmer Daitx <tiago.daitx@ubuntu.com> no 2018-04-24
disable-crypto.patch =================================================================== no
civetweb-755-1.8-somaxconn-configurable_conf.patch Adds max_connections to reference configuration. Jesse Williamson <jesse.williamson@canonical.com> yes upstream upstream, https://github.com/civetweb/civetweb/pull/776/commits/3b8eb36676f70d06f8918ccf62029207c49cdda0
civetweb-755-1.8-somaxconn-configurable.patch Makes SOMAXCONN user-configurable. Jesse Williamson <jesse.williamson@canonical.com> yes upstream upstream, https://github.com/civetweb/civetweb/pull/776/commits/febab7dc38c9671577603425c54c20f841e27f97
civetweb-755-1.8-somaxconn-configurable_test.patch Adds max_connections to test display. Jesse Williamson <jesse.williamson@canonical.com> yes upstream upstream, https://github.com/civetweb/civetweb/pull/776/commits/3b8eb36676f70d06f8918ccf62029207c49cdda0
debian-armel-armhf-buildflags.patch =================================================================== no
fix-bash-completion-location no
32bit-fixes.patch Misc fixes for 32 bit architecture builds.
===================================================================
James Page <james.page@ubuntu.com> no
add-option-to-disable-ceph-dencoder.patch =================================================================== no
riscv64-link-pthread.patch Link with -pthread instead of -lpthread to fix FTBFS on riscv64
===================================================================
no 2020-03-01
fix-ceph-osd-systemd-target.patch Fix systemd ceph-osd.target This helps when rebooting.

===================================================================
Thomas Goirand <zigo@debian.org> no 2021-01-28
fix-CheckCxxAtomic-riscv64.patch Fix CheckCxxAtomic to detect more accurately Some platforms like riscv64 does not have full support for atomic primitives,
yet passes the test. Adding operator++ fixes this issue.
===================================================================
Eric Long <i@hack3r.moe> no 2022-08-30
try-fix-fmt-call.patch Try fix fmt call Otherwise, FTBFS.

===================================================================
Thomas Goirand <zigo@debian.org> no 2023-09-22
add-mips-support-to-toku-time.patch Add mips support to toku_time.h Thomas Goirand <zigo@debian.org> no 2023-10-04
pybind-rbd-make-cdef-functions-not-propagate-excepti.patch pybind/rbd: make cdef functions not propagate exceptions by default Setting legacy_implicit_noexcept compiler directive to True will cause
Cython 3.0 to have the same semantics as Cython 0.x.

diff --git a/src/pybind/rbd/setup.py b/src/pybind/rbd/setup.py
index 1f20c3ed42f..eeb33c73d49 100755
Mykola Golub <mgolub@suse.com> yes debian upstream upstream, https://github.com/ceph/ceph/commit/e3156050d0ce9b504ee40d30e98f49a860b7dde5.patch 2024-03-04
0001-build-Bump-boost-to-1.82.patch build: Bump boost to 1.82
Needed to fix coroutine detection under Clang
"Adam C. Emerson" <aemerson@redhat.com> no 2023-05-15
0001-cmake-fix-Finduring.cmake.patch cmake: fix Finduring.cmake
liburing-devel package provides `/usr/lib64/liburing.so`. without this
fix, `find_package(uring)` failed with this `CMAKE_FIND_DEBUG_MODE`
output:
```
find_library considered the following locations:

/home/cbodley/ceph/build/virtualenv/bin//(lib)liburing.a(\.so|\.a)
/home/cbodley/ceph/build/virtualenv/bin/(lib)liburing.a(\.so|\.a)
/usr/local/bin//(lib)liburing.a(\.so|\.a)
/usr/local/bin/(lib)liburing.a(\.so|\.a)
/usr/local/sbin//(lib)liburing.a(\.so|\.a)
/usr/local/sbin/(lib)liburing.a(\.so|\.a)
/usr/bin//(lib)liburing.a(\.so|\.a)
/usr/bin/(lib)liburing.a(\.so|\.a)
/usr/sbin//(lib)liburing.a(\.so|\.a)
/usr/sbin/(lib)liburing.a(\.so|\.a)
/usr/local/lib64//(lib)liburing.a(\.so|\.a)
/usr/local/lib64/(lib)liburing.a(\.so|\.a)
/usr/local/lib//(lib)liburing.a(\.so|\.a)
/usr/local/lib/(lib)liburing.a(\.so|\.a)
/usr/local//(lib)liburing.a(\.so|\.a)
/usr/local/(lib)liburing.a(\.so|\.a)
/usr/lib64//(lib)liburing.a(\.so|\.a)
/usr/lib64/(lib)liburing.a(\.so|\.a)
/usr/lib//(lib)liburing.a(\.so|\.a)
/usr/lib/(lib)liburing.a(\.so|\.a)
/usr//(lib)liburing.a(\.so|\.a)
/usr/(lib)liburing.a(\.so|\.a)
/lib64//(lib)liburing.a(\.so|\.a)
/lib64/(lib)liburing.a(\.so|\.a)
/lib//(lib)liburing.a(\.so|\.a)
/lib/(lib)liburing.a(\.so|\.a)
/opt//(lib)liburing.a(\.so|\.a)
/opt/(lib)liburing.a(\.so|\.a)
/usr/lib64/X11//(lib)liburing.a(\.so|\.a)
/usr/lib64/X11/(lib)liburing.a(\.so|\.a)
```
Casey Bodley <cbodley@redhat.com> no 2023-03-31
0001-cmake-populate-liburing-include-and-library-paths-do.patch cmake: populate liburing include and library paths down to rocksdb external project

There are two problems:

1) The librocksdb does not use the built liburing if present.
2) You cannot turn off rocksdb's use of liburing with WITH_LIBURING=OFF.

This is to fix errors like:

FAILED: bin/ceph_test_keyvaluedb_iterators
: && /opt/rh/gcc-toolset-11/root/usr/bin/g++ -Og -g -rdynamic -pie src/test/ObjectMap/CMakeFiles/ceph_test_keyvaluedb_iterators.dir/test_keyvaluedb_iterators.cc.o src/test/ObjectMap/CMakeFiles/ceph_test_keyvaluedb_iterators.dir/KeyValueDBMemory.cc.o -o bin/ceph_test_keyvaluedb_iterators -Wl,-rpath,/home/pdonnell/scratch/build/lib lib/libos.a lib/libgmock_maind.a lib/libgmockd. a lib/libgtestd.a -lpthread -ldl lib/libglobal.a -ldl /usr/lib64/librt.so -lresolv -ldl lib/libblk.a /lib64/libaio.so src/liburing/src/liburing.a lib/libkv.a lib/libheap_profiler.a /lib64/libtcmalloc.so src/rocksdb/librocksdb.a /lib64/libsnappy.so /usr/lib64/liblz4.so /usr/lib64/libz.so /usr/lib64/libfuse.so lib/libceph-common.so.2 src/opentelemetry-cpp/sdk/src/trace/libopentelemetry_trace.a src/opentelemetry-cpp/sdk/src/resource/libopentelemetry_resources.a src/opentelemetry-cpp/sdk/src/common/libopentelemetry_common.a src/opentelemetry-cpp/exporters/jaeger/libopentelemetry_exporter_jaeger_trace.a src/opentelemetry-cpp/ext/src/http/client/curl/libopentelemetry_http_client_curl.a /usr/lib64/libcurl.so /usr/lib64/libthrift.so lib/libjson_spirit.a lib/libcommon_utf8.a lib/liberasure_code.a lib/libextblkdev.a -lcap boost/lib/libboost_thread.a boost/lib/libboost_chrono.a boost/lib/libboost_atomic.a boost/lib/libboost_system.a boost/lib/libboost_random.a boost/lib/libboost_program_options.a boost/lib/libboost_date_time.a boost/lib/libboost_iostreams.a boost/lib/libboost_regex.a lib/libfmtd.a /usr/lib64/libblkid.so -lpthread /usr/lib64/libcrypto.so /usr/lib64/libudev.so /usr/lib64/libz.so -ldl -lresolv -Wl,--as-needed -latomic && :
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(fs_posix.cc.o): in function `io_uring_wait_cqe_nr':
/home/pdonnell/scratch/build/src/liburing/src/include/liburing.h:494: undefined reference to `__io_uring_get_cqe'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(fs_posix.cc.o): in function `rocksdb::(anonymous namespace)::PosixFileSystem::AbortIO(std::vector<void*, std::allocator<void*> >&)':
/home/pdonnell/ceph/src/rocksdb/env/fs_posix.cc:1125: undefined reference to `io_uring_get_sqe'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: /home/pdonnell/ceph/src/rocksdb/env/fs_posix.cc:1134: undefined reference to `io_uring_submit'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(fs_posix.cc.o): in function `rocksdb::CreateIOUring()':
/home/pdonnell/ceph/src/rocksdb/env/io_posix.h:272: undefined reference to `io_uring_queue_init'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(io_posix.cc.o): in function `io_uring_wait_cqe_nr':
/home/pdonnell/scratch/build/src/liburing/src/include/liburing.h:494: undefined reference to `__io_uring_get_cqe'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(io_posix.cc.o): in function `rocksdb::PosixRandomAccessFile::MultiRead(rocksdb::FSReadRequest*, unsigned long, rocksdb::IOOptions const&, rocksdb::IODebugContext*)':
/home/pdonnell/ceph/src/rocksdb/env/io_posix.cc:674: undefined reference to `io_uring_get_sqe'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: /home/pdonnell/ceph/src/rocksdb/env/io_posix.cc:684: undefined reference to `io_uring_submit_and_wait'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: src/rocksdb/librocksdb.a(io_posix.cc.o): in function `rocksdb::PosixRandomAccessFile::ReadAsync(rocksdb::FSReadRequest&, rocksdb::IOOptions const&, std::function<void (rocksdb::FSReadRequest const&, void*)>, void*, void**, std::function<void (void*)>*, rocksdb::IODebugContext*)':
/home/pdonnell/ceph/src/rocksdb/env/io_posix.cc:901: undefined reference to `io_uring_get_sqe'
/opt/rh/gcc-toolset-11/root/usr/bin/ld: /home/pdonnell/ceph/src/rocksdb/env/io_posix.cc:910: undefined reference to `io_uring_submit'
collect2: error: ld returned 1 exit status

(cherry picked from commit 8addb3598701410002688ce8ca8bdfcde2026ece)
Patrick Donnelly <pdonnell@redhat.com> no 2023-10-16
0001-cmake-promote-uring-package-search-to-top-level.patch cmake: promote uring package search to top-level
For use by multiple projects, rocksdb in particular.

(cherry picked from commit 3438de58f2af599901a19cf984e2e7cb1e9f6944)
Patrick Donnelly <pdonnell@redhat.com> no 2023-10-17
0001-cmake-rocksdb-make-sure-dependencies-build-before-ro.patch cmake/rocksdb: make sure dependencies build before rocksdb
some of rocksdb's dependencies may not have built by the time its
ExternalProject starts, so it can fail with missing headers or
libraries. for example, `uring::uring` may itself be an ExternalProject,
and its include directory won't exist until it starts building:

```
[89/1345] Performing configure step for 'rocksdb_ext'
...
CMake Error in CMakeLists.txt:
Imported target "uring::uring" includes non-existent path

"build/src/liburing/src/include"

in its INTERFACE_INCLUDE_DIRECTORIES. Possible reasons include:

* The path was deleted, renamed, or moved to another location.

* An install or uninstall procedure did not complete successfully.

* The installation package was faulty and references files it does not
provide.
...
[91/1345] Performing download step (git clone) for 'liburing_ext'
Cloning into 'liburing'...
```

use `add_dependencies(rocksdb_ext)` to make sure all of its dependencies
are available before starting the build

(cherry picked from commit 353360581a0b802435ecf4273ba79f53deb710e6)
Casey Bodley <cbodley@redhat.com> no 2023-11-23
remove-usage-of-distutils.patch Remove usage of distutils distutils is gone from Python 3.12, but there are replacements for all of
its API. This patch fixes the situation, as Debian is moving toward the
Python 3.12 interpreter.

===================================================================
Thomas Goirand <zigo@debian.org> no 2024-04-24
fix-for-cmake-3.29.2.patch Fix for CMake 3.29.2
===================================================================
Thomas Goirand <zigo@debian.org> no 2024-04-25

All known versions for source package 'ceph'

Links