Message ID | 20240329012413.892379-1-danismostlikely@gmail.com |
---|---|
State | New |
Headers | show |
Series | [v5,1/3] nfs-utils: clean up startup | expand |
This still fails on the AB: https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/9115/steps/14/logs/stdio On 28/03/2024 19:24:10-0600, Dan McGregor wrote: > From: Daniel McGregor <daniel.mcgregor@vecima.com> > > Change the sysvinit script to start at the S runlevel, this matches > Debian, and prevents systemd from generating a unit file for it. > Also have the nfsd systemd service request the nfsd kernel filesystem > mountpoint. This avoids startup failures in unpriviled containers > or other setups that don't support the filesystem. > > Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> > --- > meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon | 4 ++-- > meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb | 9 ++++----- > 2 files changed, 6 insertions(+), 7 deletions(-) > > diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > index 992267d5a16..4c1ad17c3c6 100644 > --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > @@ -3,7 +3,7 @@ > # Provides: nfs-common > # Required-Start: $portmap hwclock > # Required-Stop: $portmap hwclock > -# Default-Start: 2 3 4 5 > +# Default-Start: S > # Default-Stop: 0 1 6 > # Short-Description: NFS support for both client and server > # Description: NFS is a popular protocol for file sharing across > @@ -20,7 +20,7 @@ > . /etc/init.d/functions > > test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd > -test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid > +test -z "$STATD_PID" && STATD_PID=/run/rpc.statd.pid > # > # The default state directory is /var/lib/nfs > test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs > 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 2f2644f9a83..527fcd609c1 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 > @@ -132,15 +132,14 @@ do_install:append () { > 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 > - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then > - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/ > - install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ > - ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount > - fi > + # 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 > > # kernel code as of 3.8 hard-codes this path as a default > install -d ${D}/var/lib/nfs/v4recovery > -- > 2.41.0 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#197616): https://lists.openembedded.org/g/openembedded-core/message/197616 > Mute This Topic: https://lists.openembedded.org/mt/105209254/3617179 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alexandre.belloni@bootlin.com] > -=-=-=-=-=-=-=-=-=-=-=- >
Thanks. All my local testing against the defaults is now working as of v7. New upstream statuses in patches and fixed packaging errors I had introduced. On Sun, Mar 31, 2024, 15:34 Alexandre Belloni <alexandre.belloni@bootlin.com> wrote: > This still fails on the AB: > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/23/builds/9115/steps/14/logs/stdio > > On 28/03/2024 19:24:10-0600, Dan McGregor wrote: > > From: Daniel McGregor <daniel.mcgregor@vecima.com> > > > > Change the sysvinit script to start at the S runlevel, this matches > > Debian, and prevents systemd from generating a unit file for it. > > Also have the nfsd systemd service request the nfsd kernel filesystem > > mountpoint. This avoids startup failures in unpriviled containers > > or other setups that don't support the filesystem. > > > > Signed-off-by: Daniel McGregor <daniel.mcgregor@vecima.com> > > --- > > meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon | 4 ++-- > > meta/recipes-connectivity/nfs-utils/nfs-utils_2.6.4.bb | 9 ++++----- > > 2 files changed, 6 insertions(+), 7 deletions(-) > > > > diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > > index 992267d5a16..4c1ad17c3c6 100644 > > --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > > +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon > > @@ -3,7 +3,7 @@ > > # Provides: nfs-common > > # Required-Start: $portmap hwclock > > # Required-Stop: $portmap hwclock > > -# Default-Start: 2 3 4 5 > > +# Default-Start: S > > # Default-Stop: 0 1 6 > > # Short-Description: NFS support for both client and server > > # Description: NFS is a popular protocol for file sharing across > > @@ -20,7 +20,7 @@ > > . /etc/init.d/functions > > > > test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd > > -test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid > > +test -z "$STATD_PID" && STATD_PID=/run/rpc.statd.pid > > # > > # The default state directory is /var/lib/nfs > > test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs > > 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 2f2644f9a83..527fcd609c1 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 > > @@ -132,15 +132,14 @@ do_install:append () { > > 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 > > - if > ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then > > - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount > ${D}${systemd_system_unitdir}/ > > - install -d > ${D}${systemd_system_unitdir}/sysinit.target.wants/ > > - ln -sf ../proc-fs-nfsd.mount > ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount > > - fi > > + # 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 > > > > # kernel code as of 3.8 hard-codes this path as a default > > install -d ${D}/var/lib/nfs/v4recovery > > -- > > 2.41.0 > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > > Links: You receive all messages sent to this group. > > View/Reply Online (#197616): > https://lists.openembedded.org/g/openembedded-core/message/197616 > > Mute This Topic: https://lists.openembedded.org/mt/105209254/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 >
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon index 992267d5a16..4c1ad17c3c6 100644 --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon @@ -3,7 +3,7 @@ # Provides: nfs-common # Required-Start: $portmap hwclock # Required-Stop: $portmap hwclock -# Default-Start: 2 3 4 5 +# Default-Start: S # Default-Stop: 0 1 6 # Short-Description: NFS support for both client and server # Description: NFS is a popular protocol for file sharing across @@ -20,7 +20,7 @@ . /etc/init.d/functions test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd -test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid +test -z "$STATD_PID" && STATD_PID=/run/rpc.statd.pid # # The default state directory is /var/lib/nfs test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs 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 2f2644f9a83..527fcd609c1 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 @@ -132,15 +132,14 @@ do_install:append () { 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 - if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then - install -m 0644 ${WORKDIR}/proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/ - install -d ${D}${systemd_system_unitdir}/sysinit.target.wants/ - ln -sf ../proc-fs-nfsd.mount ${D}${systemd_system_unitdir}/sysinit.target.wants/proc-fs-nfsd.mount - fi + # 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 # kernel code as of 3.8 hard-codes this path as a default install -d ${D}/var/lib/nfs/v4recovery