drbd-utils: upgrade 9.30.0 -> 9.34.0

Changes:
- Drop 0001-Fix-build-with-gcc-15.patch (merged upstream).
- Add 0001-fix-the-hardcoded-legacy-helper-path.patch: replace the
  hardcoded "/lib/drbd" path in add_lib_drbd_to_path() with the
  build-configured DRBD_LEGACY_LIB_DIR derived from LIBDIR
- Remove sed fixup for the now-absent ocf.ra@.service.
- Install new upstream 50-drbd.preset into systemd system-preset

Signed-off-by: Haiqing Bai <haiqing.bai@windriver.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Haiqing Bai
2026-04-17 15:54:24 +08:00
committed by Khem Raj
parent 574aa17a02
commit 70144adc98
3 changed files with 60 additions and 38 deletions
@@ -1,34 +0,0 @@
From b42265af87d9efcc9aac91b3a3da3df5c5c66e29 Mon Sep 17 00:00:00 2001
From: Nguyen Dat Tho <tho3.nguyen@lge.com>
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 '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
Upstream-Status: Submitted [https://github.com/LINBIT/drbd-utils/pull/50]
Signed-off-by: Nguyen Dat Tho <tho3.nguyen@lge.com>
---
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 <string>
#include <memory>
#include <stdexcept>
+#include <cstdint>
namespace string_matching
{
--
2.34.1
@@ -0,0 +1,53 @@
From 301e64db17466316ac34a28e30867cc7853777b5 Mon Sep 17 00:00:00 2001
From: Haiqing Bai <Haiqing.Bai@windriver.com>
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 <haiqing.bai@windriver.com>
---
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
@@ -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"