diff mbox series

libfrog: Unconditionally build fsprops.c

Message ID 20240819132222.219434-1-cem@kernel.org (mailing list archive)
State Accepted, archived
Headers show
Series libfrog: Unconditionally build fsprops.c | expand

Commit Message

Carlos Maiolino Aug. 19, 2024, 1:22 p.m. UTC
From: Carlos Maiolino <cem@kernel.org>

The new xfs_io fs properties subcommand, requires fsprops to be build,
while libfrog conditionally build it according to the existence of
libattr.

This causes builds to fail if the libattr headers are not available,
without a clear output.

Now that xfs_io unconditionally requires libfrog/fsprops.c to be built,
remove the condition from libfrog's Makefile.

Fixes: d194cb818305 ("xfs_io: edit filesystem properties")
Signed-off-by: Carlos Maiolino <cmaiolino@redhat.com>
---
 libfrog/Makefile | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

Comments

Christoph Hellwig Aug. 19, 2024, 2:09 p.m. UTC | #1
On Mon, Aug 19, 2024 at 03:22:05PM +0200, cem@kernel.org wrote:
> From: Carlos Maiolino <cem@kernel.org>
> 
> The new xfs_io fs properties subcommand, requires fsprops to be build,
> while libfrog conditionally build it according to the existence of
> libattr.
> 
> This causes builds to fail if the libattr headers are not available,
> without a clear output.
> 
> Now that xfs_io unconditionally requires libfrog/fsprops.c to be built,
> remove the condition from libfrog's Makefile.

That means we'll also need to make libattr mandatory in configure,
right?
Darrick J. Wong Aug. 19, 2024, 3:12 p.m. UTC | #2
On Mon, Aug 19, 2024 at 07:09:32AM -0700, Christoph Hellwig wrote:
> On Mon, Aug 19, 2024 at 03:22:05PM +0200, cem@kernel.org wrote:
> > From: Carlos Maiolino <cem@kernel.org>
> > 
> > The new xfs_io fs properties subcommand, requires fsprops to be build,
> > while libfrog conditionally build it according to the existence of
> > libattr.
> > 
> > This causes builds to fail if the libattr headers are not available,
> > without a clear output.
> > 
> > Now that xfs_io unconditionally requires libfrog/fsprops.c to be built,
> > remove the condition from libfrog's Makefile.
> 
> That means we'll also need to make libattr mandatory in configure,
> right?

How about we just opencode ATTR_ENTRY in libfrog and then we can get rid
of the libattr dependency for it and xfs_scrub?  IIRC that's the only
piece of libattr that those pieces actually need.

--D
Christoph Hellwig Aug. 19, 2024, 3:23 p.m. UTC | #3
On Mon, Aug 19, 2024 at 08:12:16AM -0700, Darrick J. Wong wrote:
> 
> How about we just opencode ATTR_ENTRY in libfrog and then we can get rid
> of the libattr dependency for it and xfs_scrub?  IIRC that's the only
> piece of libattr that those pieces actually need.

We'd also have to switch from attrlist_ent to xfs_attrlist_ent
and maybe a few similar substitutions, but otherwise it should work.

While we're at it, it might be worth to do the same for scrub and
get rid of the libattr dependency entirely.
Carlos Maiolino Aug. 19, 2024, 3:57 p.m. UTC | #4
On Mon, Aug 19, 2024 at 08:23:41AM GMT, Christoph Hellwig wrote:
> On Mon, Aug 19, 2024 at 08:12:16AM -0700, Darrick J. Wong wrote:
> > 
> > How about we just opencode ATTR_ENTRY in libfrog and then we can get rid
> > of the libattr dependency for it and xfs_scrub?  IIRC that's the only
> > piece of libattr that those pieces actually need.
> 
> We'd also have to switch from attrlist_ent to xfs_attrlist_ent
> and maybe a few similar substitutions, but otherwise it should work.
> 
> While we're at it, it might be worth to do the same for scrub and
> get rid of the libattr dependency entirely.
> 
> 
Sounds like a plan, I can work on that. Thanks for the reviews

Carlos
diff mbox series

Patch

diff --git a/libfrog/Makefile b/libfrog/Makefile
index acddc894e..53de7c174 100644
--- a/libfrog/Makefile
+++ b/libfrog/Makefile
@@ -21,6 +21,7 @@  crc32.c \
 file_exchange.c \
 fsgeom.c \
 fsproperties.c \
+fsprops.c \
 getparents.c \
 histogram.c \
 list_sort.c \
@@ -49,6 +50,7 @@  div64.h \
 file_exchange.h \
 fsgeom.h \
 fsproperties.h \
+fsprops.h \
 getparents.h \
 histogram.h \
 logging.h \
@@ -61,12 +63,6 @@  scrub.h \
 workqueue.h
 
 LSRCFILES += gen_crc32table.c
-
-ifeq ($(HAVE_LIBATTR),yes)
-CFILES+=fsprops.c
-HFILES+=fsprops.h
-endif
-
 LDIRT = gen_crc32table crc32table.h
 
 default: ltdepend $(LTLIBRARY)