[OE-core] [PATCH] nfs-utils: Add systemd support
Shakeel, Muhammad
muhammad_shakeel at mentor.com
Wed Jul 10 11:48:07 UTC 2013
From: Muhammad Shakeel <muhammad_shakeel at mentor.com>
- Adds systemd support in nfs-utils
- Install 'sysv' related files only if distro has this feature
Signed-off-by: Muhammad Shakeel <muhammad_shakeel at mentor.com>
---
.../nfs-utils/nfs-utils/nfs-utils.service | 16 +++++++++++++++
.../nfs-utils/nfs-utils_1.2.8.bb | 21 ++++++++++++++++----
2 files changed, 33 insertions(+), 4 deletions(-)
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.service
new file mode 100644
index 0000000..e480cc8
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=NFS Server
+Requires=rpcbind.service
+After=rpcbind.service
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/rpc.nfsd
+ExecStart=/usr/sbin/rpc.mountd
+ExecStart=/usr/sbin/rpc.statd
+ExecStart=/usr/sbin/exportfs -a
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
+
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb
index 40b897b..508b4b1 100644
--- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.8.bb
@@ -15,7 +15,8 @@ RRECOMMENDS_${PN} = "kernel-module-nfsd"
SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.bz2 \
file://nfs-utils-1.0.6-uclibc.patch \
file://nfs-utils-1.2.3-sm-notify-res_init.patch \
- file://nfsserver"
+ file://nfsserver \
+ file://nfs-utils.service "
SRC_URI[md5sum] = "6e7d97de51e428a0b8698c16ca23db77"
SRC_URI[sha256sum] = "1cc8f02a633eddbf0a1d93421f331479c4cdab4c5ab33b8bf8c7c369f9156ac6"
@@ -31,7 +32,10 @@ INITSCRIPT_NAME = "nfsserver"
# in the shutdown levels, but that works fine.
INITSCRIPT_PARAMS = "defaults"
-inherit autotools update-rc.d
+inherit autotools update-rc.d systemd
+
+SYSTEMD_SERVICE_${PN} = "nfs-utils.service"
+SYSTEMD_AUTO_ENABLE = "disable"
# --enable-uuid is need for cross-compiling
EXTRA_OECONF = "--with-statduser=nobody \
@@ -62,12 +66,21 @@ do_compile_prepend() {
}
do_install_append () {
- install -d ${D}${sysconfdir}/init.d
install -d ${D}${localstatedir}/lib/nfs/statd
- install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
# kernel code as of 3.8 hard-codes this path as a default
install -d ${D}/var/lib/nfs/v4recovery
+ if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
+ install -d ${D}${sysconfdir}/init.d
+ install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
+ fi
+
+ if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
+ install -d ${D}${systemd_unitdir}/system
+ install ${WORKDIR}/nfs-utils.service ${D}${systemd_unitdir}/system/
+ sed -i 's,/usr/sbin/,${sbindir}/,g' ${D}${systemd_unitdir}/system/nfs-utils.service
+ fi
+
# the following are built by CC_FOR_BUILD
rm -f ${D}${sbindir}/rpcdebug
rm -f ${D}${sbindir}/rpcgen
--
1.7.9.5
More information about the Openembedded-core
mailing list