diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch deleted file mode 100644 index 00105fb844..0000000000 --- a/meta-networking/recipes-support/drbd/drbd-utils/0001-Fix-build-with-gcc-15.patch +++ /dev/null @@ -1,34 +0,0 @@ -From b42265af87d9efcc9aac91b3a3da3df5c5c66e29 Mon Sep 17 00:00:00 2001 -From: Nguyen Dat Tho -Date: Wed, 9 Apr 2025 17:33:25 +0900 -Subject: [PATCH] Fix build with gcc-15 - -To fix the following error: -In file included from string_matching.cpp:1: -./string_matching.h:10:18: error: 'uint16_t' does not name a type - 10 | extern const uint16_t PATTERN_LIMIT; - | ^~~~~~~~ -./string_matching.h:7:1: note: 'uint16_t' is defined in header ''; this is probably fixable by adding '#include ' - -Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/50] - -Signed-off-by: Nguyen Dat Tho ---- - user/drbdmon/string_matching.h | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/user/drbdmon/string_matching.h b/user/drbdmon/string_matching.h -index 9b3918fe..b783ba48 100644 ---- a/user/drbdmon/string_matching.h -+++ b/user/drbdmon/string_matching.h -@@ -4,6 +4,7 @@ - #include - #include - #include -+#include - - namespace string_matching - { --- -2.34.1 - diff --git a/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch b/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch new file mode 100644 index 0000000000..3d7c95b4a8 --- /dev/null +++ b/meta-networking/recipes-support/drbd/drbd-utils/0001-fix-the-hardcoded-legacy-helper-path.patch @@ -0,0 +1,53 @@ +From 301e64db17466316ac34a28e30867cc7853777b5 Mon Sep 17 00:00:00 2001 +From: Haiqing Bai +Date: Thu, 16 Apr 2026 10:00:19 +0000 +Subject: [PATCH] Fix the hardcoded legacy helper path + +Fix the below issue: +"~# drbdadm --version +execvp() failed to exec drbdadm-84: No such file or directory" + +The legacy helper path was hardcoded to "/lib/drbd", which does not exist +on systems where LIBDIR is configured to a different location (e.g. +/usr/lib). This caused drbdadm to fail when attempting to exec drbdadm-84. +Use the build-configured DRBD_LEGACY_LIB_DIR (derived from LIBDIR) instead +of the hardcoded path, so the legacy helper lookup respects the actual +install prefix. + +Upstream-Status: Pending + +Signed-off-by: Haiqing Bai +--- + user/v9/Makefile.in | 1 + + user/v9/drbdtool_common.c | 3 +-- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/user/v9/Makefile.in b/user/v9/Makefile.in +index fa12f79..980c67c 100644 +--- a/user/v9/Makefile.in ++++ b/user/v9/Makefile.in +@@ -70,6 +70,7 @@ CFLAGS += -DKEYUTILS + endif + ifeq ($(WITH_84_SUPPORT),yes) + CFLAGS += -DWITH_84_SUPPORT ++CFLAGS += -DDRBD_LEGACY_LIB_DIR=\"$(LIBDIR)\" + endif + CFLAGS += $(EXTRA_CFLAGS) + +diff --git a/user/v9/drbdtool_common.c b/user/v9/drbdtool_common.c +index d07d054..ea95a16 100644 +--- a/user/v9/drbdtool_common.c ++++ b/user/v9/drbdtool_common.c +@@ -332,8 +332,7 @@ void add_component_to_path(const char *path) + + void add_lib_drbd_to_path(void) + { +- /* TODO: if exec-prefix != "/" ? */ +- add_component_to_path("/lib/drbd"); ++ add_component_to_path(DRBD_LEGACY_LIB_DIR); + } + + /* from linux/crypto/crc32.c */ +-- +2.53.0 + diff --git a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb similarity index 88% rename from meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb rename to meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb index 4c520e8c78..abc406b5e0 100644 --- a/meta-networking/recipes-support/drbd/drbd-utils_9.30.0.bb +++ b/meta-networking/recipes-support/drbd/drbd-utils_9.34.0.bb @@ -11,10 +11,10 @@ SRC_URI = "git://github.com/LINBIT/drbd-utils;name=drbd-utils;branch=master;prot git://github.com/LINBIT/drbd-headers;name=drbd-headers;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/drbd-headers;branch=master;protocol=https \ file://0001-drbdmon-add-LDFLAGS-when-linking.patch \ ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-drbd-utils-support-usrmerge.patch','',d)} \ - file://0001-Fix-build-with-gcc-15.patch \ + file://0001-fix-the-hardcoded-legacy-helper-path.patch \ " -SRCREV_drbd-utils = "36ea199f38b543b2da92219109c2832e122e5bf9" -SRCREV_drbd-headers = "94f4472513f351efba5788f783feba6ac6efe9fc" +SRCREV_drbd-utils = "7fe34d56a7264cfc92fc5270471827bb3f7773e6" +SRCREV_drbd-headers = "8ab631bfa8eb606e53c86f50b9f2d6f51d0f9ca5" SRCREV_FORMAT = "drbd-utils_drbd-headers" @@ -56,7 +56,9 @@ do_install:append() { sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd-wait-promotable@.service sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd.service sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/drbd@.service - sed -i -e 's#@nonarch_libdir@#${nonarch_libdir}#g' ${D}${systemd_unitdir}/system/ocf.ra@.service + + install -D -m 0644 ${D}/50-drbd.preset ${D}${systemd_unitdir}/system-preset/50-drbd.preset + rm -f ${D}/50-drbd.preset } RDEPENDS:${PN} += "bash perl-module-getopt-long perl-module-exporter perl-module-constant perl-module-overloading perl-module-exporter-heavy" @@ -69,6 +71,7 @@ FILES:${PN} += "${nonarch_base_libdir}/drbd \ ${nonarch_libdir}/tmpfiles.d \ ${nonarch_libdir}/drbdscripts/* \ ${systemd_unitdir}/system/* \ + ${systemd_unitdir}/system-preset/50-drbd.preset \ " FILES:${PN}-dbg += "${nonarch_base_libdir}/drbd/.debug"