From 2e4eff4f252fe2a4c5bdb81e3ca2639b9b5f04c6 Mon Sep 17 00:00:00 2001 From: Michal Suchanek Date: Fri, 30 Jun 2023 16:16:24 +0200 Subject: [PATCH 3/7] kmod: Add pkgconfig file with kmod compile time configuration Show distconfdir (where system configuration files are searched/to be installed), sysconfdir (where user configuration files are searched), module compressions, and module signatures supported. Signed-off-by: Michal Suchanek --- v2: mention module signature in commit message v3: add sysconfdir v5: add distconfdir, switch to pkgconfig --- Makefile.am | 6 +++--- configure.ac | 11 +++++++++++ tools/kmod.pc.in | 9 +++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 tools/kmod.pc.in diff --git a/Makefile.am b/Makefile.am index a03846d02b9c..18818c811634 100644 --- a/Makefile.am +++ b/Makefile.am @@ -118,9 +118,9 @@ libkmod_libkmod_internal_la_DEPENDENCIES = $(libkmod_libkmod_la_DEPENDENCIES) libkmod_libkmod_internal_la_LIBADD = $(libkmod_libkmod_la_LIBADD) pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = libkmod/libkmod.pc -EXTRA_DIST += libkmod/libkmod.pc.in -CLEANFILES += libkmod/libkmod.pc +pkgconfig_DATA = libkmod/libkmod.pc tools/kmod.pc +EXTRA_DIST += libkmod/libkmod.pc.in tools/kmod.pc.in +CLEANFILES += libkmod/libkmod.pc tools/kmod.pc bashcompletiondir=@bashcompletiondir@ dist_bashcompletion_DATA = \ diff --git a/configure.ac b/configure.ac index 18206ccdb607..a6ed8a36ca70 100644 --- a/configure.ac +++ b/configure.ac @@ -21,6 +21,9 @@ LT_INIT([disable-static pic-only]) AS_IF([test "x$enable_static" = "xyes"], [AC_MSG_ERROR([--enable-static is not supported by kmod])]) AS_IF([test "x$enable_largefile" = "xno"], [AC_MSG_ERROR([--disable-largefile is not supported by kmod])]) +module_compressions="" +module_signatures="legacy" + ##################################################################### # Program checks and configurations ##################################################################### @@ -93,6 +96,7 @@ AC_ARG_WITH([zstd], AS_IF([test "x$with_zstd" != "xno"], [ PKG_CHECK_MODULES([libzstd], [libzstd >= 1.4.4]) AC_DEFINE([ENABLE_ZSTD], [1], [Enable Zstandard for modules.]) + module_compressions="zstd $module_compressions" ], [ AC_MSG_NOTICE([Zstandard support not requested]) ]) @@ -104,6 +108,7 @@ AC_ARG_WITH([xz], AS_IF([test "x$with_xz" != "xno"], [ PKG_CHECK_MODULES([liblzma], [liblzma >= 4.99]) AC_DEFINE([ENABLE_XZ], [1], [Enable Xz for modules.]) + module_compressions="xz $module_compressions" ], [ AC_MSG_NOTICE([Xz support not requested]) ]) @@ -115,6 +120,7 @@ AC_ARG_WITH([zlib], AS_IF([test "x$with_zlib" != "xno"], [ PKG_CHECK_MODULES([zlib], [zlib]) AC_DEFINE([ENABLE_ZLIB], [1], [Enable zlib for modules.]) + module_compressions="gzip $module_compressions" ], [ AC_MSG_NOTICE([zlib support not requested]) ]) @@ -126,6 +132,7 @@ AC_ARG_WITH([openssl], AS_IF([test "x$with_openssl" != "xno"], [ PKG_CHECK_MODULES([libcrypto], [libcrypto >= 1.1.0]) AC_DEFINE([ENABLE_OPENSSL], [1], [Enable openssl for modinfo.]) + module_signatures="PKCS7 $module_signatures" ], [ AC_MSG_NOTICE([openssl support not requested]) ]) @@ -290,11 +297,15 @@ AC_DEFINE_UNQUOTED(KMOD_FEATURES, ["$with_features"], [Features in this build]) # Generate files from *.in ##################################################################### +AC_SUBST([module_compressions], $module_compressions) +AC_SUBST([module_signatures], $module_signatures) + AC_CONFIG_FILES([ Makefile man/Makefile libkmod/docs/Makefile libkmod/docs/version.xml + tools/kmod.pc ]) diff --git a/tools/kmod.pc.in b/tools/kmod.pc.in new file mode 100644 index 000000000000..2595980a6b35 --- /dev/null +++ b/tools/kmod.pc.in @@ -0,0 +1,9 @@ +prefix=@prefix@ +sysconfdir=@sysconfdir@ +distconfdir=@distconfdir@ +module_compressions=@module_compressions@ +module_signatures=@module_signatures@ + +Name: kmod +Description: Tools to deal with kernel modules +Version: @VERSION@ -- 2.41.0