[OE-core] [PATCH] mdadm: 3.3.2 -> 3.3.3

Li xin lixin.fnst at cn.fujitsu.com
Wed Jul 29 04:08:52 UTC 2015


Upgrade mdadm from 3.3.2 to 3.3.3

1) Remove backported patch:inline.patch

2) update context of mdadm-3.3.2_x32_abi_time_t.patch

3) Add systemd support:
add systemd service file mdmonitor.service and mdadm.conf which
is needed to start mdmonitor service.

Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
---
 meta/recipes-extended/mdadm/files/inline.patch     | 39 ----------
 .../mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch   | 26 ++++---
 meta/recipes-extended/mdadm/files/mdadm.conf       |  1 +
 .../recipes-extended/mdadm/files/mdmonitor.service | 13 ++++
 meta/recipes-extended/mdadm/mdadm_3.3.2.bb         | 72 ------------------
 meta/recipes-extended/mdadm/mdadm_3.3.3.bb         | 87 ++++++++++++++++++++++
 6 files changed, 117 insertions(+), 121 deletions(-)
 delete mode 100644 meta/recipes-extended/mdadm/files/inline.patch
 create mode 100644 meta/recipes-extended/mdadm/files/mdadm.conf
 create mode 100644 meta/recipes-extended/mdadm/files/mdmonitor.service
 delete mode 100644 meta/recipes-extended/mdadm/mdadm_3.3.2.bb
 create mode 100644 meta/recipes-extended/mdadm/mdadm_3.3.3.bb

