]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
debian: build with system jerasure and gf-complete 68258/head
authorKefu Chai <k.chai@proxmox.com>
Thu, 9 Apr 2026 00:21:02 +0000 (08:21 +0800)
committerKefu Chai <k.chai@proxmox.com>
Thu, 9 Apr 2026 00:27:41 +0000 (08:27 +0800)
Add libjerasure-dev to Build-Depends and enable WITH_SYSTEM_JERASURE
so that the Debian package builds ec_jerasure and ec_shec plugins
against the distribution-provided libraries instead of the vendored
copies.

libjerasure-dev pulls in libgf-complete-dev, so both libraries are
covered by a single build dependency.

Add libjerasure2 to ceph-base's Depends for the runtime shared
libraries. libjerasure2 in turn depends on libgf-complete1t64.
The explicit dependency is needed because dh_shlibdeps excludes
erasure-code plugins from automatic dependency scanning (they are
loaded via dlopen at runtime).

The distro-packaged jerasure and gf-complete are from the same
upstream git snapshots (2017/04/10) as ceph's vendored copies.
gf-complete source is byte-identical. jerasure differs only in
additional null-pointer checks and error handling in jerasure.c,
plus an extra galois_uninit_field() function that ceph does not use.
All function signatures ceph depends on are present and compatible.

Signed-off-by: Kefu Chai <k.chai@proxmox.com>
debian/control
debian/rules

index 3d4c84984dd0d66c9cca1014fea162021f4ccb98..46918575f7e9622acd5ecdb408791f4f319fe27b 100644 (file)
@@ -49,6 +49,7 @@ Build-Depends: automake,
                libhwloc-dev <pkg.ceph.crimson>,
                libibverbs-dev,
                libicu-dev,
+               libjerasure-dev,
                librdmacm-dev,
                libkeyutils-dev,
                libldap2-dev,
@@ -144,6 +145,7 @@ Package: ceph-base
 Architecture: linux-any
 Depends: binutils,
          ceph-common (= ${binary:Version}),
+         libjerasure2,
          logrotate,
          parted,
          psmisc,
index 4d31ffd069f3c5d5ae789fa339eacd0a7fc53e27..21b4d8ab3f02ddc05f0d308833254fd243525674 100755 (executable)
@@ -20,6 +20,7 @@ ifneq ($(filter pkg.ceph.crimson,$(DEB_BUILD_PROFILES)),)
 endif
 
 extraopts += -DWITH_JAEGER=ON
+extraopts += -DWITH_SYSTEM_JERASURE=ON
 extraopts += -DWITH_SYSTEM_UTF8PROC=ON
 extraopts += -DWITH_OCF=ON -DWITH_LTTNG=ON
 extraopts += -DWITH_MGR_DASHBOARD_FRONTEND=OFF