On (29/06/16 12:23), Jakub Hrozek wrote: >On Wed, Jun 29, 2016 at 12:12:19PM +0200, Lukas Slebodnik wrote: >> On (29/06/16 11:28), Jakub Hrozek wrote: >> >On Tue, Jun 28, 2016 at 05:50:15PM +0200, Jakub Hrozek wrote: >> >> On Tue, Jun 28, 2016 at 12:45:13PM +0200, Lukas Slebodnik wrote: >> >> > ehlo, >> >> > >> >> > @see commit message in attached patch. >> >> > >> >> > LS >> >> >> >> Thanks, the code reads much better and works on RHEL-6 and Fedora. I'm >> >> waiting for CI before pushing. But in the meantime, ACK. >> > >> >I would like to ask for a small modification: >> >diff --git a/src/external/systemd.m4 b/src/external/systemd.m4 >> >index f2aeda1..3be8d27 100644 >> >--- a/src/external/systemd.m4 >> >+++ b/src/external/systemd.m4 >> >@@ -6,9 +6,10 @@ PKG_CHECK_EXISTS([systemd], >> > dnl Libraries libsystemd-journal and libsystem-login are deprecarted >> > dnl since systemd 209 and are removed in systemd 230. The library >> > libsystemd >> > dnl is replacement of libsystemd-{login,journal,daemon,id128} libraries >> >-PKG_CHECK_EXISTS([libsystemd], >> >- [HAVE_LIBSYSTEMD=yes], >> >- [HAVE_LIBSYSTEMD=no]) >> >+PKG_CHECK_MODULES([SYSTEMD], >> >+ [libsystemd], >> >+ [HAVE_LIBSYSTEMD=yes], >> >+ [HAVE_LIBSYSTEMD=no]) >> > >> > AS_IF([test x$HAVE_LIBSYSTEMD = xyes], >> > [login_lib_name=libsystemd], >> > >> >The reason is that Simo's secret provider patchset includes the >> >infrastructure to socket-activate responders, which means all responders >> >(through responder_common.c) will link to libsystemd if available. So I >> >need to know SYSTEMD_LIBS in the Makefile. >> As you might see in the file, the library libsystemd was introduced in >> systemd 209. Which function are required for secret provider? > >sd_listen_fds() > Previously it was part of libsystemd-daemon since systemd-32 :-)
New version is attached LS
>From 05825a58d91d90312d52e76ef0f7df6594ff7824 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Tue, 28 Jun 2016 11:28:24 +0200 Subject: [PATCH 1/2] BUILD: Fix detection of systemd The macro AM_COND_IF must be called after AM_CONDITIONAL Otherwise it will consider that condition is true. As a result of this the header file config.h had defined macro HAVE_SYSTEMD on all platforms Our macro AM_CHECK_SYSTEMD was removed becuase it was needed in src/external/systemd.m4 and should not be invoked later in configure.ac --- configure.ac | 4 ---- src/external/systemd.m4 | 39 +++++++++++++++++++-------------------- 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/configure.ac b/configure.ac index 0d3573c849b508cba00bb12cfae4f496ae5ed6d7..dbfdeb40fdfbf0765ffad3b8848ca7c039c679ec 100644 --- a/configure.ac +++ b/configure.ac @@ -350,10 +350,6 @@ if test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then AM_CHECK_SEMANAGE fi -if test x$HAVE_SYSTEMD_UNIT != x; then - AM_CHECK_SYSTEMD -fi - dnl If journald was selected for logging, configure journald if test x$syslog = xjournald; then AM_CHECK_JOURNALD diff --git a/src/external/systemd.m4 b/src/external/systemd.m4 index 87c93f50877d94f13f6007d1072cf08e2a2168e2..f2aeda116bc96f468855ca4545fa962e7ec70578 100644 --- a/src/external/systemd.m4 +++ b/src/external/systemd.m4 @@ -1,32 +1,31 @@ -dnl There are no module libsystemd-journal and libsystem-login -dnl up systemd version 209 +dnl A macro to check presence of systemd on the system +PKG_CHECK_EXISTS([systemd], + [HAVE_SYSTEMD=yes], + [HAVE_SYSTEMD=no]) + +dnl Libraries libsystemd-journal and libsystem-login are deprecarted +dnl since systemd 209 and are removed in systemd 230. The library libsystemd +dnl is replacement of libsystemd-{login,journal,daemon,id128} libraries PKG_CHECK_EXISTS([libsystemd], [HAVE_LIBSYSTEMD=yes], [HAVE_LIBSYSTEMD=no]) -dnl A macro to check presence of systemd on the system -AC_DEFUN([AM_CHECK_SYSTEMD], -[ - PKG_CHECK_EXISTS(systemd, - [ HAVE_SYSTEMD=1, AC_SUBST(HAVE_SYSTEMD) ], - [AC_MSG_ERROR([Could not detect systemd presence])]) -]) - AS_IF([test x$HAVE_LIBSYSTEMD = xyes], [login_lib_name=libsystemd], [login_lib_name=libsystemd-login]) -AM_COND_IF([HAVE_SYSTEMD], - [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD], 1, [Build with libsystemd support])], - [AC_MSG_NOTICE([Build without libsystemd support])]) +AS_IF([test x$HAVE_SYSTEMD = xyes], + [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD], 1, [Build with systemd support])], + [AC_MSG_NOTICE([Build without systemd support])]) -AM_COND_IF([HAVE_SYSTEMD], - [PKG_CHECK_MODULES([SYSTEMD_LOGIN], - [$login_lib_name], - [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_LOGIN], 1, - [Build with libsystemdlogin support]) - ], - [AC_MSG_NOTICE([Build without libsystemd-login support])])]) +AS_IF([test x$HAVE_SYSTEMD = xyes], + [PKG_CHECK_MODULES( + [SYSTEMD_LOGIN], + [$login_lib_name], + [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_LOGIN], 1, + [Build with $login_lib_name support])], + [AC_MSG_NOTICE([Build without $login_lib_name support])])], + [AC_MSG_NOTICE([Build without $login_lib_name support])]) dnl A macro to check presence of journald on the system AC_DEFUN([AM_CHECK_JOURNALD], -- 2.7.4
>From df40f97a39d5bca8fb05c86c2d70219bd08ad97d Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik <lsleb...@redhat.com> Date: Wed, 29 Jun 2016 12:37:15 +0200 Subject: [PATCH 2/2] BUILD: Detect libsystemd-daemon or libsystemd --- src/external/systemd.m4 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/external/systemd.m4 b/src/external/systemd.m4 index f2aeda116bc96f468855ca4545fa962e7ec70578..e61b0f15c46cca48c51684d6815045091d147fac 100644 --- a/src/external/systemd.m4 +++ b/src/external/systemd.m4 @@ -27,6 +27,19 @@ AS_IF([test x$HAVE_SYSTEMD = xyes], [AC_MSG_NOTICE([Build without $login_lib_name support])])], [AC_MSG_NOTICE([Build without $login_lib_name support])]) +AS_IF([test x$HAVE_LIBSYSTEMD = xyes], + [daemon_lib_name=libsystemd], + [daemon_lib_name=libsystemd-daemon]) + +AS_IF([test x$HAVE_SYSTEMD = xyes], + [PKG_CHECK_MODULES( + [SYSTEMD_DAEMON], + [$daemon_lib_name], + [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD_DAEMON], 1, + [Build with $daemon_lib_name support])], + [AC_MSG_NOTICE([Build without $daemon_lib_name support])])], + [AC_MSG_NOTICE([Build without $daemon_lib_name support])]) + dnl A macro to check presence of journald on the system AC_DEFUN([AM_CHECK_JOURNALD], [ -- 2.7.4
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/admin/lists/sssd-devel@lists.fedorahosted.org