[LTP] [PATCH 1/1] autoconf: Use pkg-config for keyutils detection

Xiao Yang yangx.jy@cn.fujitsu.com
Wed Jan 13 10:30:52 CET 2021


On 2021/1/11 20:36, Petr Vorel wrote:
> Using pkg-config is less error prone during cross compilation.
Hi Petr,

Is there any detailed example about the above point?

> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Hi,
>
> if you agree with this, I'll replace (probably after release) ACL_LIBS,
> CAP_LIBS, CRYPTO_LIBS, SELINUX_LIBS (to follow libmnl and libtirpc).
It is OK for me.

Best Regards,
Xiao Yang
> libaio and libnuma does not support pkg-config.
>
> Tested: https://travis-ci.org/github/pevik/ltp/builds/753925166
>
> Kind regards,
> Petr
>
>  configure.ac                                   |  2 +-
>  include/mk/config.mk.in                        |  6 +++---
>  m4/ltp-keyutils.m4                             | 10 ----------
>  m4/ltp-libkeyutils.m4                          |  8 ++++++++
>  testcases/cve/Makefile                         |  2 +-
>  testcases/kernel/syscalls/add_key/Makefile     |  2 +-
>  testcases/kernel/syscalls/keyctl/Makefile      |  2 +-
>  testcases/kernel/syscalls/request_key/Makefile |  2 +-
>  8 files changed, 16 insertions(+), 18 deletions(-)
>  delete mode 100644 m4/ltp-keyutils.m4
>  create mode 100644 m4/ltp-libkeyutils.m4
>
> diff --git a/configure.ac b/configure.ac
> index 06be1c094..8d667eb1e 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -328,7 +328,7 @@ LTP_CHECK_CLONE_SUPPORTS_7_ARGS
>  LTP_CHECK_CRYPTO
>  LTP_CHECK_FORTIFY_SOURCE
>  LTP_CHECK_KERNEL_DEVEL
> -LTP_CHECK_KEYUTILS_SUPPORT
> +LTP_CHECK_LIBKEYUTILS
>  LTP_CHECK_LIBMNL
>  LTP_CHECK_LINUX_PTRACE
>  LTP_CHECK_LINUXRANDOM
> diff --git a/include/mk/config.mk.in b/include/mk/config.mk.in
> index 218447ef3..382b7fda2 100644
> --- a/include/mk/config.mk.in
> +++ b/include/mk/config.mk.in
> @@ -52,12 +52,12 @@ LEXLIB			:= @LEXLIB@
>  NUMA_LIBS		:= @NUMA_LIBS@
>  SELINUX_LIBS		:= @SELINUX_LIBS@
>  HAVE_RPC		:= @HAVE_RPC@
> -LIBTIRPC_CFLAGS		:= @LIBTIRPC_CFLAGS@
> -LIBTIRPC_LIBS		:= @LIBTIRPC_LIBS@
> -KEYUTILS_LIBS		:= @KEYUTILS_LIBS@
>  HAVE_FTS_H		:= @HAVE_FTS_H@
> +LIBKEYUTILS_LIBS	:= @LIBKEYUTILS_LIBS@
>  LIBMNL_LIBS		:= @LIBMNL_LIBS@
>  LIBMNL_CFLAGS		:= @LIBMNL_CFLAGS@
> +LIBTIRPC_CFLAGS		:= @LIBTIRPC_CFLAGS@
> +LIBTIRPC_LIBS		:= @LIBTIRPC_LIBS@
>  
>  prefix			:= @prefix@
>  
> diff --git a/m4/ltp-keyutils.m4 b/m4/ltp-keyutils.m4
> deleted file mode 100644
> index 451c549f3..000000000
> --- a/m4/ltp-keyutils.m4
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -dnl SPDX-License-Identifier: GPL-2.0-or-later
> -dnl Copyright (c) 2016 Fujitsu Ltd.
> -dnl Copyright (c) 2017 Petr Vorel <pvorel@suse.cz>
> -dnl Author: Xiao Yang <yangx.jy@cn.fujitsu.com>
> -
> -AC_DEFUN([LTP_CHECK_KEYUTILS_SUPPORT], [
> -	AC_CHECK_LIB([keyutils], [add_key],
> -	[AC_DEFINE(HAVE_LIBKEYUTILS, 1, [Define to 1 if you have libkeyutils installed.])
> -	      AC_SUBST(KEYUTILS_LIBS, "-lkeyutils")])
> -])
> diff --git a/m4/ltp-libkeyutils.m4 b/m4/ltp-libkeyutils.m4
> new file mode 100644
> index 000000000..f5d128969
> --- /dev/null
> +++ b/m4/ltp-libkeyutils.m4
> @@ -0,0 +1,8 @@
> +dnl SPDX-License-Identifier: GPL-2.0-or-later
> +dnl Copyright (c) 2020 Petr Vorel <pvorel@suse.cz>
> +
> +AC_DEFUN([LTP_CHECK_LIBKEYUTILS], [
> +    PKG_CHECK_MODULES([LIBKEYUTILS], [libkeyutils], [
> +        AC_DEFINE([HAVE_LIBKEYUTILS], [1], [Define to 1 if you have libkeyutils library and headers])
> +	], [have_libkeyutils=no])
> +])
> diff --git a/testcases/cve/Makefile b/testcases/cve/Makefile
> index da44fff60..90921dd85 100644
> --- a/testcases/cve/Makefile
> +++ b/testcases/cve/Makefile
> @@ -21,7 +21,7 @@ CFLAGS			+= -D_GNU_SOURCE
>  
>  stack_clash:	CFLAGS += -fno-optimize-sibling-calls
>  
> -cve-2016-7042:	LDLIBS += $(KEYUTILS_LIBS)
> +cve-2016-7042:	LDLIBS += $(LIBKEYUTILS_LIBS)
>  
>  cve-2016-7117:	CFLAGS += -pthread
>  cve-2016-7117:	LDLIBS += -lrt
> diff --git a/testcases/kernel/syscalls/add_key/Makefile b/testcases/kernel/syscalls/add_key/Makefile
> index 0f51e0bc2..6c2102247 100644
> --- a/testcases/kernel/syscalls/add_key/Makefile
> +++ b/testcases/kernel/syscalls/add_key/Makefile
> @@ -5,6 +5,6 @@ top_srcdir		?= ../../../..
>  
>  include $(top_srcdir)/include/mk/testcases.mk
>  
> -LDLIBS  += $(KEYUTILS_LIBS)
> +LDLIBS  += $(LIBKEYUTILS_LIBS)
>  
>  include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/keyctl/Makefile b/testcases/kernel/syscalls/keyctl/Makefile
> index 180ece25a..343c5e359 100644
> --- a/testcases/kernel/syscalls/keyctl/Makefile
> +++ b/testcases/kernel/syscalls/keyctl/Makefile
> @@ -5,7 +5,7 @@ top_srcdir		?= ../../../..
>  
>  include $(top_srcdir)/include/mk/testcases.mk
>  
> -LDLIBS	+= $(KEYUTILS_LIBS)
> +LDLIBS	+= $(LIBKEYUTILS_LIBS)
>  keyctl02: LDLIBS	+= -lpthread
>  
>  include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/kernel/syscalls/request_key/Makefile b/testcases/kernel/syscalls/request_key/Makefile
> index 58a99875e..e69774b96 100644
> --- a/testcases/kernel/syscalls/request_key/Makefile
> +++ b/testcases/kernel/syscalls/request_key/Makefile
> @@ -6,6 +6,6 @@ top_srcdir		?= ../../../..
>  
>  include $(top_srcdir)/include/mk/testcases.mk
>  
> -LDLIBS		+= $(KEYUTILS_LIBS)
> +LDLIBS		+= $(LIBKEYUTILS_LIBS)
>  
>  include $(top_srcdir)/include/mk/generic_leaf_target.mk





More information about the ltp mailing list