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

Signed-off-by: Li Xin <[email protected]>
---
 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=-@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..2e7b155 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,@basesbindir@,${base_sbindir},g' \
+               -e 's,@localstatedir@,${localstatedir},g' \
+               -e 's,@sysconfdir@,${sysconfdir},g' \
+               ${D}${systemd_system_unitdir}/mdadm.service
+
 }
 
+SYSTEMD_SERVICE_${PN} = "mdadm.service"
+
 FILES_${PN} += "${base_libdir}/udev/rules.d/*.rules"
 
 inherit ptest
-- 
1.8.4.2



-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to