[PATCH v5 1/2] libxcmd: generalize topology functions

Dave Chinner david at fromorbit.com
Sun May 29 21:13:30 CDT 2016


On Wed, May 11, 2016 at 05:45:16PM -0500, Bill O'Donnell wrote:
> Move general topology functions from xfs_mkfs to new topology
> collection in libxcmd.
> 
> Signed-off-by: Bill O'Donnell <billodo at redhat.com>

FYI, this patch breaks 'make deb'.

I don't expect anyone to know this - the debian/rules build script
has a special hand-rolled mkfs build for the debian installer. This
new libxcmd dependency also needs to be described in that script.
I've fixed that up, but it's also pointed out a couple of other
things to do with dependencies:

> diff --git a/mkfs/Makefile b/mkfs/Makefile
> index 63ba4ec..f0e4ce1 100644
> --- a/mkfs/Makefile
> +++ b/mkfs/Makefile
> @@ -10,7 +10,7 @@ LTCOMMAND = mkfs.xfs
>  HFILES =
>  CFILES = maxtrres.c proto.c xfs_mkfs.c
>  
> -LLDLIBS += $(LIBBLKID) $(LIBXFS) $(LIBUUID) $(LIBRT) $(LIBPTHREAD)
> +LLDLIBS += $(LIBBLKID) $(LIBXFS) $(LIBUUID) $(LIBRT) $(LIBPTHREAD) $(LIBXCMD)
>  LTDEPENDENCIES += $(LIBXFS)
>  LLDFLAGS = -static-libtool-libs

mkfs.xfs also needs the build dependency on libxcmd to be expressed
in LTDEPENDENCIES. It's just lucky that other targets have already
expressed such "libxfs + libxcmd" dependencies as that ensured
libxcmd was already built before mkfs tries to link against it.
Blind luck strikes again!

Those top level build dependencies are expressed in the top level
Makefile like so:

--- a/Makefile
+++ b/Makefile
@@ -82,6 +82,7 @@ io: libxcmd libhandle
 quota: libxcmd
 repair: libxlog
 copy: libxlog
+mkfs: libxcmd
 
 ifeq ($(HAVE_BUILDDEFS), yes)
 include $(BUILDRULES)

I've fixed these problems because I need to build .deb packages to
deploy changes for testing.

Cheers,

Dave.
-- 
Dave Chinner
david at fromorbit.com



More information about the xfs mailing list