[OE-core] [PATCH v2] mdadm: add systemd support

Li Xin lixin.fnst at cn.fujitsu.com
Wed Apr 27 08:34:34 UTC 2016


Add mdadm.service to support systemd systems and add
configuration file.

Signed-off-by: Li Xin <lixin.fnst at cn.fujitsu.com>
---
 meta/recipes-extended/mdadm/files/mdadm.service | 13 +++++++++++++
 meta/recipes-extended/mdadm/mdadm_3.4.bb        | 14 +++++++++++++-
 2 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-extended/mdadm/files/mdadm.service

diff --git a/meta/recipes-extended/mdadm/files/mdadm.service b/meta/recipes-extended/mdadm/files/mdadm.service
new file mode 100644
index 0000000..3664ceb
--- /dev/null
+++ b/meta/recipes-extended/mdadm/files/mdadm.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.4.bb b/meta/recipes-extended/mdadm/mdadm_3.4.bb
index 142dfdd..3ceef4b 100644
--- a/meta/recipes-extended/mdadm/mdadm_3.4.bb
+++ b/meta/recipes-extended/mdadm/mdadm_3.4.bb
@@ -19,12 +19,13 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \
            file://0001-Fix-some-type-comparison-problems.patch \
            file://0001-Fix-the-path-of-corosync-and-dlm-header-files-check.patch \
            file://run-ptest \
+           file://mdadm.service \
 	  "
 SRC_URI[md5sum] = "04b8b21f637540350f8517c7e68d3c63"
 SRC_URI[sha256sum] = "27d0be4627d38a12ddcd1c1c3721d649d4e89e1093914497e22b57245cda8808"
 
 CFLAGS += "-fno-strict-aliasing"
-inherit autotools-brokensep
+inherit autotools-brokensep systemd
 
 EXTRA_OEMAKE = 'CHECK_RUN_DIR=0 CXFLAGS="${CFLAGS}"'
 # PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's asm/types.h
@@ -42,8 +43,19 @@ do_compile() {
 do_install() {
 	export STRIP=""
 	autotools_do_install
+	install -d ${D}/${sysconfdir}/
+	install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/
+	install -d ${D}${systemd_unitdir}/system
+	install -m 644 ${WORKDIR}/mdadm.service ${D}${systemd_system_unitdir}
+	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/mdadm.service
+
 }
 
+SYSTEMD_SERVICE_${PN} = "mdadm.service"
+
 FILES_${PN} += "${base_libdir}/udev/rules.d/*.rules"
 
 inherit ptest
-- 
1.8.4.2






More information about the Openembedded-core mailing list