From 7d300326ee84e514fe9e509580e7942098d507b2 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Wed, 7 Aug 2019 22:13:36 +0200 Subject: [PATCH] mdadm: Use upstream fix for musl 1.1.23 compile Fixes: d720f83f87ce ("mdadm: Fix compile with musl 1.1.23") Signed-off-by: Hauke Mehrtens (cherry picked from commit ebbec2fdc6cec4119fb4fefc3080146aa00bc07d) --- package/utils/mdadm/Makefile | 2 +- ...missing-include-file-sys-sysmacros.h.patch | 243 ++---------------- .../utils/mdadm/patches/200-reduce_size.patch | 4 +- 3 files changed, 28 insertions(+), 221 deletions(-) diff --git a/package/utils/mdadm/Makefile b/package/utils/mdadm/Makefile index 18026bbed2..f20a58b704 100644 --- a/package/utils/mdadm/Makefile +++ b/package/utils/mdadm/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mdadm PKG_VERSION:=4.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/utils/raid/mdadm diff --git a/package/utils/mdadm/patches/102-Add-missing-include-file-sys-sysmacros.h.patch b/package/utils/mdadm/patches/102-Add-missing-include-file-sys-sysmacros.h.patch index 3bb5f9af06..891b5c62f0 100644 --- a/package/utils/mdadm/patches/102-Add-missing-include-file-sys-sysmacros.h.patch +++ b/package/utils/mdadm/patches/102-Add-missing-include-file-sys-sysmacros.h.patch @@ -1,222 +1,29 @@ -From 1ee119c8026dff34a4d8c4269c05d3d4e0c25aa6 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sat, 3 Aug 2019 11:03:40 +0200 -Subject: [mdadm PATCH] Add missing include file sys/sysmacros.h +From 452dc4d13a012cdcb05088c0dbc699959c4d6c73 Mon Sep 17 00:00:00 2001 +From: Baruch Siach +Date: Tue, 6 Aug 2019 16:05:23 +0300 +Subject: mdadm.h: include sysmacros.h unconditionally -This include file is needed for makedev(), major() and minor() which are -used in these functions. In musl 1.1.23 sys/sysmacros.h is not included -indirectly any more and mdadm fails to compile. +musl libc now also requires sys/sysmacros.h for the major/minor macros. +All supported libc implementations carry sys/sysmacros.h, including +diet-libc, klibc, and uclibc-ng. -Signed-off-by: Hauke Mehrtens +Cc: Hauke Mehrtens +Signed-off-by: Baruch Siach +Signed-off-by: Jes Sorensen --- - Assemble.c | 1 + - Build.c | 1 + - Create.c | 1 + - Detail.c | 1 + - Grow.c | 1 + - Incremental.c | 1 + - Manage.c | 1 + - Monitor.c | 1 + - Query.c | 1 + - lib.c | 1 + - mapfile.c | 1 + - mdadm.c | 1 + - mdopen.c | 1 + - platform-intel.c | 1 + - policy.c | 1 + - super-ddf.c | 1 + - super-intel.c | 1 + - sysfs.c | 1 + - util.c | 1 + - 19 files changed, 19 insertions(+) + mdadm.h | 2 -- + 1 file changed, 2 deletions(-) ---- a/Assemble.c -+++ b/Assemble.c -@@ -24,6 +24,7 @@ - - #include "mdadm.h" - #include -+#include - - static int name_matches(char *found, char *required, char *homehost, int require_homehost) - { ---- a/Build.c -+++ b/Build.c -@@ -23,6 +23,7 @@ - */ - - #include "mdadm.h" -+#include - - int Build(char *mddev, struct mddev_dev *devlist, - struct shape *s, struct context *c) ---- a/Create.c -+++ b/Create.c -@@ -26,6 +26,7 @@ - #include "md_u.h" - #include "md_p.h" - #include -+#include - - static int default_layout(struct supertype *st, int level, int verbose) - { ---- a/Detail.c -+++ b/Detail.c -@@ -27,6 +27,7 @@ - #include "md_u.h" - #include - #include -+#include - - static int cmpstringp(const void *p1, const void *p2) - { ---- a/Grow.c -+++ b/Grow.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - #include - - #if ! defined(__BIG_ENDIAN) && ! defined(__LITTLE_ENDIAN) ---- a/Incremental.c -+++ b/Incremental.c -@@ -29,6 +29,7 @@ - */ - - #include "mdadm.h" -+#include - #include - #include - #include ---- a/Manage.c -+++ b/Manage.c -@@ -26,6 +26,7 @@ - #include "md_u.h" - #include "md_p.h" - #include -+#include - - int Manage_ro(char *devname, int fd, int readonly) - { ---- a/Monitor.c -+++ b/Monitor.c -@@ -25,6 +25,7 @@ - #include "mdadm.h" - #include "md_p.h" - #include "md_u.h" -+#include - #include - #include - #include ---- a/Query.c -+++ b/Query.c -@@ -25,6 +25,7 @@ - #include "mdadm.h" - #include "md_p.h" - #include "md_u.h" -+#include - - int Query(char *dev) - { ---- a/lib.c -+++ b/lib.c -@@ -25,6 +25,7 @@ - #include "mdadm.h" - #include "dlink.h" - #include -+#include - - /* This fill contains various 'library' style function. They - * have no dependency on anything outside this file. ---- a/mapfile.c -+++ b/mapfile.c -@@ -44,6 +44,7 @@ - */ - #include "mdadm.h" - #include -+#include - #include - - #define MAP_READ 0 ---- a/mdadm.c -+++ b/mdadm.c -@@ -28,6 +28,7 @@ - #include "mdadm.h" - #include "md_p.h" - #include -+#include - - static int scan_assemble(struct supertype *ss, - struct context *c, ---- a/mdopen.c -+++ b/mdopen.c -@@ -25,6 +25,7 @@ - #include "mdadm.h" - #include "md_p.h" - #include -+#include - - void make_parts(char *dev, int cnt) - { ---- a/platform-intel.c -+++ b/platform-intel.c -@@ -28,6 +28,7 @@ - #include - #include - #include -+#include - #include - - static int devpath_to_ll(const char *dev_path, const char *entry, ---- a/policy.c -+++ b/policy.c -@@ -26,6 +26,7 @@ - #include - #include - #include -+#include - #include "dlink.h" - /* - * Policy module for mdadm. ---- a/super-ddf.c -+++ b/super-ddf.c -@@ -31,6 +31,7 @@ - #include "sha1.h" - #include - #include -+#include - - /* a non-official T10 name for creation GUIDs */ - static char T10[] = "Linux-MD"; ---- a/super-intel.c -+++ b/super-intel.c -@@ -24,6 +24,7 @@ - #include "platform-intel.h" - #include - #include -+#include - #include - #include - ---- a/sysfs.c -+++ b/sysfs.c -@@ -26,6 +26,7 @@ - #include "mdadm.h" - #include - #include -+#include - - #define MAX_SYSFS_PATH_LEN 120 - ---- a/util.c -+++ b/util.c -@@ -29,6 +29,7 @@ - #include - #include - #include -+#include - #include - #include - #include +--- a/mdadm.h ++++ b/mdadm.h +@@ -45,10 +45,8 @@ extern __off64_t lseek64 __P ((int __fd, + #include + #include + #include +-#ifdef __GLIBC__ + /* Newer glibc requires sys/sysmacros.h directly for makedev() */ + #include +-#endif + #ifdef __dietlibc__ + #include + /* dietlibc has deprecated random and srandom!! */ diff --git a/package/utils/mdadm/patches/200-reduce_size.patch b/package/utils/mdadm/patches/200-reduce_size.patch index 3b6e879666..6905c2ccfe 100644 --- a/package/utils/mdadm/patches/200-reduce_size.patch +++ b/package/utils/mdadm/patches/200-reduce_size.patch @@ -1,6 +1,6 @@ --- a/Incremental.c +++ b/Incremental.c -@@ -1620,6 +1620,10 @@ static int Incremental_container(struct +@@ -1619,6 +1619,10 @@ static int Incremental_container(struct if (ra_all == ra_blocked) return 0; @@ -13,7 +13,7 @@ memcpy(suuid, uuid_zero, sizeof(int[4])); --- a/util.c +++ b/util.c -@@ -1221,7 +1221,9 @@ void wait_for(char *dev, int fd) +@@ -1220,7 +1220,9 @@ void wait_for(char *dev, int fd) struct superswitch *superlist[] = { &super0, &super1, -- 2.25.1