package/mdadm: bump to version 4.6

Drop upstreamed/backported patches.

Release announcements:
4.6: https://lore.kernel.org/linux-raid/CALTww2_2pjjOSsVj-WT++m35555CjnPWokU7fut+HwUJVV-=ZQ@mail.gmail.com/
4.5: https://lore.kernel.org/linux-raid/CALTww293wnLE2+eZsZ42oyNZhS_cc2agB4GNqTz8j3xiP0ALWA@mail.gmail.com/
4.4: https://lore.kernel.org/linux-raid/20241213121438.7ed6a0fd@mtkaczyk-private-dev/

Upstream mdadm project has moved its primary development to GitHub:
https://github.com/md-raid-utilities/mdadm
Updated download site accordingly. See:
https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/README.md?id=3f90be087fa62c0c7ed76c2ac26752f0ac3a89e7

mdadm >= 4.5 removed fallback definitions for MD_DISK_FAILFAST
(commit f5889f9a1b8753a1472dfef9d025da2bae395239), relying on
kernel headers instead.This breaks builds with toolchains using older headers
(e.g. 4.9). So, enforce BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10.

Since mdadm 4.6, `mdadm --create` may prompt for bitmap configuration,
which breaks the runtime test.Fix the test by passing `--bitmap=none`
to keep it non-interactive.

Signed-off-by: Maxin John <maxin.john@gmail.com>
[Julien:
 - add comment in Config.in
 - add link to upstream commit for repository change in commit log
]
Signed-off-by: Julien Olivain <ju.o@free.fr>
This commit is contained in:
Maxin John
2026-04-25 19:09:22 +03:00
committed by Julien Olivain
parent 24479bf29a
commit 4d5ccd553a
8 changed files with 10 additions and 154 deletions

View File

@@ -1,34 +0,0 @@
From 1750758c7ff526e3560433f6235e5cfa35cf646a Mon Sep 17 00:00:00 2001
From: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Date: Wed, 6 Mar 2024 15:50:55 +0100
Subject: udev.c: Do not require libudev.h if DNO_LIBUDEV
libudev may not be presented at all, do not require it.
Reported-by: Boian Bonev <bbonev@ipacct.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Upstream: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=1750758c7ff526e3560433f6235e5cfa35cf646a
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
udev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/udev.c b/udev.c
index bc4722b0..066e6ab1 100644
--- a/udev.c
+++ b/udev.c
@@ -26,7 +26,10 @@
#include <signal.h>
#include <limits.h>
#include <syslog.h>
+
+#ifndef NO_LIBUDEV
#include <libudev.h>
+#endif
static char *unblock_path;
--
cgit 1.2.3-korg

View File

