summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2015-11-25 18:35:36 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2015-11-26 12:07:17 +0100
commit5484044ea7bb632b915f706685fce509f6eacc48 (patch)
treedb0fabc0556c321421046dd8cdefb4b143018028
parentddb51fdac4fbb97a72ba70ae7345c62a03e90c26 (diff)
downloadsssd-5484044ea7bb632b915f706685fce509f6eacc48.tar.gz
sssd-5484044ea7bb632b915f706685fce509f6eacc48.tar.xz
sssd-5484044ea7bb632b915f706685fce509f6eacc48.zip
BUILD: Only install polkit rules if the directory is available
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
-rw-r--r--Makefile.am5
-rw-r--r--configure.ac4
-rw-r--r--contrib/sssd.spec.in3
-rw-r--r--src/conf_macros.m419
4 files changed, 30 insertions, 1 deletions
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])
+ ])