Debian Patches

Status for rocksdb/9.10.0-2

Patch Description Author Forwarded Bugs Origin Last update
build_reproducible.patch build_reproducible "Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2024-11-24
fix_db_test.patch limit block_size to 32 bit

Make the block_size to 3 Gb only on i386 and mipsel.
"Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2021-10-16
no_rpath.patch do not build tools with rpath

These will be installed semi-manual to usr/bin and will use system libraries.
"Laszlo Boszormenyi (GCS)" <gcs@debian.org> not-needed 2021-10-16
library_version.patch <short summary of the patch> "Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2021-10-16
ppc64.patch ppc64
implement support for musl/ppc64
"Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2024-11-24
armv7_support.patch [PATCH] #8609 Add armv7 support Dominik Peuscher <dominik.peuscher@check24.de> no 2022-01-16
mips.patch mips
implement timer implementation for mips platform
"Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2024-11-24
arm.patch arm
implement timer for arm >= v6
"Laszlo Boszormenyi (GCS)" <gcs@debian.org> no 2024-11-24
0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch [PATCH] replace old sync with new atomic builtin equivalents
Helps compiling with gcc on newer arches e.g. riscv32 where these
__sync* builtins are not implemented atleast for 64bit values
Khem Raj <raj.khem@gmail.com> no 2021-06-17
rely-on-default-for-optimization-on-Power.patch Don't optimize without knowing the target system on Power

Upstream's CMake configuration assumes having gcc P9 optimizations flags means
we are compiling for P9.
On ppc64*, gcc can produce binaries optimized for P8, P9 or P10 atm.
But on Debian we want to be compatible with all and default to P8.
=?utf-8?b?RnLDqWTDqXJpYyBCb25uYXJk?= <frediz@debian.org> no 2024-11-24
0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch Deprecate RangePtr, favor new RangeOpt and OptSlice (#13481)
Summary:
The new API in https://github.com/facebook/rocksdb/issues/13453 is awkward and precarious because of using RangePtr, which encodes optional keys using raw pointers to Slice. We could use `std::optional<Slice>` instead but that is unsatisfyingly a larger object with an inefficient size (typically 17 bytes).

Here I introduce a custom optional Slice type, `OptSlice`, that is the same size as a Slice, and use it in a number of places to clean up code and make some public APIs easier to work with. This includes

* `atomic_replace_range` (not yet released, OK to change)
* `GetAllKeyVersions()` which gets a behavior change because of its unusual handling of empty keys.
* `DeleteFilesInRanges()`
* TODO in follow-up: `CompactRange()`

Most of the diff is associated updates and refactorings. Also

* Move some relevant things out of db.h to keep it as tidy as possible.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/13481

Test Plan: tests updated

Reviewed By: hx235

Differential Revision: D71747774

Pulled By: pdillinger
Peter Dillinger <peterd@meta.com> no 2025-03-24
0002-Fix-build-13579.patch Fix build (#13579)
Summary:
- [Failed CI run](https://productionresultssa17.blob.core.windows.net/actions-results/fd083599-6c98-4aec-8732-fcb280c96021/workflow-job-run-2f73efd7-c93d-53ea-a18f-1c7e17604f7e/logs/job/job-logs.txt?rsct=text%2Fplain&se=2025-04-28T17%3A15%3A01Z&sig=YJevYF5xH4RClY3klBe6Z3tnCWuYZFLlBYRHwftW9lc%3D&ske=2025-04-29T01%3A55%3A36Z&skoid=ca7593d4-ee42-46cd-af88-8b886a2f84eb&sks=b&skt=2025-04-28T13%3A55%3A36Z&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skv=2025-01-05&sp=r&spr=https&sr=b&st=2025-04-28T17%3A04%3A56Z&sv=2025-01-05)

```
2025-04-28T16:56:00.5775476Z In file included from <stdin>:1:
2025-04-28T16:56:00.5776056Z db/blob/blob_file_meta.h:28:7: error: 'uint64_t' has not been declared
2025-04-28T16:56:00.5776715Z 28 | uint64_t blob_file_number, uint64_t total_blob_count,
2025-04-28T16:56:00.5777153Z | ^~~~~~~~
2025-04-28T16:56:00.5778083Z db/blob/blob_file_meta.h:15:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
2025-04-28T16:56:00.5779293Z 14 | #include "rocksdb/rocksdb_namespace.h"
2025-04-28T16:56:00.5782126Z +++ |+#include <cstdint>
2025-04-28T16:56:00.5782780Z 15 |
2025-04-28T16:56:00.5783204Z db/blob/blob_file_meta.h:28:34: error: 'uint64_t' has not been declared
2025-04-28T16:56:00.5783832Z 28 | uint64_t blob_file_number, uint64_t total_blob_count,
2025-04-28T16:56:00.5784301Z | ^~~~~~~~
```

Pull Request resolved: https://github.com/facebook/rocksdb/pull/13579

Test Plan: [CI](https://github.com/facebook/rocksdb/actions/runs/14713618495/job/41291839382?pr=13579)

Reviewed By: archang19, cbi42

Differential Revision: D73799590

Pulled By: jaykorean
Jay Huh <jewoongh@meta.com> no 2025-04-28
0003-include-cstdint-to-trace_record.h-13651.patch include cstdint to trace_record.h (#13651)
Summary:
There are compilation errors on gcc 15 in fedora 42 while compiling ceph.

This is similar to PR https://github.com/facebook/rocksdb/issues/13573.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/13651

Reviewed By: jaykorean

Differential Revision: D76062855

Pulled By: cbi42
Jiffin Tony Thottan <thottanjiffin@gmail.com> no 2025-06-13

All known versions for source package 'rocksdb'

Links