@@ -1,32 +0,0 @@
From 8bda86099089b44129ef6206764f9de47a45f0db Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex@linutronix.de>
Date: Tue, 12 Mar 2024 11:01:50 +0100
Subject: util.c: add limits.h include for NAME_MAX definition
Add limits.h include for NAME_MAX definition.
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Upstream: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=8bda86099089b44129ef6206764f9de47a45f0db
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
util.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/util.c b/util.c
index 05ad3343..49a9c6e2 100644
--- a/util.c
+++ b/util.c
@@ -36,7 +36,7 @@
#include <ctype.h>
#include <dirent.h>
#include <dlfcn.h>
-
+#include <limits.h>
/*
* following taken from linux/blkpg.h because they aren't
--
cgit 1.2.3-korg

View File

@@ -1,42 +0,0 @@
From 52bead95d2957437c691891fcdc49bd6afccdd49 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 12 Apr 2024 18:45:13 +0200
Subject: Create.c: fix uclibc build
Define FALLOC_FL_ZERO_RANGE if needed as FALLOC_FL_ZERO_RANGE is only
defined for aarch64 on uclibc-ng resulting in the following or1k build
failure since commit 577fd10486d8d1472a6b559066f344ac30a3a391:
Create.c: In function 'write_zeroes_fork':
Create.c:155:35: error: 'FALLOC_FL_ZERO_RANGE' undeclared (first use in this function)
155 | if (fallocate(fd, FALLOC_FL_ZERO_RANGE | FALLOC_FL_KEEP_SIZE,
| ^~~~~~~~~~~~~~~~~~~~
Fixes:
- http://autobuild.buildroot.org/results/0e04bcdb591ca5642053e1f7e31384f06581e989
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Upstream: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=52bead95d2957437c691891fcdc49bd6afccdd49
---
Create.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Create.c b/Create.c
index 4397ff49..d94253b1 100644
--- a/Create.c
+++ b/Create.c
@@ -32,6 +32,10 @@
#include <sys/signalfd.h>
#include <sys/wait.h>
+#ifndef FALLOC_FL_ZERO_RANGE
+#define FALLOC_FL_ZERO_RANGE 16
+#endif
+
static int round_size_and_verify(unsigned long long *size, int chunk)
{
if (*size == 0)
--
cgit 1.2.3-korg

View File

@@ -1,40 +0,0 @@
From 893a55831e5abbcd15b171db66fa1f389fb61506 Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Tue, 7 May 2024 19:32:16 +0200
Subject: Makefile: Move -pie to LDFLAGS
Move -pie from LDLIBS to LDFLAGS and make LDFLAGS configurable to allow
the user to drop it by setting their own LDFLAGS (e.g. PIE could be
enabled or disabled by the buildsystem such as buildroot).
Suggested-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Mariusz Tkaczyk <mariusz.tkaczyk@linux.intel.com>
Upstream: https://git.kernel.org/pub/scm/utils/mdadm/mdadm.git/commit/?id=893a55831e5abbcd15b171db66fa1f389fb61506
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 7c221a89..adac7905 100644
--- a/Makefile
+++ b/Makefile
@@ -132,12 +132,12 @@ CFLAGS += -DUSE_PTHREADS
MON_LDFLAGS += -pthread
endif
-LDFLAGS = -Wl,-z,now,-z,noexecstack
+LDFLAGS ?= -pie -Wl,-z,now,-z,noexecstack
# If you want a static binary, you might uncomment these
# LDFLAGS += -static
# STRIP = -s
-LDLIBS = -ldl -pie
+LDLIBS = -ldl
# To explicitly disable libudev, set -DNO_LIBUDEV in CXFLAGS
ifeq (, $(findstring -DNO_LIBUDEV, $(CXFLAGS)))
--
cgit 1.2.3-korg

View File

@@ -2,6 +2,7 @@ config BR2_PACKAGE_MDADM
bool "mdadm"
depends on !BR2_STATIC_LIBS # dlfcn.h
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10 # MD_DISK_FAILFAST
help
Utility for managing Linux Software RAID arrays.
@@ -10,3 +11,6 @@ config BR2_PACKAGE_MDADM
comment "mdadm needs a toolchain w/ dynamic library"
depends on BR2_STATIC_LIBS
depends on BR2_USE_MMU
comment "mdadm needs kernel headers >= 4.10"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10

View File

@@ -1,4 +1,5 @@
# From https://www.kernel.org/pub/linux/utils/raid/mdadm/sha256sums.asc
sha256 416727ae1f1080ea6e3090cea36dd076826fc369151e36ab736557ba92196f9f mdadm-4.3.tar.xz
# Locally calculated
sha256 202a7525e6f2b44395a9ef2c561082c7d6d8204e9addfe3f6268bfb141efc093 mdadm-4.6.tar.gz
# Locally calculated
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING

View File

@@ -4,9 +4,8 @@
#
################################################################################
MDADM_VERSION = 4.3
MDADM_SOURCE = mdadm-$(MDADM_VERSION).tar.xz
MDADM_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/raid/mdadm
MDADM_VERSION = 4.6
MDADM_SITE = https://github.com/md-raid-utilities/mdadm/archive/refs/tags
MDADM_LICENSE = GPL-2.0+
MDADM_LICENSE_FILES = COPYING
MDADM_CPE_ID_VALID = YES

View File

@@ -69,7 +69,7 @@ class TestMdadm(infra.basetest.BRTest):
self.assertRunOk(cat_mdstat_cmd)
# We create a raid5 array with the drives.
cmd = f"mdadm --create --verbose {md_dev} --level=5 "
cmd = f"mdadm --create --verbose {md_dev} --level=5 --bitmap=none "
cmd += f"--raid-devices={len(storage_devs)} "
cmd += " ".join(storage_devs)
self.assertRunOk(cmd)