Re: [PATCH 1/5] build: add support for libinih for mkfs

Darrick J. Wong
2020-10-15T05:41:04Z

On Thu, Oct 15, 2020 at 02:29:21PM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> Need to make sure the library is present so we can build mkfs with
> config file support.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> configure.ac | 3 +++
> doc/INSTALL | 5 +++++
> include/builddefs.in | 1 +
> m4/package_inih.m4 | 20 ++++++++++++++++++++
> 4 files changed, 29 insertions(+)
> create mode 100644 m4/package_inih.m4
>
> diff --git a/configure.ac b/configure.ac
> index 4674673ed67c..dc57bbd7cd8c 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -145,6 +145,9 @@ AC_PACKAGE_UTILITIES(xfsprogs)
> AC_MULTILIB($enable_lib64)
> AC_RT($enable_librt)
>
> +AC_PACKAGE_NEED_INI_H
> +AC_PACKAGE_NEED_LIBINIH
> +
> AC_PACKAGE_NEED_UUID_H
> AC_PACKAGE_NEED_UUIDCOMPARE
>
> diff --git a/doc/INSTALL b/doc/INSTALL
> index d4395eefa834..2b04f9cfe108 100644
> --- a/doc/INSTALL
> +++ b/doc/INSTALL
> @@ -28,6 +28,11 @@ Linux Instructions
> (on an RPM based system) or the uuid-dev package (on a Debian system)
> as some of the commands make use of the UUID library provided by these.
>
> + If your distro does not provide a libinih package, you can download and build
> + it from source from the upstream repository found at:
> +
> + https://github.com/benhoyt/inih

Someone's gonna have fun packaging this for RHEL. ;)

Oh look, a Debian package. Assuming the legal-minded are ok with us
mixing BSD and GPL2 code,

Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>

--D

> +
> To build the package and install it manually, use the following steps:
>
> # make
> diff --git a/include/builddefs.in b/include/builddefs.in
> index 30b2727a8db4..e8f447f92baf 100644
> --- a/include/builddefs.in
> +++ b/include/builddefs.in
> @@ -27,6 +27,7 @@ LIBTERMCAP = @libtermcap@
> LIBEDITLINE = @libeditline@
> LIBBLKID = @libblkid@
> LIBDEVMAPPER = @libdevmapper@
> +LIBINIH = @libinih@
> LIBXFS = $(TOPDIR)/libxfs/libxfs.la
> LIBFROG = $(TOPDIR)/libfrog/libfrog.la
> LIBXCMD = $(TOPDIR)/libxcmd/libxcmd.la
> diff --git a/m4/package_inih.m4 b/m4/package_inih.m4
> new file mode 100644
> index 000000000000..a2775592e09d
> --- /dev/null
> +++ b/m4/package_inih.m4
> @@ -0,0 +1,20 @@
> +AC_DEFUN([AC_PACKAGE_NEED_INI_H],
> + [ AC_CHECK_HEADERS([ini.h])
> + if test $ac_cv_header_ini_h = no; then
> + echo
> + echo 'FATAL ERROR: could not find a valid ini.h header.'
> + echo 'Install the libinih development package.'
> + exit 1
> + fi
> + ])
> +
> +AC_DEFUN([AC_PACKAGE_NEED_LIBINIH],
> + [ AC_CHECK_LIB(inih, ini_parse,, [
> + echo
> + echo 'FATAL ERROR: could not find a valid inih library.'
> + echo 'Install the libinih library package.'
> + exit 1
> + ])
> + libinih=-linih
> + AC_SUBST(libinih)
> + ])
> --
> 2.28.0
>