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

Reply via email to