Message ID | 20241106100210.1547916-1-anssi.hannula@bitwise.fi |
---|---|
State | Accepted |
Headers | show |
Series | [1/1] package/nfs-utils: fix unit dependencies without systemd on build host | expand |
Hi Anssi, all, > nfs-utils configure script uses "systemd-escape" to determine the > rpc_pipefs mount point unit name in the non-default case. > If the host build system has no systemd this will silently result in an > empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". > Fix that by depending on host-systemd for build. > Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> > --- > package/nfs-utils/nfs-utils.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk > index b757e3e51d..9ea3bae79d 100644 > --- a/package/nfs-utils/nfs-utils.mk > +++ b/package/nfs-utils/nfs-utils.mk > @@ -79,7 +79,7 @@ NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP > ifeq ($(BR2_INIT_SYSTEMD),y) > NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system > -NFS_UTILS_DEPENDENCIES += systemd > +NFS_UTILS_DEPENDENCIES += systemd host-systemd Given that majority of the developers use Buildroot with Linux distro with systemd I'm not happy about all of then need to build host-systemd. Is there any better solution for this? If not let's fix the problem with accepting the dependency. Acked-by: Petr Vorel <petr.vorel@gmail.com> Kind regards, Petr > else > NFS_UTILS_CONF_OPTS += --without-systemd > endif
Hi Anssi, > nfs-utils configure script uses "systemd-escape" to determine the > rpc_pipefs mount point unit name in the non-default case. > If the host build system has no systemd this will silently result in an > empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". > Fix that by depending on host-systemd for build. I dared to send a patch upstream to detect systemd-escape. Feel free to put there more info (I wonder what distro you use for development). https://lore.kernel.org/linux-nfs/20241114214044.1099257-1-petr.vorel@gmail.com/T/#u Kind regards, Petr
On 14/11/2024 22:04, Petr Vorel wrote: > Hi Anssi, all, > >> nfs-utils configure script uses "systemd-escape" to determine the >> rpc_pipefs mount point unit name in the non-default case. > >> If the host build system has no systemd this will silently result in an >> empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". > >> Fix that by depending on host-systemd for build. > >> Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> >> --- >> package/nfs-utils/nfs-utils.mk | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) > >> diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk >> index b757e3e51d..9ea3bae79d 100644 >> --- a/package/nfs-utils/nfs-utils.mk >> +++ b/package/nfs-utils/nfs-utils.mk >> @@ -79,7 +79,7 @@ NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP > >> ifeq ($(BR2_INIT_SYSTEMD),y) >> NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system >> -NFS_UTILS_DEPENDENCIES += systemd >> +NFS_UTILS_DEPENDENCIES += systemd host-systemd > > Given that majority of the developers use Buildroot with Linux distro with > systemd I'm not happy about all of then need to build host-systemd. Since systemd typically has a lot of dependencies (including host-python3), and a large part of them are also needed for host-systemd, and the build time of host-systemd is only about a minute, I don't think this is such a big deal. Regards, Arnout > > Is there any better solution for this? If not let's fix the problem with > accepting the dependency. > > Acked-by: Petr Vorel <petr.vorel@gmail.com> > > Kind regards, > Petr > >> else >> NFS_UTILS_CONF_OPTS += --without-systemd >> endif > _______________________________________________ > buildroot mailing list > buildroot@buildroot.org > https://lists.buildroot.org/mailman/listinfo/buildroot
On 06/11/2024 11:02, Anssi Hannula via buildroot wrote: > nfs-utils configure script uses "systemd-escape" to determine the > rpc_pipefs mount point unit name in the non-default case. > > If the host build system has no systemd this will silently result in an > empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". > > Fix that by depending on host-systemd for build. > > Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> Applied to master, thanks. Regards, Arnout > --- > package/nfs-utils/nfs-utils.mk | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk > index b757e3e51d..9ea3bae79d 100644 > --- a/package/nfs-utils/nfs-utils.mk > +++ b/package/nfs-utils/nfs-utils.mk > @@ -79,7 +79,7 @@ NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP > > ifeq ($(BR2_INIT_SYSTEMD),y) > NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system > -NFS_UTILS_DEPENDENCIES += systemd > +NFS_UTILS_DEPENDENCIES += systemd host-systemd > else > NFS_UTILS_CONF_OPTS += --without-systemd > endif
>>>>> "Anssi" == Anssi Hannula via buildroot <buildroot@buildroot.org> writes: > nfs-utils configure script uses "systemd-escape" to determine the > rpc_pipefs mount point unit name in the non-default case. > If the host build system has no systemd this will silently result in an > empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". > Fix that by depending on host-systemd for build. > Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> Committed to 2024.02.x and 2024.08.x, thanks.
diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk index b757e3e51d..9ea3bae79d 100644 --- a/package/nfs-utils/nfs-utils.mk +++ b/package/nfs-utils/nfs-utils.mk @@ -79,7 +79,7 @@ NFS_UTILS_POST_INSTALL_TARGET_HOOKS += NFS_UTILS_INSTALL_FIXUP ifeq ($(BR2_INIT_SYSTEMD),y) NFS_UTILS_CONF_OPTS += --with-systemd=/usr/lib/systemd/system -NFS_UTILS_DEPENDENCIES += systemd +NFS_UTILS_DEPENDENCIES += systemd host-systemd else NFS_UTILS_CONF_OPTS += --without-systemd endif
nfs-utils configure script uses "systemd-escape" to determine the rpc_pipefs mount point unit name in the non-default case. If the host build system has no systemd this will silently result in an empty name, causing rpc_pipefs.target to incorrectly depend on ".mount". Fix that by depending on host-systemd for build. Signed-off-by: Anssi Hannula <anssi.hannula@bitwise.fi> --- package/nfs-utils/nfs-utils.mk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)