Openembedded Core Discussions
 help / color / mirror / Atom feed
From: ChenQi <Qi.Chen@windriver.com>
To: Mike Looijmans <mike.looijmans@topic.nl>,
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 1/1] nfs-utils: fix to start nfs-server correctly in systemd
Date: Wed, 8 Jul 2015 16:43:17 +0800	[thread overview]
Message-ID: <559CE2A5.20303@windriver.com> (raw)
In-Reply-To: <559CDB4A.4030805@topic.nl>

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 <Qi.Chen@windriver.com>
>> ---
>>   .../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
>>
>
>
>



      reply	other threads:[~2015-07-08  8:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-08  8:07 [PATCH 0/1] nfs-utils: fix to start nfs-server correctly in systemd images Chen Qi
2015-07-08  8:07 ` [PATCH 1/1] nfs-utils: fix to start nfs-server correctly in systemd Chen Qi
2015-07-08  8:11   ` Mike Looijmans
2015-07-08  8:43     ` ChenQi [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559CE2A5.20303@windriver.com \
    --to=qi.chen@windriver.com \
    --cc=mike.looijmans@topic.nl \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox