From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail1.windriver.com (mail1.windriver.com [147.11.146.13]) by mail.openembedded.org (Postfix) with ESMTP id 0B00F65CCD for ; Wed, 8 Jul 2015 08:42:39 +0000 (UTC) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail1.windriver.com (8.15.1/8.15.1) with ESMTPS id t688gcLQ007875 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 8 Jul 2015 01:42:38 -0700 (PDT) Received: from [128.224.162.211] (128.224.162.211) by ALA-HCA.corp.ad.wrs.com (147.11.189.50) with Microsoft SMTP Server (TLS) id 14.3.224.2; Wed, 8 Jul 2015 01:42:38 -0700 Message-ID: <559CE2A5.20303@windriver.com> Date: Wed, 8 Jul 2015 16:43:17 +0800 From: ChenQi User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Mike Looijmans , References: <559CDB4A.4030805@topic.nl> In-Reply-To: <559CDB4A.4030805@topic.nl> X-Originating-IP: [128.224.162.211] Subject: Re: [PATCH 1/1] nfs-utils: fix to start nfs-server correctly in systemd X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 08 Jul 2015 08:42:40 -0000 Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit On 07/08/2015 04:11 PM, Mike Looijmans wrote: > On 08-07-15 10:07, Chen Qi wrote: >> 1. Change RRECOMMENDS to RDEPENDS for kernel-module-nfsd because this >> kernel >> module is a necessity for nfs server. > > No it is not! Like any kernel module, it can be built in, and then > there will be no such package, and the package becomes uninstallable. > > That is the reason that kernel-module-* dependencies are (almost) > always RRECOMMENDS. > > Moving this to RDEPENDS will break things on configurations where the > module is built in. > > (Maybe some day the kernel will RPROVIDE such packages, that would > solve it) > > OK. Thanks for explaining it. I'll change it back and send out V2. //Chen Qi >> 2. Add proc-fs-nfsd.mount systemd unit file because it's needed for >> nfs server >> to start correctly. >> >> After this change, in a systemd based image, we can use `systemctl start >> nfs-server' to start the nfs server and things would work correctly. >> >> Signed-off-by: Chen Qi >> --- >> .../nfs-utils/nfs-utils/proc-fs-nfsd.mount | 8 ++++++++ >> meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb | 12 >> +++++++++++- >> 2 files changed, 19 insertions(+), 1 deletion(-) >> create mode 100644 >> meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount >> >> diff --git >> a/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount >> b/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount >> new file mode 100644 >> index 0000000..630801b >> --- /dev/null >> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount >> @@ -0,0 +1,8 @@ >> +[Unit] >> +Description=NFSD configuration filesystem >> +After=systemd-modules-load.service >> + >> +[Mount] >> +What=nfsd >> +Where=/proc/fs/nfsd >> +Type=nfsd >> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb >> b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb >> index 0bcd65e..fa56c1f 100644 >> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb >> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.1.bb >> @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = >> "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84" >> DEPENDS = "libcap libnfsidmap libevent util-linux sqlite3" >> RDEPENDS_${PN}-client = "rpcbind bash" >> RDEPENDS_${PN} = "${PN}-client bash" >> -RRECOMMENDS_${PN} = "kernel-module-nfsd" >> +RDEPENDS_${PN} = "kernel-module-nfsd" >> >> inherit useradd >> >> @@ -28,6 +28,7 @@ SRC_URI = >> "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.x >> file://nfs-server.service \ >> file://nfs-mountd.service \ >> file://nfs-statd.service \ >> + file://proc-fs-nfsd.mount \ >> file://nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch \ >> file://nfs-utils-debianize-start-statd.patch \ >> " >> @@ -87,6 +88,8 @@ FILES_${PN}-client = "${base_sbindir}/*mount.nfs* >> ${sbindir}/*statd \ >> FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat" >> RDEPENDS_${PN}-stats = "python" >> >> +FILES_${PN} += "${systemd_unitdir}" >> + >> # Make clean needed because the package comes with >> # precompiled 64-bit objects that break the build >> do_compile_prepend() { >> @@ -108,6 +111,13 @@ do_install_append () { >> sed -i -e 's,@SBINDIR@,${sbindir},g' \ >> -e 's,@SYSCONFDIR@,${sysconfdir},g' \ >> ${D}${systemd_unitdir}/system/*.service >> + if >> ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; >> then >> + install -d ${D}${sysconfdir}/modules-load.d >> + echo "nfsd" > ${D}${sysconfdir}/modules-load.d/nfsd.conf >> + install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount >> ${D}${systemd_unitdir}/system/ >> + install -d ${D}${systemd_unitdir}/system/sysinit.target.wants/ >> + ln -sf ../proc-fs-nfsd.mount >> ${D}${systemd_unitdir}/system/sysinit.target.wants/proc-fs-nfsd.mount >> + fi >> >> # kernel code as of 3.8 hard-codes this path as a default >> install -d ${D}/var/lib/nfs/v4recovery >> > > >