Re: [PATCH] xfsprogs: healer: install targets one at a time
Allen Hewes <[email protected]>
| Newsgroups | org.kernel.vger.linux-xfs |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 2026-07-14 at 16:30 -0700, Darrick J. Wong wrote: > On Tue, Jul 14, 2026 at 11:21:03PM +0000, Allen Hewes wrote: > > libtool's --mode=install requires the destination to already exist > > as a real directory whenever more than one source file is given > > (it emulates cp/install semantics, which have the same > > requirement). > > Installing xfs_healer and xfs_healer_start in a single LTINSTALL > > call trips this check on any build where > > HAVE_HEALER_START_DEPS=yes, > > since PKG_LIBEXEC_DIR isn't guaranteed to exist under the raw, > > un-DESTDIR'd path libtool checks. Install each target separately > > to avoid the multi-file directory check entirely. > > Aha, so that's the bug then -- distro build scripts set DESTDIR=/xxx > and > run the build. include/buildefs sets > PKG_LIBEXEC_DIR=/usr/libexec/xfsprogs and passes that to libtool. > libtool sees that /usr/libexec/xfsprogs doesn't exist and fails. > > Or, if that path happens to exist already, then it starts our custom > ../install-sh script which copies the file to > $DESTDIR/$PKG_LIBEXEC_DIR > which is NOT the same path that libtool dies on. > > > Assisted-by: Claude:claude-sonnet-5 > > Signed-off-by: Allen Hewes <[email protected]> > > --- > > healer/Makefile | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/healer/Makefile b/healer/Makefile > > index e3c41e66..4aa58757 100644 > > --- a/healer/Makefile > > +++ b/healer/Makefile > > @@ -69,7 +69,9 @@ install: $(INSTALL_HEALER) > > > > install-healer: default > > $(INSTALL) -m 755 -d $(PKG_LIBEXEC_DIR) > > - $(LTINSTALL) -m 755 $(BUILD_TARGETS) $(PKG_LIBEXEC_DIR) > > + for f in $(BUILD_TARGETS); do \ > > + $(LTINSTALL) -m 755 $$f $(PKG_LIBEXEC_DIR); \ > > Let's hope nobody ever wants to build a binary with a space in it. > Thanks for digging into this. > Reviewed-by: "Darrick J. Wong" <[email protected]> > > --D > Quotes? I can add them if you think that's better defense. Thanks for helping, /allen > > + done > > > > install-systemd: default > > $(INSTALL) -m 755 -d $(SYSTEMD_SYSTEM_UNIT_DIR) > > -- > > 2.55.0 > >