From 5484044ea7bb632b915f706685fce509f6eacc48 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Wed, 25 Nov 2015 18:35:36 +0100 Subject: BUILD: Only install polkit rules if the directory is available MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Lukáš Slebodník --- Makefile.am | 5 ++++- configure.ac | 4 ++++ contrib/sssd.spec.in | 3 +++ src/conf_macros.m4 | 19 +++++++++++++++++++ 4 files changed, 30 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 212440c9b..ba59b16b4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -76,6 +76,7 @@ keytabdir = $(sss_statedir)/keytabs pkgconfigdir = $(libdir)/pkgconfig krb5rcachedir = @krb5rcachedir@ sudolibdir = @sudolibpath@ +polkitdir = @polkitdir@ UNICODE_LIBS=@UNICODE_LIBS@ @@ -151,10 +152,12 @@ endif if HAVE_NSS sssdlibexec_PROGRAMS += p11_child if SSSD_USER -polkit_rulesdir = $(datadir)/polkit-1/rules.d +if HAVE_POLKIT_RULES_D +polkit_rulesdir = $(polkitdir) dist_polkit_rules_DATA = contrib/sssd-pcsc.rules endif endif +endif if BUILD_PAC_RESPONDER sssdlibexec_PROGRAMS += sssd_pac diff --git a/configure.ac b/configure.ac index f7254c096..0463bda8e 100644 --- a/configure.ac +++ b/configure.ac @@ -424,6 +424,10 @@ SSS_ENABLE_INTGCHECK_REQS AM_CONDITIONAL([HAVE_DEVSHM], [test -d /dev/shm]) +# Check if we should install polkit rules +ENABLE_POLKIT_RULES_PATH +AM_CONDITIONAL([HAVE_POLKIT_RULES_D], [test x$HAVE_POLKIT_RULES_D != x]) + abs_build_dir=`pwd` AC_DEFINE_UNQUOTED([ABS_BUILD_DIR], ["$abs_build_dir"], [Absolute path to the build directory]) AC_SUBST([abs_builddir], $abs_build_dir) diff --git a/contrib/sssd.spec.in b/contrib/sssd.spec.in index cff77b29e..710ba9220 100644 --- a/contrib/sssd.spec.in +++ b/contrib/sssd.spec.in @@ -23,6 +23,8 @@ # talk to pcscd if SSSD runs as unpriviledged user %if (0%{?fedora} || 0%{?rhel} >= 7) %global install_pcscd_polkit_rule 1 +%else + %global enable_polkit_rules_option --disable-polkit-rules-path %endif %if (0%{?use_systemd} == 1) @@ -570,6 +572,7 @@ autoreconf -ivf %{?with_syslog} \ %{?with_cifs_utils_plugin_option} \ %{?with_python3_option} \ + %{?enable_polkit_rules_option} \ %{?experimental} make %{?_smp_mflags} all diff --git a/src/conf_macros.m4 b/src/conf_macros.m4 index 619d27ccf..c8774b5f5 100644 --- a/src/conf_macros.m4 +++ b/src/conf_macros.m4 @@ -828,3 +828,22 @@ AC_DEFUN([WITH_SSSD_USER], AC_DEFINE_UNQUOTED(AD_GPO_ACCESS_MODE_DEFAULT, "$GPO_DEFAULT", ["The default enforcing level for AD GPO access-control"]) AM_CONDITIONAL([GPO_DEFAULT_ENFORCING], [test x"$GPO_DEFAULT" = xenforcing]) ]) + +AC_DEFUN([ENABLE_POLKIT_RULES_PATH], + [ + polkitdir="/usr/share/polkit-1/rules.d" + AC_ARG_ENABLE([polkit-rules-path], + [AC_HELP_STRING([--enable-polkit-rules-path=PATH], + [Path to store polkit rules at. Use --disable to not install the rules at all. [/usr/share/polkit-1/rules.d]] + ) + ], + [ polkitdir=$enableval ], + ) + + if test x"$polkitdir" != xno; then + HAVE_POLKIT_RULES_D=1 + AC_SUBST(polkitdir) + fi + + AM_CONDITIONAL([HAVE_POLKIT_RULES_D], [test x$HAVE_POLKIT_RULES_D != x]) + ]) -- cgit