From 53e37655d9d742156100dfa49bdd85671bb6c34d Mon Sep 17 00:00:00 2001 From: Michel Lind Date: Thu, 17 Sep 2026 10:05:15 +0100 Subject: [PATCH] getdeps: satisfy sparsemap from tsl-sparse-map-devel where packaged Fedora and EPEL package sparse-map as tsl-sparse-map-devel: 0.7.0 on F45 and Rawhide (stable since 2026-09-17), 0.6.2 on F44 and EPEL 9, and an EPEL 10 build is under way. With --allow-system-packages this takes sparsemap out of the set of projects built from source, leaving only the Meta stack (folly, fizz, wangle, mvfst, fbthrift) for a vendored distro build. A plain [rpms] section is used, as for libsodium, xxhash and snappy: where the package is not installed (CentOS Stream without EPEL, say) getdeps simply falls back to building sparsemap itself. The F44 version is older than the 0.7.0 the manifest pins, so the difference was checked rather than assumed: the public API of sparse_map and sparse_set is identical between 0.6.2 and 0.7.0 down to template defaults, the tsl::detail_sparse_hash::sparse_array template cachelib reaches into has the same parameters, and the serialization format is unchanged. 0.7.0's only compatibility change is requiring C++17, irrelevant to cachelib. cachelib locates the headers by path (cmake/FindSparsemap.cmake: find_path tsl/sparse_map.h), which the package satisfies at /usr/include/tsl. Tested on Fedora 44 with tsl-sparse-map-devel 0.6.2 installed: `getdeps.py --allow-system-packages build --no-tests --src-dir=. cachelib` no longer fetches or builds sparsemap (no Assessing/Building step for it in the log), cachelib configures with SPARSEMAP_INCLUDE_DIRS=/usr/include, SparseMapIndex.cpp compiles against the system header with -Werror on, cachebench links, and the build exits 0 after 58 minutes at two jobs. Co-Authored-By: Claude Fable 5.1 Signed-off-by: Michel Lind --- build/fbcode_builder/manifests/sparsemap | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build/fbcode_builder/manifests/sparsemap b/build/fbcode_builder/manifests/sparsemap index 4a8717d2c..1599605ac 100644 --- a/build/fbcode_builder/manifests/sparsemap +++ b/build/fbcode_builder/manifests/sparsemap @@ -8,3 +8,6 @@ sha256 = b603a24f596f95a06ec1d437f4cb928c2647cf9bc73b751ac6fb82deb7863d98 [build] builder = cmake subdir = sparse-map-0.7.0/ + +[rpms] +tsl-sparse-map-devel