From: Muhammad Shakeel <muhammad_shak...@mentor.com> - Adds systemd support in nfs-utils - Install 'sysv' related files only if distro has this feature
Signed-off-by: Muhammad Shakeel <muhammad_shak...@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 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core