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