From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Dan McGregor <danismostlikely@gmail.com>
Cc: openembedded-core@lists.openembedded.org,
Daniel McGregor <daniel.mcgregor@vecima.com>
Subject: Re: [OE-core] [PATCH v7 2/3] nfs-utils: Use upstream systemd service files
Date: Sun, 7 Apr 2024 22:35:57 +0200 [thread overview]
Message-ID: <2024040720355780204503@mail.local> (raw)
In-Reply-To: <20240402002058.3910908-2-danismostlikely@gmail.com>
Hello,
I just got this which I think is caused by this series:
https://autobuilder.yoctoproject.org/typhoon/#/builders/104/builds/7711/steps/11/logs/stdio
However, I'm not sure yet why I didn't see it in my previous builds
On 01/04/2024 18:20:55-0600, Dan McGregor wrote:
> From: Daniel McGregor <daniel.mcgregor@vecima.com>
>
> Reduce diffs against upstream by using the service files provided
> by them. This reduces our dependence on patches that simply change
> the names of a service.
> This also changes the way some nfs options get set for systemd, it
> introduces the nfs.conf file for configuration, which all daemons
> already support.
>
> Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com>
> ---
> .../bugfix-adjust-statd-service-name.patch | 39 -----------------
> .../nfs-utils/nfs-utils/nfs-mountd.service | 18 --------
> .../nfs-utils/nfs-utils/nfs-server.service | 24 -----------
> .../nfs-utils/nfs-utils/nfs-statd.service | 16 -------
> .../nfs-utils-debianize-start-statd.patch | 42 -------------------
> .../nfs-utils/nfs-utils/nfs-utils.conf | 35 ----------------
> .../nfs-utils/nfs-utils/proc-fs-nfsd.mount | 8 ----
> .../nfs-utils/nfs-utils_2.6.4.bb | 33 +++++----------
> 8 files changed, 11 insertions(+), 204 deletions(-)
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
> delete mode 100644 meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
>
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
> deleted file mode 100644
> index f13d7b380ca..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/bugfix-adjust-statd-service-name.patch
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -From 398fed3bb0350cb1229e54e7020ae0e044c206d1 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?Ulrich=20=C3=96lmann?= <u.oelmann@pengutronix.de>
> -Date: Wed, 17 Feb 2016 08:33:45 +0100
> -Subject: bugfix: adjust statd service name
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Upstream uses 'rpc-statd.service' and Yocto introduced 'nfs-statd.service'
> -instead but forgot to update the mount.nfs helper 'start-statd' accordingly.
> -
> -Upstream-Status: Inappropriate [other]
> -
> -Signed-off-by: Ulrich �lmann <u.oelmann@pengutronix.de>
> -
> -Rebase it.
> -
> -Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ----
> - utils/statd/start-statd | 4 ++--
> - 1 file changed, 2 insertions(+), 2 deletions(-)
> -
> -diff --git a/utils/statd/start-statd b/utils/statd/start-statd
> -index af5c950..df9b9be 100755
> ---- a/utils/statd/start-statd
> -+++ b/utils/statd/start-statd
> -@@ -28,10 +28,10 @@ fi
> - # First try systemd if it's installed.
> - if [ -d /run/systemd/system ]; then
> - # Quit only if the call worked.
> -- if systemctl start rpc-statd.service; then
> -+ if systemctl start nfs-statd.service; then
> - # Ensure systemd knows not to stop rpc.statd or its dependencies
> - # on 'systemctl isolate ..'
> -- systemctl add-wants --runtime remote-fs.target rpc-statd.service
> -+ systemctl add-wants --runtime remote-fs.target nfs-statd.service
> - exit 0
> - fi
> - fi
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
> deleted file mode 100644
> index ebfe64b9ced..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
> +++ /dev/null
> @@ -1,18 +0,0 @@
> -[Unit]
> -Description=NFS Mount Daemon
> -DefaultDependencies=no
> -After=rpcbind.socket
> -Requires=proc-fs-nfsd.mount
> -After=proc-fs-nfsd.mount
> -After=network.target local-fs.target
> -BindsTo=nfs-server.service
> -ConditionPathExists=@SYSCONFDIR@/exports
> -
> -[Service]
> -EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
> -ExecStart=@SBINDIR@/rpc.mountd -F $MOUNTD_OPTS
> -LimitNOFILE=@HIGH_RLIMIT_NOFILE@
> -StateDirectory=nfs
> -
> -[Install]
> -WantedBy=multi-user.target
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
> deleted file mode 100644
> index 15ceee04d0d..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -[Unit]
> -Description=NFS server and services
> -DefaultDependencies=no
> -Requires=network.target proc-fs-nfsd.mount
> -Requires=nfs-mountd.service
> -Wants=rpcbind.service
> -After=local-fs.target
> -After=network.target proc-fs-nfsd.mount rpcbind.service nfs-mountd.service
> -ConditionPathExists=@SYSCONFDIR@/exports
> -
> -[Service]
> -Type=oneshot
> -EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
> -ExecStartPre=@SBINDIR@/exportfs -r
> -ExecStart=@SBINDIR@/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
> -ExecStop=@SBINDIR@/rpc.nfsd 0
> -ExecStopPost=@SBINDIR@/exportfs -au
> -ExecStopPost=@SBINDIR@/exportfs -f
> -ExecReload=@SBINDIR@/exportfs -r
> -RemainAfterExit=yes
> -StateDirectory=nfs
> -
> -[Install]
> -WantedBy=multi-user.target
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
> deleted file mode 100644
> index b519194121c..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
> +++ /dev/null
> @@ -1,16 +0,0 @@
> -[Unit]
> -Description=NFS status monitor for NFSv2/3 locking.
> -DefaultDependencies=no
> -Conflicts=umount.target
> -Requires=nss-lookup.target rpcbind.service
> -After=network.target nss-lookup.target rpcbind.service
> -ConditionPathExists=@SYSCONFDIR@/exports
> -
> -[Service]
> -EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
> -ExecStart=@SBINDIR@/rpc.statd -F $STATD_OPTS
> -LimitNOFILE=@HIGH_RLIMIT_NOFILE@
> -StateDirectory=nfs
> -
> -[Install]
> -WantedBy=multi-user.target
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch
> deleted file mode 100644
> index ede0dcefc49..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-debianize-start-statd.patch
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -[PATCH] nfs-utils: debianize start-statd
> -
> -Upstream-Status: Pending
> -
> -make start-statd command to use nfscommon configure, too.
> -
> -Signed-off-by: Henrik Riomar <henrik.riomar@ericsson.com>
> -Signed-off-by: Li Wang <li.wang@windriver.com>
> -Signed-off-by: Roy Li <rongqing.li@windriver.com>
> -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
> ----
> - utils/statd/start-statd | 10 +++++++++-
> - 1 file changed, 9 insertions(+), 1 deletion(-)
> -
> -diff --git a/utils/statd/start-statd b/utils/statd/start-statd
> -index 2fd6039..f591b34 100755
> ---- a/utils/statd/start-statd
> -+++ b/utils/statd/start-statd
> -@@ -17,6 +17,14 @@ then
> - # statd already running - must have been slow to respond.
> - exit 0
> - fi
> -+
> -+# Read config
> -+DEFAULTFILE=/etc/default/nfs-common
> -+NEED_IDMAPD=
> -+if [ -f $DEFAULTFILE ]; then
> -+ . $DEFAULTFILE
> -+fi
> -+
> - # First try systemd if it's installed.
> - if [ -d /run/systemd/system ]; then
> - # Quit only if the call worked.
> -@@ -25,4 +33,4 @@ fi
> -
> - cd /
> - # Fall back to launching it ourselves.
> --exec rpc.statd --no-notify
> -+exec rpc.statd --no-notify $STATDOPTS
> ---
> -2.6.6
> -
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
> deleted file mode 100644
> index a1007a7fbf4..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
> +++ /dev/null
> @@ -1,35 +0,0 @@
> -# Parameters to be passed to nfs-utils (clients & server) service files.
> -#
> -
> -# Options to pass to rpc.nfsd.
> -NFSD_OPTS=""
> -
> -# Number of servers to start up; the default is 8 servers.
> -NFSD_COUNT=""
> -
> -# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
> -PROCNFSD_MOUNTPOINT=""
> -
> -# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
> -PROCNFSD_MOUNTOPTS=""
> -
> -# Options for rpc.mountd.
> -# If you have a port-based firewall, you might want to set up
> -# a fixed port here using the --port option.
> -MOUNTD_OPTS=""
> -
> -# Parameters to be passed to nfs-common (nfs clients & server) init script.
> -#
> -
> -# If you do not set values for the NEED_ options, they will be attempted
> -# autodetected; this should be sufficient for most people. Valid alternatives
> -# for the NEED_ options are "yes" and "no".
> -
> -# Do you want to start the statd daemon? It is not needed for NFSv4.
> -NEED_STATD=""
> -
> -# Options to pass to rpc.statd.
> -# N.B. statd normally runs on both client and server, and run-time
> -# options should be specified accordingly.
> -# STATD_OPTS="-p 32765 -o 32766"
> -STATD_OPTS=""
> 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
> deleted file mode 100644
> index 630801b3751..00000000000
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/proc-fs-nfsd.mount
> +++ /dev/null
> @@ -1,8 +0,0 @@
> -[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_2.6.4.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb
> index 527fcd609c1..bb155f8568e 100644
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb
> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb
> @@ -21,13 +21,6 @@ USERADD_PARAM:${PN}-client = "--system --home-dir /var/lib/nfs \
> SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
> file://nfsserver \
> file://nfscommon \
> - file://nfs-utils.conf \
> - file://nfs-server.service \
> - file://nfs-mountd.service \
> - file://nfs-statd.service \
> - file://proc-fs-nfsd.mount \
> - file://nfs-utils-debianize-start-statd.patch \
> - file://bugfix-adjust-statd-service-name.patch \
> file://0001-Makefile.am-fix-undefined-function-for-libnsm.a.patch \
> file://clang-warnings.patch \
> file://0001-locktest-Makefile.am-Do-not-use-build-flags.patch \
> @@ -48,8 +41,8 @@ INITSCRIPT_PARAMS:${PN}-client = "defaults 19 21"
> inherit autotools-brokensep update-rc.d systemd pkgconfig
>
> SYSTEMD_PACKAGES = "${PN} ${PN}-client"
> -SYSTEMD_SERVICE:${PN} = "nfs-server.service nfs-mountd.service"
> -SYSTEMD_SERVICE:${PN}-client = "nfs-statd.service"
> +SYSTEMD_SERVICE:${PN} = "nfs-server.service"
> +SYSTEMD_SERVICE:${PN}-client = "nfs-client.target"
>
> # --enable-uuid is need for cross-compiling
> EXTRA_OECONF = "--with-statduser=rpcuser \
> @@ -65,7 +58,7 @@ EXTRA_OECONF = "--with-statduser=rpcuser \
> LDFLAGS:append = " -lsqlite3 -levent"
>
> PACKAGECONFIG ??= "tcp-wrappers \
> - ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
> + ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6 systemd', d)} \
> "
> PACKAGECONFIG:remove:libc-musl = "tcp-wrappers"
> PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
> @@ -74,6 +67,7 @@ PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
> PACKAGECONFIG[nfsv41] = "--enable-nfsv41,--disable-nfsv41,libdevmapper,libdevmapper"
> # keyutils is available in meta-oe
> PACKAGECONFIG[nfsv4] = "--enable-nfsv4,--disable-nfsv4,keyutils,python3-core"
> +PACKAGECONFIG[systemd] = "--with-systemd=${systemd_unitdir}/system,--without-systemd"
>
> PACKAGES =+ "${PN}-client ${PN}-mount ${PN}-stats ${PN}-rpcctl"
>
> @@ -81,14 +75,16 @@ CONFFILES:${PN}-client += "${localstatedir}/lib/nfs/etab \
> ${localstatedir}/lib/nfs/rmtab \
> ${localstatedir}/lib/nfs/xtab \
> ${localstatedir}/lib/nfs/statd/state \
> + ${sysconfdir}/nfs.conf \
> ${sysconfdir}/nfsmount.conf"
>
> FILES:${PN}-client = "${sbindir}/*statd \
> ${libdir}/libnfsidmap.so.* \
> ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
> ${sbindir}/showmount ${sbindir}/nfsstat \
> + ${sbindir}/nfsconf \
> ${localstatedir}/lib/nfs \
> - ${sysconfdir}/nfs-utils.conf \
> + ${sysconfdir}/nfs.conf \
> ${sysconfdir}/nfsmount.conf \
> ${sysconfdir}/init.d/nfscommon \
> ${systemd_system_unitdir}/nfs-statd.service"
> @@ -108,7 +104,7 @@ FILES:${PN} += "${systemd_unitdir} ${libdir}/libnfsidmap/ ${nonarch_libdir}/modp
>
> do_configure:prepend() {
> sed -i -e 's,sbindir = /sbin,sbindir = ${base_sbindir},g' \
> - ${S}/utils/mount/Makefile.am
> + ${S}/utils/mount/Makefile.am ${S}/utils/nfsdcltrack/Makefile.am
> }
>
> # Make clean needed because the package comes with
> @@ -125,18 +121,11 @@ do_install:append () {
> install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
> install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
>
> - install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
> - install -m 0755 ${S}/utils/mount/nfsmount.conf ${D}${sysconfdir}
> + install -m 0644 ${S}/nfs.conf ${D}${sysconfdir}
>
> install -d ${D}${systemd_system_unitdir}
> - install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_system_unitdir}/
> - install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_system_unitdir}/
> - install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_system_unitdir}/
> - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/
> - sed -i -e 's,@SBINDIR@,${sbindir},g' \
> - -e 's,@SYSCONFDIR@,${sysconfdir},g' \
> - -e 's,@HIGH_RLIMIT_NOFILE@,${HIGH_RLIMIT_NOFILE},g' \
> - ${D}${systemd_system_unitdir}/*.service
> + # Retain historical service name so old scripts keep working
> + ln -s rpc-statd.service ${D}${systemd_system_unitdir}/nfs-statd.service
> # Add compatibility symlinks for the sysvinit scripts
> ln -s nfs-server.service ${D}${systemd_system_unitdir}/nfsserver.service
> ln -s /dev/null ${D}${systemd_system_unitdir}/nfscommon.service
> --
> 2.41.0
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#197859): https://lists.openembedded.org/g/openembedded-core/message/197859
> Mute This Topic: https://lists.openembedded.org/mt/105279024/3617179
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-04-07 20:36 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-02 0:20 [PATCH v7 1/3] nfs-utils: clean up startup Dan McGregor
2024-04-02 0:20 ` [PATCH v7 2/3] nfs-utils: Use upstream systemd service files Dan McGregor
2024-04-07 20:35 ` Alexandre Belloni [this message]
2024-04-02 0:20 ` [PATCH v7 3/3] nfs-utils: Configure nfsv4 ID mapping & Kerberos Dan McGregor
2024-04-08 12:51 ` [OE-core] " Enrico Scholz
2024-04-08 17:00 ` Dan McGregor
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=2024040720355780204503@mail.local \
--to=alexandre.belloni@bootlin.com \
--cc=daniel.mcgregor@vecima.com \
--cc=danismostlikely@gmail.com \
--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