File 0016-BUILD-Fix-detection-of-systemd.patch of Package sssd.11069

From 427d3a38df40f7722883c97c904dd51eb58147e3 Mon Sep 17 00:00:00 2001
From: Lukas Slebodnik <lslebodn@redhat.com>
Date: Tue, 28 Jun 2016 11:28:24 +0200
Subject: [PATCH] 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

Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
(cherry picked from commit 7b308bfdac1f6cdc08502d69d49682a1f9aefe06)
---
 configure.ac            |  4 ----
 src/external/systemd.m4 | 37 ++++++++++++++++++++-----------------
 2 files changed, 20 insertions(+), 21 deletions(-)

diff --git a/configure.ac b/configure.ac
index 6c0610893..a2107b979 100644
--- a/configure.ac
+++ b/configure.ac
@@ -335,10 +335,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 4c2844596..f2aeda116 100644
--- a/src/external/systemd.m4
+++ b/src/external/systemd.m4
@@ -1,28 +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],
-           [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],
+      [AC_DEFINE_UNQUOTED([HAVE_SYSTEMD], 1, [Build with systemd support])],
+      [AC_MSG_NOTICE([Build without systemd 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.20.1

openSUSE Build Service is sponsored by