Control: tags 1097799 + pending Dear maintainer,
I've prepared an NMU for rocksdb (versioned as 9.10.0-1.1) and uploaded it to DELAYED/2. Please feel free to tell me if I should cancel it. cu Adrian
diffstat for rocksdb-9.10.0 rocksdb-9.10.0 changelog | 7 + patches/0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch | 49 +++++++++ patches/0002-Fix-build-13579.patch | 52 ++++++++++ patches/0003-include-cstdint-to-trace_record.h-13651.patch | 38 +++++++ patches/series | 3 5 files changed, 149 insertions(+) diff -Nru rocksdb-9.10.0/debian/changelog rocksdb-9.10.0/debian/changelog --- rocksdb-9.10.0/debian/changelog 2025-01-25 07:24:20.000000000 +0200 +++ rocksdb-9.10.0/debian/changelog 2026-01-05 22:23:33.000000000 +0200 @@ -1,3 +1,10 @@ +rocksdb (9.10.0-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Backport upstream fixes for FTBFS with GCC 15. (Closes: #1097799) + + -- Adrian Bunk <[email protected]> Mon, 05 Jan 2026 22:23:33 +0200 + rocksdb (9.10.0-1) unstable; urgency=medium * New upstream release 9.10.0, see details at diff -Nru rocksdb-9.10.0/debian/patches/0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch rocksdb-9.10.0/debian/patches/0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch --- rocksdb-9.10.0/debian/patches/0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch 1970-01-01 02:00:00.000000000 +0200 +++ rocksdb-9.10.0/debian/patches/0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch 2026-01-05 22:04:45.000000000 +0200 @@ -0,0 +1,49 @@ +From ef035d13f8a74f8eb7789c96b0e631fe4a64962a Mon Sep 17 00:00:00 2001 +From: Peter Dillinger <[email protected]> +Date: Mon, 24 Mar 2025 17:08:17 -0700 +Subject: 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 + +fbshipit-source-id: b4c8519608d119b8bceca9bb0fd778608f62a141 +--- + include/rocksdb/slice.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/rocksdb/slice.h b/include/rocksdb/slice.h +index 0d7eb5949..115131398 100644 +--- a/include/rocksdb/slice.h ++++ b/include/rocksdb/slice.h +@@ -20,6 +20,7 @@ + + #include <cassert> + #include <cstddef> ++#include <cstdint> + #include <cstdio> + #include <cstring> + #include <string> +-- +2.30.2 + diff -Nru rocksdb-9.10.0/debian/patches/0002-Fix-build-13579.patch rocksdb-9.10.0/debian/patches/0002-Fix-build-13579.patch --- rocksdb-9.10.0/debian/patches/0002-Fix-build-13579.patch 1970-01-01 02:00:00.000000000 +0200 +++ rocksdb-9.10.0/debian/patches/0002-Fix-build-13579.patch 2026-01-05 22:04:45.000000000 +0200 @@ -0,0 +1,52 @@ +From b2dc243ebd1989a13ae20289d23ef31f249e6d27 Mon Sep 17 00:00:00 2001 +From: Jay Huh <[email protected]> +Date: Mon, 28 Apr 2025 13:35:48 -0700 +Subject: 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 + +fbshipit-source-id: 7ead97914c05958bb7146f1934c48615599bc4f8 +--- + db/blob/blob_file_meta.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/db/blob/blob_file_meta.h b/db/blob/blob_file_meta.h +index d7c8a1243..2e47726f8 100644 +--- a/db/blob/blob_file_meta.h ++++ b/db/blob/blob_file_meta.h +@@ -6,6 +6,7 @@ + #pragma once + + #include <cassert> ++#include <cstdint> + #include <iosfwd> + #include <memory> + #include <string> +-- +2.30.2 + diff -Nru rocksdb-9.10.0/debian/patches/0003-include-cstdint-to-trace_record.h-13651.patch rocksdb-9.10.0/debian/patches/0003-include-cstdint-to-trace_record.h-13651.patch --- rocksdb-9.10.0/debian/patches/0003-include-cstdint-to-trace_record.h-13651.patch 1970-01-01 02:00:00.000000000 +0200 +++ rocksdb-9.10.0/debian/patches/0003-include-cstdint-to-trace_record.h-13651.patch 2026-01-05 22:04:45.000000000 +0200 @@ -0,0 +1,38 @@ +From 07d319f46ecc2ac18dbd812d54dc74ada62eaf59 Mon Sep 17 00:00:00 2001 +From: Jiffin Tony Thottan <[email protected]> +Date: Fri, 13 Jun 2025 09:47:52 -0700 +Subject: 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 + +fbshipit-source-id: d213debbda39fdfac01641daa567687fc104d260 +--- + include/rocksdb/trace_record.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/include/rocksdb/trace_record.h b/include/rocksdb/trace_record.h +index 8f9c3ee2f..d321f5387 100644 +--- a/include/rocksdb/trace_record.h ++++ b/include/rocksdb/trace_record.h +@@ -5,6 +5,7 @@ + + #pragma once + ++#include <cstdint> + #include <memory> + #include <string> + #include <vector> +-- +2.30.2 + diff -Nru rocksdb-9.10.0/debian/patches/series rocksdb-9.10.0/debian/patches/series --- rocksdb-9.10.0/debian/patches/series 2025-01-25 07:24:20.000000000 +0200 +++ rocksdb-9.10.0/debian/patches/series 2026-01-05 22:22:58.000000000 +0200 @@ -8,3 +8,6 @@ arm.patch 0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch rely-on-default-for-optimization-on-Power.patch +0001-Deprecate-RangePtr-favor-new-RangeOpt-and-OptSlice-1.patch +0002-Fix-build-13579.patch +0003-include-cstdint-to-trace_record.h-13651.patch