diff --git a/meta/recipes-extended/mdadm/files/inline.patch b/meta/recipes-extended/mdadm/files/inline.patch
deleted file mode 100644
index 9009f06..0000000
--- a/meta/recipes-extended/mdadm/files/inline.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-with gnu11 turning on a default with gcc-5 we have to abide by new inline semantics
-using 'inline' and using is in same translation unit means an external definition has to exist
-same like "external inline" in gnu89, we simply make the functions static inline since they
-are just meant to be used in this file
-
-Upstream-Status: Pending
-Signed-off-by: Khem Raj <raj.khem at gmail.com>
-
-Index: mdadm-3.3.2/bitmap.c
-===================================================================
---- mdadm-3.3.2.orig/bitmap.c
-+++ mdadm-3.3.2/bitmap.c
-@@ -20,7 +20,7 @@
- 
- #include "mdadm.h"
- 
--inline void sb_le_to_cpu(bitmap_super_t *sb)
-+static inline void sb_le_to_cpu(bitmap_super_t *sb)
- {
- 	sb->magic = __le32_to_cpu(sb->magic);
- 	sb->version = __le32_to_cpu(sb->version);
-@@ -34,7 +34,7 @@ inline void sb_le_to_cpu(bitmap_super_t
- 	sb->write_behind = __le32_to_cpu(sb->write_behind);
- }
- 
--inline void sb_cpu_to_le(bitmap_super_t *sb)
-+static inline void sb_cpu_to_le(bitmap_super_t *sb)
- {
- 	sb_le_to_cpu(sb); /* these are really the same thing */
- }
-@@ -74,7 +74,7 @@ typedef struct bitmap_info_s {
- } bitmap_info_t;
- 
- /* count the dirty bits in the first num_bits of byte */
--inline int count_dirty_bits_byte(char byte, int num_bits)
-+static inline int count_dirty_bits_byte(char byte, int num_bits)
- {
- 	int num = 0;
- 
diff --git a/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch b/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
index 143a8d9..ae1b7ae 100644
--- a/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
+++ b/meta/recipes-extended/mdadm/files/mdadm-3.3.2_x32_abi_time_t.patch
@@ -1,26 +1,32 @@
-When try to print time_t values as a long int it causes an error because time_t
-data type in x32 ABI is long long int.
+From c668c66fc0505e8bfff38fdf2d30b7663d0e94fd Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst at cn.fujitsu.com>
+Date: Sat, 25 Jul 2015 22:02:00 +0900
+Subject: [PATCH] When try to print time_t values as a long int it causes an
+ error because time_t data type in x32 ABI is long long int.
 
 Upstream-Status: Pending
 
-Signed-off-by: Aníbal Limón <anibal.limon at linux.intel.com>
+Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
+---
+ monitor.c | 4 ++++
+ 1 file changed, 4 insertions(+)
 
 diff --git a/monitor.c b/monitor.c
-index f81e707..19ea041 100644
+index 870cc1a..068aab4 100644
 --- a/monitor.c
 +++ b/monitor.c
-@@ -260,8 +260,13 @@ static int read_and_act(struct active_array *a)
+@@ -259,7 +259,11 @@ static int read_and_act(struct active_array *a)
  	}
  
  	gettimeofday(&tv, NULL);
 +#if defined(__x86_64__) && defined(__ILP32__)
 +	dprintf("%s(%d): %lld.%06lld state:%s prev:%s action:%s prev: %s start:%llu\n",
 +#else
- 	dprintf("%s(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n",
--		__func__, a->info.container_member,
+ 	dprintf("(%d): %ld.%06ld state:%s prev:%s action:%s prev: %s start:%llu\n",
 +#endif
-+		__func__,
-+		a->info.container_member,
+ 		a->info.container_member,
  		tv.tv_sec, tv.tv_usec,
  		array_states[a->curr_state],
- 		array_states[a->prev_state],
+-- 
+1.8.4.2
+
diff --git a/meta/recipes-extended/mdadm/files/mdadm.conf b/meta/recipes-extended/mdadm/files/mdadm.conf
new file mode 100644
index 0000000..b869d8f
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/mdadm.conf
@@ -0,0 +1 @@
+MAILADDR root at mydomain.com
diff --git a/meta/recipes-extended/mdadm/files/mdmonitor.service b/meta/recipes-extended/mdadm/files/mdmonitor.service
new file mode 100644
index 0000000..3664ceb
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/mdmonitor.service
@@ -0,0 +1,13 @@
+[Unit]
+Description=Software RAID monitoring and management
+After=syslog.target
+ConditionPathExists=@sysconfdir@/mdadm.conf
+
+[Service]
+Type=forking
+PIDFile=@localstatedir@/run/mdadm/mdadm.pid
+EnvironmentFile=- at sysconfdir@/sysconfig/mdmonitor
+ExecStart=@basesbindir@/mdadm --monitor --scan -f --pid-file=@localstatedir@/run/mdadm/mdadm.pid
+
+[Install]
+WantedBy=multi-user.target
diff --git a/meta/recipes-extended/mdadm/mdadm_3.3.2.bb b/meta/recipes-extended/mdadm/mdadm_3.3.2.bb
deleted file mode 100644
index b2fbe4a..0000000
--- a/meta/recipes-extended/mdadm/mdadm_3.3.2.bb
+++ /dev/null
@@ -1,72 +0,0 @@
-SUMMARY = "Tool for managing software RAID under Linux"
-HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
-
-# Some files are GPLv2+ while others are GPLv2.
-LICENSE = "GPLv2 & GPLv2+"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
-                    file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
-                    file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
-
-
-SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
-           file://mdadm-3.2.2_fix_for_x32.patch \
-           file://gcc-4.9.patch \
-           file://mdadm-3.3.2_x32_abi_time_t.patch \
-           file://inline.patch \
-           file://run-ptest \
-	  "
-
-SRC_URI[md5sum] = "44698d351501cac6a89072dc877eb220"
-SRC_URI[sha256sum] = "0f3a7e1a76b13892b79f9fceaf99ecb23513260389a768ac644ffa3ae06e5b8c"
-
-CFLAGS += "-fno-strict-aliasing"
-
-inherit autotools-brokensep
-
-EXTRA_OEMAKE = "CHECK_RUN_DIR=0"
-# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
-# prevents 64-bit userland from seeing this definition, instead defaulting
-# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
-# int-ll64.h included
-EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
-EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
-EXTRA_OEMAKE_append_mips64n32 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
-
-do_compile() {
-	oe_runmake
-}
-
-do_install() {
-	export STRIP=""
-	autotools_do_install
-}
-
-FILES_${PN} += "${base_libdir}/udev/rules.d/*.rules"
-
-inherit ptest
-
-do_compile_ptest() {
-	oe_runmake test
-}
-
-do_install_ptest() {
-	cp -a ${S}/tests ${D}${PTEST_PATH}/tests
-	cp ${S}/test ${D}${PTEST_PATH}
-	sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
-	ln -s /sbin/mdadm ${D}${PTEST_PATH}/mdadm
-	for prg in test_stripe swap_super raid6check
-	do
-		install -D -m 755 $prg ${D}${PTEST_PATH}/
-	done
-}
-RDEPENDS_${PN}-ptest += "bash"
-RRECOMMENDS_${PN}-ptest += " \
-    coreutils \
-    util-linux \
-    kernel-module-loop \
-    kernel-module-linear \
-    kernel-module-raid0 \
-    kernel-module-raid1 \
-    kernel-module-raid10 \
-    kernel-module-raid456 \
-"
diff --git a/meta/recipes-extended/mdadm/mdadm_3.3.3.bb b/meta/recipes-extended/mdadm/mdadm_3.3.3.bb
new file mode 100644
index 0000000..52d3d0e
--- /dev/null
+++ b/meta/recipes-extended/mdadm/mdadm_3.3.3.bb
@@ -0,0 +1,87 @@
+SUMMARY = "Tool for managing software RAID under Linux"
+HOMEPAGE = "http://www.kernel.org/pub/linux/utils/raid/mdadm/"
+
+# Some files are GPLv2+ while others are GPLv2.
+LICENSE = "GPLv2 & GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+                    file://mdmon.c;beginline=4;endline=18;md5=af7d8444d9c4d3e5c7caac0d9d34039d \
+                    file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161"
+
+
+SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
+           file://mdadm-3.2.2_fix_for_x32.patch \
+           file://mdadm-3.3.2_x32_abi_time_t.patch \
+           file://gcc-4.9.patch \
+           file://run-ptest \
+           file://mdmonitor.service \
+           file://mdadm.conf \
+	  "
+SRC_URI[md5sum] = "dabd5ce70f3fff340cad7c18e4a062ab"
+SRC_URI[sha256sum] = "f5b50a6b506697fb9968d660444447473b453f9eaefaa9b7d31c184693b8a28c"
+
+CFLAGS += "-fno-strict-aliasing"
+
+inherit autotools-brokensep systemd
+
+EXTRA_OEMAKE = "CHECK_RUN_DIR=0"
+# PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
+# prevents 64-bit userland from seeing this definition, instead defaulting
+# to u64 == long in userspace. Define __SANE_USERSPACE_TYPES__ to get
+# int-ll64.h included
+EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
+EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
+EXTRA_OEMAKE_append_mips64n32 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__'
+
+do_compile() {
+	oe_runmake
+}
+
+do_install() {
+	export STRIP=""
+	autotools_do_install
+}
+
+do_install_append() {
+        install -d ${D}/${sysconfdir}/
+        install -m 644 ${WORKDIR}/mdadm.conf ${D}${sysconfdir}/
+        install -d ${D}/${systemd_unitdir}/system
+        install -m 644 ${WORKDIR}/mdmonitor.service ${D}/${systemd_unitdir}/system
+        sed -i -e 's, at basesbindir@,${base_sbindir},g' \
+                -e 's, at localstatedir@,${localstatedir},g' \
+                -e 's, at sysconfdir@,${sysconfdir},g' \
+                ${D}/${systemd_unitdir}/system/mdmonitor.service
+        install -d ${D}/${localstatedir}
+        install -d ${D}/${localstatedir}/run
+        install -d -m 700 ${D}/${localstatedir}/run/mdadm
+}
+FILES_${PN} += "${base_libdir}/udev/rules.d/*.rules \
+                /run/mdadm \
+                ${systemd_unitdir}"
+
+inherit ptest
+
+do_compile_ptest() {
+	oe_runmake test
+}
+
+do_install_ptest() {
+	cp -a ${S}/tests ${D}${PTEST_PATH}/tests
+	cp ${S}/test ${D}${PTEST_PATH}
+	sed -e 's!sleep 0.*!sleep 1!g; s!/var/tmp!/!g' -i ${D}${PTEST_PATH}/test
+	ln -s /sbin/mdadm ${D}${PTEST_PATH}/mdadm
+	for prg in test_stripe swap_super raid6check
+	do
+		install -D -m 755 $prg ${D}${PTEST_PATH}/
+	done
+}
+RDEPENDS_${PN}-ptest += "bash"
+RRECOMMENDS_${PN}-ptest += " \
+    coreutils \
+    util-linux \
+    kernel-module-loop \
+    kernel-module-linear \
+    kernel-module-raid0 \
+    kernel-module-raid1 \
+    kernel-module-raid10 \
+    kernel-module-raid456 \
+"
-- 
1.8.4.2




More information about the Openembedded-core mailing list