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
> >
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.