summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.am1043
-rw-r--r--configure.ac164
-rw-r--r--po/LINGUAS (renamed from src/po/LINGUAS)0
-rw-r--r--po/Makevars (renamed from src/po/Makevars)0
-rw-r--r--po/POTFILES.in23
-rw-r--r--po/de.po (renamed from src/po/de.po)0
-rw-r--r--po/es.po (renamed from src/po/es.po)0
-rw-r--r--po/fr.po (renamed from src/po/fr.po)0
-rw-r--r--po/id.po (renamed from src/po/id.po)0
-rw-r--r--po/it.po (renamed from src/po/it.po)0
-rw-r--r--po/ja.po (renamed from src/po/ja.po)0
-rw-r--r--po/nl.po (renamed from src/po/nl.po)0
-rw-r--r--po/pl.po (renamed from src/po/pl.po)0
-rw-r--r--po/pt.po (renamed from src/po/pt.po)0
-rw-r--r--po/ru.po (renamed from src/po/ru.po)0
-rw-r--r--po/sssd.pot (renamed from src/po/sss_daemon.pot)0
-rw-r--r--po/sv.po (renamed from src/po/sv.po)0
-rw-r--r--po/uk.po (renamed from src/po/uk.po)0
-rw-r--r--po/zh_TW.po (renamed from src/po/zh_TW.po)0
-rwxr-xr-xsrc/config/SSSDConfigTest.py2
-rw-r--r--src/external/libcollection.m418
-rw-r--r--src/external/libdhash.m418
-rw-r--r--src/external/libini_config.m418
-rw-r--r--src/po/POTFILES.in23
24 files changed, 1237 insertions, 72 deletions
diff --git a/Makefile.am b/Makefile.am
index eb4e01b3..30a07e6f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,13 +1,1039 @@
-SUBDIRS = src
-
DISTCHECK_CONFIGURE_FLAGS = --with-ldb-lib-dir="$$dc_install_base"/lib/ldb
-RPMBUILD ?= $(PWD)/rpmbuild
+SUBDIRS = po
-#Some old versions of automake don't define builddir
+# Some old versions of automake don't define builddir
builddir ?= .
+DOXYGEN = @DOXYGEN@
+
+DISTSETUPOPTS =
+if HAVE_DEBIAN
+DISTSETUPOPTS += --install-layout=deb
+endif
+
+sssdlibexecdir = $(libexecdir)/sssd
+sssdlibdir = $(libdir)/sssd
+ldblibdir = @ldblibdir@
+if BUILD_KRB5_LOCATOR_PLUGIN
+krb5plugindir = @krb5pluginpath@
+endif
+sssdconfdir = $(sysconfdir)/sssd
+sssdapiplugindir = $(sssdconfdir)/sssd.api.d
+dbusintrospectdir = $(datarootdir)/sssd/introspect
+dbuspolicydir = $(sysconfdir)/dbus-1/system.d
+localedir = @localedir@
+nsslibdir = @nsslibdir@
+pamlibdir = $(nsslibdir)/security
+
+dbpath = @dbpath@
+pluginpath = @pluginpath@
+pidpath = @pidpath@
+pipepath = @pipepath@
+initdir = @initdir@
+logpath = @logpath@
+pubconfpath = @pubconfpath@
+
+AM_CFLAGS =
+if WANT_AUX_INFO
+ AM_CFLAGS += -aux-info $@.X
+endif
+if HAVE_GCC
+ AM_CFLAGS += -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith \
+ -Wcast-qual -Wcast-align -Wwrite-strings \
+ -Werror-implicit-function-declaration
+endif
+
+ACLOCAL_AMFLAGS = -I m4 -I .
+
+sbin_PROGRAMS = \
+ sssd \
+ sss_useradd \
+ sss_userdel \
+ sss_groupadd \
+ sss_groupdel \
+ sss_usermod \
+ sss_groupmod \
+ sss_groupshow
+
+sssdlibexec_PROGRAMS = \
+ sssd_nss \
+ sssd_pam \
+ sssd_be \
+ krb5_child \
+ ldap_child \
+ proxy_child
+
+dist_sssdlibexec_SCRIPTS = \
+ src/config/upgrade_config.py
+
+if HAVE_CHECK
+ non_interactive_check_based_tests = \
+ sysdb-tests \
+ strtonum-tests \
+ resolv-tests \
+ krb5-utils-tests \
+ check_and_open-tests \
+ ipa_timerules-tests \
+ files-tests \
+ refcount-tests \
+ fail_over-tests \
+ find_uid-tests \
+ auth-tests \
+ ipa_ldap_opt-tests \
+ simple_access-tests \
+ util-tests
+endif
+
+check_PROGRAMS = \
+ stress-tests \
+ $(non_interactive_check_based_tests)
+
+TESTS = \
+ $(srcdir)/src/config/SSSDConfigTest.py \
+ $(non_interactive_check_based_tests)
+
+sssdlib_LTLIBRARIES = \
+ libsss_ldap.la \
+ libsss_krb5.la \
+ libsss_proxy.la \
+ libsss_ipa.la \
+ libsss_simple.la
+
+ldblib_LTLIBRARIES = \
+ memberof.la
+
+if BUILD_KRB5_LOCATOR_PLUGIN
+krb5plugin_LTLIBRARIES = \
+ sssd_krb5_locator_plugin.la
+endif
+
+noinst_LTLIBRARIES = \
+ libsss_crypt.la
+
+if HAVE_NSS
+ SSS_CRYPT_SOURCES = src/util/nss_sha512crypt.c
+ SSS_CRYPT_CFLAGS = $(NSS_CFLAGS)
+ SSS_CRYPT_LIBS = $(NSS_LIBS)
+else
+ SSS_CRYPT_SOURCES = src/util/crypto_sha512crypt.c
+ SSS_CRYPT_CFLAGS = $(CRYPTO_CFLAGS)
+ SSS_CRYPT_LIBS = $(CRYPTO_LIBS)
+endif
+
+libsss_crypt_la_SOURCES = \
+ $(SSS_CRYPT_SOURCES)
+libsss_crypt_la_CFLAGS = \
+ $(SSS_CRYPT_CFLAGS)
+libsss_crypt_la_LIBADD = \
+ $(SSS_CRYPT_LIBS)
+
+if BUILD_PYTHON_BINDINGS
+pyexec_LTLIBRARIES = \
+ pysss.la
+endif
+
+dist_noinst_SCRIPTS = \
+ $(EXTRA_SCRIPTS) \
+ src/config/setup.py \
+ src/config/ipachangeconf.py \
+ src/config/SSSDConfig.py \
+ src/config/SSSDConfigTest.py
+
dist_noinst_DATA = \
+ src/config/testconfigs/sssd-valid.conf \
+ src/config/testconfigs/noparse.api.conf \
+ src/config/testconfigs/sssd-noversion.conf \
+ src/config/testconfigs/sssd-badversion.conf \
+ src/config/testconfigs/sssd-invalid.conf \
+ src/config/testconfigs/sssd-invalid-badbool.conf
+
+###############################
+# Global compilation settings #
+###############################
+
+AM_CPPFLAGS = \
+ -Wall \
+ -Iinclude \
+ -I.. \
+ -I$(srcdir)/include \
+ -I$(srcdir)/src/sss_client \
+ -I$(srcdir)/src \
+ -Iinclude \
+ -I. \
+ $(POPT_CFLAGS) \
+ $(TALLOC_CFLAGS) \
+ $(TDB_CFLAGS) \
+ $(TEVENT_CFLAGS) \
+ $(LDB_CFLAGS) \
+ $(DBUS_CFLAGS) \
+ $(PCRE_CFLAGS) \
+ $(COLLECTION_CFLAGS) \
+ $(INI_CONFIG_CFLAGS) \
+ $(DHASH_CFLAGS) \
+ $(LIBNL_CFLAGS) \
+ -DLIBDIR=\"$(libdir)\" \
+ -DVARDIR=\"$(localstatedir)\" \
+ -DSHLIBEXT=\"$(SHLIBEXT)\" \
+ -DSSSD_LIBEXEC_PATH=\"$(sssdlibexecdir)\" \
+ -DSSSD_INTROSPECT_PATH=\"$(dbusinstropectdir)\" \
+ -DSSSD_CONF_DIR=\"$(sssdconfdir)\" \
+ -DSSS_NSS_SOCKET_NAME=\"$(pipepath)/nss\" \
+ -DSSS_PAM_SOCKET_NAME=\"$(pipepath)/pam\" \
+ -DSSS_PAM_PRIV_SOCKET_NAME=\"$(pipepath)/private/pam\" \
+ -DUSE_MMAP=1 \
+ -DTEVENT_DEPRECATED=1\
+ -DLOCALEDIR=\"$(localedir)\"
+
+EXTRA_DIST = build/config.rpath
+
+SSSD_DEBUG_OBJ = \
+ src/util/debug.c \
+ src/util/sss_log.c
+
+SSSD_UTIL_OBJ = \
+ src/confdb/confdb.c \
+ src/db/sysdb.c \
+ src/db/sysdb_ops.c \
+ src/db/sysdb_search.c \
+ src/monitor/monitor_sbus.c \
+ src/providers/dp_auth_util.c \
+ src/providers/dp_pam_data_util.c \
+ src/providers/dp_sbus.c \
+ src/sbus/sbus_client.c \
+ src/sbus/sssd_dbus_common.c \
+ src/sbus/sssd_dbus_connection.c \
+ src/sbus/sssd_dbus_server.c \
+ src/util/util.c \
+ src/util/memory.c \
+ src/util/server.c \
+ src/util/signal.c \
+ src/util/usertools.c \
+ src/util/backup_file.c \
+ src/util/strtonum.c \
+ src/util/check_and_open.c \
+ src/util/refcount.c \
+ $(SSSD_DEBUG_OBJ)
+
+SSSD_RESPONDER_OBJ = \
+ src/responder/common/negcache.c \
+ src/responder/common/responder_cmd.c \
+ src/responder/common/responder_common.c \
+ src/responder/common/responder_dp.c \
+ src/responder/common/responder_packet.c
+
+SSSD_TOOLS_OBJ = \
+ src/tools/sss_sync_ops.c \
+ src/tools/tools_util.c \
+ src/tools/files.c \
+ src/tools/selinux.c \
+ src/tools/nscd.c
+
+SSSD_RESOLV_OBJ = \
+ src/resolv/async_resolv.c
+if BUILD_ARES_DATA
+ SSSD_RESOLV_OBJ += \
+ src/resolv/ares/ares_parse_srv_reply.c \
+ src/resolv/ares/ares_data.c
+endif
+
+SSSD_FAILOVER_OBJ = \
+ src/providers/fail_over.c \
+ $(SSSD_RESOLV_OBJ)
+
+SSSD_LIBS = \
+ $(TALLOC_LIBS) \
+ $(TEVENT_LIBS) \
+ $(POPT_LIBS) \
+ $(LDB_LIBS) \
+ $(DBUS_LIBS) \
+ $(PCRE_LIBS) \
+ $(INI_CONFIG_LIBS) \
+ $(COLLECTION_LIBS) \
+ $(DHASH_LIBS) \
+ $(SSS_CRYPT_LIBS) \
+ libsss_crypt.la
+
+PYTHON_BINDINGS_LIBS = \
+ $(TALLOC_LIBS) \
+ $(TEVENT_LIBS) \
+ $(POPT_LIBS) \
+ $(LDB_LIBS) \
+ $(DBUS_LIBS) \
+ $(PCRE_LIBS) \
+ $(SSS_CRYPT_LIBS) \
+ libsss_crypt.la
+
+TOOLS_LIBS = \
+ $(TALLOC_LIBS) \
+ $(TEVENT_LIBS) \
+ $(POPT_LIBS) \
+ $(LDB_LIBS) \
+ $(DBUS_LIBS) \
+ $(PCRE_LIBS) \
+ $(INI_CONFIG_LIBS) \
+ $(COLLECTION_LIBS) \
+ $(DHASH_LIBS) \
+ libsss_crypt.la
+
+if BUILD_SELINUX
+ TOOLS_LIBS += $(SELINUX_LIBS)
+endif
+if BUILD_SEMANAGE
+ TOOLS_LIBS += $(SEMANAGE_LIBS)
+endif
+
+dist_noinst_HEADERS = \
+ src/monitor/monitor.h \
+ src/util/sha512crypt.h \
+ src/util/dlinklist.h \
+ src/util/util.h \
+ src/util/strtonum.h \
+ src/util/sss_ldap.h \
+ src/util/sss_krb5.h \
+ src/util/refcount.h \
+ src/util/find_uid.h \
+ src/util/user_info_msg.h \
+ src/monitor/monitor.h \
+ src/monitor/monitor_interfaces.h \
+ src/responder/common/responder.h \
+ src/responder/common/responder_packet.h \
+ src/responder/pam/pamsrv.h \
+ src/responder/nss/nsssrv.h \
+ src/responder/common/negcache.h \
+ src/sbus/sbus_client.h \
+ src/sbus/sssd_dbus.h \
+ src/sbus/sssd_dbus_private.h \
+ src/db/sysdb.h \
+ src/db/sysdb_private.h \
+ src/confdb/confdb.h \
+ src/confdb/confdb_private.h \
+ src/confdb/confdb_setup.h \
+ src/providers/data_provider.h \
+ src/providers/dp_backend.h \
+ src/providers/fail_over.h \
+ src/providers/providers.h \
+ src/providers/child_common.h \
+ src/providers/simple/simple_access.h \
+ src/providers/krb5/krb5_auth.h \
+ src/providers/krb5/krb5_common.h \
+ src/providers/krb5/krb5_utils.h \
+ src/providers/ldap/ldap_common.h \
+ src/providers/ldap/sdap.h \
+ src/providers/ldap/sdap_access.h \
+ src/providers/ldap/sdap_async.h \
+ src/providers/ldap/sdap_async_private.h \
+ src/providers/ldap/sdap_id_op.h \
+ src/providers/ipa/ipa_common.h \
+ src/providers/ipa/ipa_access.h \
+ src/providers/ipa/ipa_timerules.h \
+ src/providers/ipa/ipa_auth.h \
+ src/providers/ipa/ipa_dyndns.h \
+ src/providers/proxy/proxy.h \
+ src/tools/tools_util.h \
+ src/tools/sss_sync_ops.h \
+ src/resolv/async_resolv.h \
+ src/resolv/ares/ares_parse_srv_reply.h \
+ src/resolv/ares/ares_parse_txt_reply.h \
+ src/resolv/ares/ares_data.h \
+ src/tests/common.h
+
+
+####################
+# Program Binaries #
+####################
+sssd_SOURCES = \
+ src/monitor/monitor.c \
+ src/monitor/monitor_netlink.c \
+ src/confdb/confdb_setup.c \
+ $(SSSD_UTIL_OBJ)
+sssd_LDADD = \
+ $(SSSD_LIBS) \
+ $(LIBNL_LIBS)
+
+sssd_nss_SOURCES = \
+ src/responder/nss/nsssrv.c \
+ src/responder/nss/nsssrv_cmd.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_RESPONDER_OBJ)
+sssd_nss_LDADD = \
+ $(TDB_LIBS) \
+ $(SSSD_LIBS)
+
+sssd_pam_SOURCES = \
+ src/responder/pam/pam_LOCAL_domain.c \
+ src/responder/pam/pamsrv.c \
+ src/responder/pam/pamsrv_cmd.c \
+ src/responder/pam/pamsrv_dp.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_RESPONDER_OBJ)
+sssd_pam_LDADD = \
+ $(TDB_LIBS) \
+ $(SSSD_LIBS)
+
+sssd_be_SOURCES = \
+ src/providers/data_provider_be.c \
+ src/providers/data_provider_fo.c \
+ src/providers/data_provider_opts.c \
+ src/providers/data_provider_callbacks.c \
+ $(SSSD_FAILOVER_OBJ) \
+ $(SSSD_UTIL_OBJ)
+sssd_be_LDADD = $(SSSD_LIBS) $(CARES_LIBS)
+sssd_be_LDFLAGS = \
+ -Wl,--version-script,$(srcdir)/src/providers/sssd_be.exports \
+ -export-dynamic
+
+dist_noinst_DATA += \
+ src/examples/sssd.conf \
+ src/examples/sssdproxytest \
+ src/examples/sudo \
+ src/examples/logrotate \
+ src/providers/sssd_be.exports \
+ src/sss_client/COPYING \
+ src/sss_client/COPYING.LESSER \
+ src/m4
+
+######################
+# Command-line Tools #
+######################
+sss_useradd_SOURCES = \
+ src/tools/sss_useradd.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_useradd_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_userdel_SOURCES = \
+ src/tools/sss_userdel.c \
+ src/util/find_uid.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_userdel_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_groupadd_SOURCES = \
+ src/tools/sss_groupadd.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_groupadd_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_groupdel_SOURCES = \
+ src/tools/sss_groupdel.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_groupdel_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_usermod_SOURCES = \
+ src/tools/sss_usermod.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_usermod_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_groupmod_SOURCES = \
+ src/tools/sss_groupmod.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_groupmod_LDADD = \
+ $(TOOLS_LIBS)
+
+sss_groupshow_SOURCES = \
+ src/tools/sss_groupshow.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ)
+sss_groupshow_LDADD = \
+ $(TOOLS_LIBS)
+
+#################
+# Feature Tests #
+#################
+noinst_LTLIBRARIES += \
+ libsss_test_common.la
+
+libsss_test_common_la_SOURCES = \
+ src/tests/common.c
+
+if HAVE_CHECK
+libsss_test_common_la_SOURCES += \
+ src/tests/common_check.c
+
+sysdb_tests_DEPENDENCIES = \
+ $(ldblib_LTLIBRARIES)
+sysdb_tests_SOURCES = \
+ src/tests/sysdb-tests.c \
+ $(SSSD_UTIL_OBJ)
+sysdb_tests_CFLAGS = \
+ -DSYSDB_TEST \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+sysdb_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+strtonum_tests_SOURCES = \
+ src/tests/strtonum-tests.c \
+ src/util/debug.c \
+ src/util/strtonum.c
+strtonum_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+strtonum_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+krb5_utils_tests_SOURCES = \
+ src/tests/krb5_utils-tests.c \
+ src/providers/krb5/krb5_utils.c \
+ src/providers/krb5/krb5_common.c \
+ src/providers/data_provider_fo.c \
+ src/providers/data_provider_opts.c \
+ src/providers/data_provider_callbacks.c \
+ $(SSSD_FAILOVER_OBJ) \
+ $(SSSD_UTIL_OBJ)
+krb5_utils_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+krb5_utils_tests_LDADD = \
+ $(SSSD_LIBS)\
+ $(CARES_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+
+check_and_open_tests_SOURCES = \
+ $(SSSD_DEBUG_OBJ) \
+ src/tests/check_and_open-tests.c \
+ src/util/check_and_open.c
+check_and_open_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+check_and_open_tests_LDADD = \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+FILES_TESTS_LIBS = \
+ $(CHECK_LIBS) \
+ $(POPT_LIBS) \
+ $(TALLOC_LIBS) \
+ libsss_test_common.la
+if BUILD_SELINUX
+ FILES_TESTS_LIBS += $(SELINUX_LIBS)
+endif
+if BUILD_SEMANAGE
+ FILES_TESTS_LIBS += $(SEMANAGE_LIBS)
+endif
+
+files_tests_SOURCES = \
+ $(SSSD_DEBUG_OBJ) \
+ src/tests/files-tests.c \
+ src/util/check_and_open.c \
+ src/tools/selinux.c \
+ src/tools/files.c
+files_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+files_tests_LDADD = \
+ $(FILES_TESTS_LIBS) \
+ libsss_test_common.la
+
+SSSD_RESOLV_TESTS_OBJ = \
+ $(SSSD_RESOLV_OBJ)
+if BUILD_ARES_DATA
+ SSSD_RESOLV_TESTS_OBJ += \
+ src/resolv/ares/ares_parse_txt_reply.c
+endif
+
+resolv_tests_SOURCES = \
+ src/tests/resolv-tests.c \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_RESOLV_TESTS_OBJ)
+resolv_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS) \
+ -DBUILD_TXT
+resolv_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ $(CARES_LIBS) \
+ libsss_test_common.la
+
+refcount_tests_SOURCES = \
+ src/tests/refcount-tests.c \
+ $(CHECK_OBJ) \
+ $(SSSD_UTIL_OBJ)
+refcount_tests_CFLAGS = \
+ $(CHECK_CFLAGS)
+refcount_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+fail_over_tests_SOURCES = \
+ src/tests/fail_over-tests.c \
+ $(SSSD_FAILOVER_OBJ) \
+ $(CHECK_OBJ) \
+ $(SSSD_UTIL_OBJ)
+fail_over_tests_CFLAGS = \
+ $(CHECK_CFLAGS)
+fail_over_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ $(CARES_LIBS) \
+ libsss_test_common.la
+
+ipa_timerules_tests_SOURCES = \
+ src/providers/ipa/ipa_timerules.c \
+ src/tests/ipa_timerules-tests.c \
+ $(SSSD_DEBUG_OBJ)
+ipa_timerules_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(POPT_CFLAGS) \
+ $(TALLOC_CFLAGS) \
+ $(PCRE_CFLAGS) \
+ $(CHECK_CFLAGS)
+ipa_timerules_tests_LDADD = \
+ $(POPT_LIBS) \
+ $(PCRE_LIBS) \
+ $(TALLOC_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+find_uid_tests_SOURCES = \
+ src/tests/find_uid-tests.c \
+ src/util/find_uid.c \
+ $(SSSD_DEBUG_OBJ)
+find_uid_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(TALLOC_CFLAGS) \
+ $(DHASH_CFLAGS) \
+ $(CHECK_CFLAGS)
+find_uid_tests_LDADD = \
+ $(TALLOC_LIBS) \
+ $(DHASH_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+auth_tests_SOURCES = \
+ src/tests/auth-tests.c \
+ $(SSSD_UTIL_OBJ)
+auth_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+auth_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+ipa_ldap_opt_tests_SOURCES = \
+ src/providers/ipa/ipa_utils.c \
+ src/tests/ipa_ldap_opt-tests.c
+ipa_ldap_opt_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+ipa_ldap_opt_tests_LDADD = \
+ $(CHECK_LIBS) \
+ $(TALLOC_LIBS) \
+ libsss_test_common.la
+
+simple_access_tests_SOURCES = \
+ src/tests/simple_access-tests.c \
+ src/providers/simple/simple_access.c \
+ $(SSSD_UTIL_OBJ)
+simple_access_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+simple_access_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS)
+
+util_tests_SOURCES = \
+ src/tests/util-tests.c \
+ $(SSSD_UTIL_OBJ)
+util_tests_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CHECK_CFLAGS)
+util_tests_LDADD = \
+ $(SSSD_LIBS) \
+ $(CHECK_LIBS) \
+ libsss_test_common.la
+
+endif
+
+stress_tests_SOURCES = \
+ src/tests/stress-tests.c \
+ $(SSSD_UTIL_OBJ)
+stress_tests_LDADD = \
+ $(SSSD_LIBS) \
+ libsss_test_common.la
+
+noinst_PROGRAMS = pam_test_client
+pam_test_client_SOURCES = src/sss_client/pam_test_client.c
+pam_test_client_LDFLAGS = -lpam -lpam_misc
+
+####################
+# Client Libraries #
+####################
+
+nsslib_LTLIBRARIES = libnss_sss.la
+libnss_sss_la_SOURCES = \
+ src/sss_client/common.c \
+ src/sss_client/passwd.c \
+ src/sss_client/group.c \
+ src/sss_client/sss_cli.h
+libnss_sss_la_LDFLAGS = \
+ -module \
+ -version-info 2:0:0 \
+ -Wl,--version-script,$(srcdir)/src/sss_client/sss_nss.exports
+
+pamlib_LTLIBRARIES = pam_sss.la
+pam_sss_la_SOURCES = \
+ src/sss_client/pam_sss.c \
+ src/sss_client/common.c \
+ src/sss_client/sss_cli.h \
+ src/sss_client/sss_pam_macros.h
+
+pam_sss_la_LDFLAGS = \
+ -lpam \
+ -module \
+ -avoid-version \
+ -Wl,--version-script,$(srcdir)/src/sss_client/sss_pam.exports
+
+dist_noinst_DATA += \
+ src/sss_client/sss_nss.exports \
+ src/sss_client/sss_pam.exports
+
+####################
+# Plugin Libraries #
+####################
+libsss_ldap_la_SOURCES = \
+ src/util/find_uid.c \
+ src/providers/child_common.c \
+ src/providers/ldap/ldap_id.c \
+ src/providers/ldap/ldap_id_enum.c \
+ src/providers/ldap/ldap_id_cleanup.c \
+ src/providers/ldap/sdap_access.c \
+ src/providers/ldap/ldap_auth.c \
+ src/providers/ldap/ldap_init.c \
+ src/providers/ldap/ldap_common.c \
+ src/providers/ldap/sdap_async.c \
+ src/providers/ldap/sdap_async_accounts.c \
+ src/providers/ldap/sdap_async_connection.c \
+ src/providers/ldap/sdap_child_helpers.c \
+ src/providers/ldap/sdap_fd_events.c \
+ src/providers/ldap/sdap_id_op.c \
+ src/providers/ldap/sdap.c \
+ src/util/user_info_msg.c \
+ src/util/sss_ldap.c \
+ src/util/sss_krb5.c
+libsss_ldap_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(LDAP_CFLAGS) \
+ $(KRB5_CFLAGS)
+libsss_ldap_la_LIBADD = \
+ $(OPENLDAP_LIBS) \
+ $(DHASH_LIBS) \
+ $(KRB5_LIBS)
+libsss_ldap_la_LDFLAGS = \
+ -version-info 1:0:0 \
+ -module
+
+libsss_proxy_la_SOURCES = \
+ src/providers/proxy/proxy_common.c \
+ src/providers/proxy/proxy_init.c \
+ src/providers/proxy/proxy_id.c \
+ src/providers/proxy/proxy_auth.c
+libsss_proxy_la_CFLAGS = \
+ $(AM_CFLAGS)
+libsss_proxy_la_LIBADD = \
+ $(PAM_LIBS)
+libsss_proxy_la_LDFLAGS = \
+ -version-info 1:0:0 \
+ -module
+
+libsss_simple_la_SOURCES = \
+ src/providers/simple/simple_access.c
+libsss_simple_la_CFLAGS = \
+ $(AM_CFLAGS)
+libsss_simple_la_LIBADD = \
+ $(PAM_LIBS)
+libsss_simple_la_LDFLAGS = \
+ -version-info 1:0:0 \
+ -module
+
+libsss_krb5_la_SOURCES = \
+ src/util/find_uid.c \
+ src/providers/child_common.c \
+ src/providers/krb5/krb5_utils.c \
+ src/providers/krb5/krb5_become_user.c \
+ src/providers/krb5/krb5_delayed_online_authentication.c \
+ src/providers/krb5/krb5_auth.c \
+ src/providers/krb5/krb5_common.c \
+ src/providers/krb5/krb5_init.c \
+ src/util/sss_krb5.c
+libsss_krb5_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(DHASH_CFLAGS)
+libsss_krb5_la_LIBADD = \
+ $(DHASH_LIBS) \
+ $(KEYUTILS_LIBS) \
+ $(KRB5_LIBS)
+libsss_krb5_la_LDFLAGS = \
+ -version-info 1:0:0 \
+ -module
+
+libsss_ipa_la_SOURCES = \
+ src/providers/child_common.c \
+ src/providers/ipa/ipa_init.c \
+ src/providers/ipa/ipa_common.c \
+ src/providers/ipa/ipa_utils.c \
+ src/providers/ipa/ipa_auth.c \
+ src/providers/ipa/ipa_access.c \
+ src/providers/ipa/ipa_timerules.c \
+ src/providers/ipa/ipa_dyndns.c \
+ src/providers/ldap/ldap_id.c \
+ src/providers/ldap/ldap_id_enum.c \
+ src/providers/ldap/ldap_id_cleanup.c \
+ src/providers/ldap/ldap_auth.c \
+ src/providers/ldap/ldap_common.c \
+ src/providers/ldap/sdap_async.c \
+ src/providers/ldap/sdap_async_accounts.c \
+ src/providers/ldap/sdap_async_connection.c \
+ src/providers/ldap/sdap_child_helpers.c \
+ src/providers/ldap/sdap_fd_events.c \
+ src/providers/ldap/sdap_id_op.c \
+ src/providers/ldap/sdap.c \
+ src/util/user_info_msg.c \
+ src/util/sss_ldap.c \
+ src/util/sss_krb5.c \
+ src/util/find_uid.c \
+ src/providers/krb5/krb5_utils.c \
+ src/providers/krb5/krb5_become_user.c \
+ src/providers/krb5/krb5_delayed_online_authentication.c \
+ src/providers/krb5/krb5_common.c \
+ src/providers/krb5/krb5_auth.c
+libsss_ipa_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(LDAP_CFLAGS) \
+ $(DHASH_CFLAGS) \
+ $(KRB5_CFLAGS)
+libsss_ipa_la_LIBADD = \
+ $(OPENLDAP_LIBS) \
+ $(DHASH_LIBS) \
+ $(KEYUTILS_LIBS) \
+ $(KRB5_LIBS)
+libsss_ipa_la_LDFLAGS = \
+ -version-info 1:0:0 \
+ -module
+
+krb5_child_SOURCES = \
+ $(SSSD_DEBUG_OBJ) \
+ src/providers/krb5/krb5_become_user.c \
+ src/providers/krb5/krb5_child.c \
+ src/providers/child_common.c \
+ src/providers/dp_pam_data_util.c \
+ src/util/user_info_msg.c \
+ src/util/sss_krb5.c
+krb5_child_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(POPT_CFLAGS) \
+ $(KRB5_CFLAGS)
+krb5_child_LDADD = \
+ $(TALLOC_LIBS) \
+ $(TEVENT_LIBS) \
+ $(POPT_LIBS) \
+ $(KRB5_LIBS)
+
+ldap_child_SOURCES = \
+ $(SSSD_DEBUG_OBJ) \
+ src/providers/ldap/ldap_child.c \
+ src/providers/child_common.c \
+ src/util/sss_krb5.c
+ldap_child_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(POPT_CFLAGS) \
+ $(KRB5_CFLAGS)
+ldap_child_LDADD = \
+ $(TALLOC_LIBS) \
+ $(TEVENT_LIBS) \
+ $(POPT_LIBS) \
+ $(OPENLDAP_LIBS) \
+ $(KRB5_LIBS)
+
+proxy_child_SOURCES = \
+ $(SSSD_UTIL_OBJ) \
+ src/providers/proxy/proxy_child.c
+proxy_child_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(POPT_CFLAGS)
+proxy_child_LDADD = \
+ $(PAM_LIBS) \
+ $(SSSD_LIBS)
+
+memberof_la_SOURCES = \
+ src/ldb_modules/memberof.c
+memberof_la_CFLAGS = \
+ $(AM_CFLAGS)
+memberof_la_LIBADD = $(LDB_LIBS) $(DHASH_LIBS)
+memberof_la_LDFLAGS = \
+ -avoid-version \
+ -module
+
+if BUILD_KRB5_LOCATOR_PLUGIN
+sssd_krb5_locator_plugin_la_SOURCES = \
+ src/krb5_plugin/sssd_krb5_locator_plugin.c
+sssd_krb5_locator_plugin_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(KRB5_CFLAGS)
+sssd_krb5_locator_plugin_la_LDFLAGS = \
+ -avoid-version \
+ -module
+endif
+
+if BUILD_PYTHON_BINDINGS
+pysss_la_SOURCES = \
+ $(SSSD_UTIL_OBJ) \
+ $(SSSD_TOOLS_OBJ) \
+ src/python/pysss.c
+pysss_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(PYTHON_CFLAGS)
+pysss_la_LIBADD = \
+ $(PYTHON_BINDINGS_LIBS) \
+ $(PYTHON_LIBS)
+pysss_la_LDFLAGS = \
+ -avoid-version \
+ -module
+endif
+
+############
+# MANPAGES #
+############
+
+#Special Rules:
+export SGML_CATALOG_FILES
+DOCBOOK_XSLT = http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl
+XMLLINT_FLAGS = --catalogs --postvalid --nonet --xinclude --noout
+XSLTPROC_FLAGS = --catalogs --xinclude --nonet
+
+dist_man_MANS = \
+ src/man/sss_useradd.8 src/man/sss_userdel.8 src/man/sss_usermod.8 \
+ src/man/sss_groupadd.8 src/man/sss_groupdel.8 src/man/sss_groupmod.8 \
+ src/man/sssd.8 src/man/sssd.conf.5 src/man/sssd-ldap.5 \
+ src/man/sssd-krb5.5 src/man/sssd-ipa.5 src/man/sssd-simple.5 \
+ src/man/sssd_krb5_locator_plugin.8 src/man/sss_groupshow.8 \
+ src/man/pam_sss.8
+
+SUFFIXES = .1.xml .1 .3.xml .3 .5.xml .5 .8.xml .8
+.1.xml.1:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.3.xml.3:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.5.xml.5:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+.8.xml.8:
+ $(XMLLINT) $(XMLLINT_FLAGS) $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) $(DOCBOOK_XSLT) $<
+
+#######################
+# Installation Extras #
+#######################
+
+dist_init_SCRIPTS =
+if HAVE_SUSE
+ dist_init_SCRIPTS += \
+ src/sysv/SUSE/sssd
+else
+ dist_init_SCRIPTS += \
+ src/sysv/sssd
+endif
+
+
+dist_sssdconf_DATA = \
+ src/config/etc/sssd.api.conf
+dist_sssdapiplugin_DATA = \
+ src/config/etc/sssd.api.d/sssd-ipa.conf \
+ src/config/etc/sssd.api.d/sssd-krb5.conf \
+ src/config/etc/sssd.api.d/sssd-ldap.conf \
+ src/config/etc/sssd.api.d/sssd-local.conf \
+ src/config/etc/sssd.api.d/sssd-proxy.conf \
+ src/config/etc/sssd.api.d/sssd-simple.conf
+
+installsssddirs::
+ mkdir -p \
+ $(DESTDIR)$(includedir) \
+ $(DESTDIR)$(libdir) \
+ $(DESTDIR)$(sbindir) \
+ $(DESTDIR)$(initdir) \
+ $(DESTDIR)$(mandir) \
+ $(DESTDIR)$(pluginpath) \
+ $(DESTDIR)$(libdir)/ldb \
+ $(DESTDIR)$(dbuspolicydir) \
+ $(DESTDIR)$(infpintrospectdir) \
+ $(DESTDIR)$(dbusintrospectdir) \
+ $(DESTDIR)$(pipepath)/private \
+ $(DESTDIR)$(sssdlibdir) \
+ $(DESTDIR)$(sssdconfdir) \
+ $(DESTDIR)$(dbpath) \
+ $(DESTDIR)$(pidpath) \
+ $(DESTDIR)$(initdir) \
+ $(DESTDIR)$(logpath) \
+ $(DESTDIR)$(pubconfpath)
+
+if HAVE_DOXYGEN
+docs:
+ $(DOXYGEN) src/doxy.config
+else
+docs:
+ @echo "Doxygen not installed, cannot generate documentation"
+ @exit 1
+endif
+all-local:
+ cd $(srcdir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config
+
+install-exec-hook: installsssddirs
+ if [ "$(DESTDIR)" = "" ]; then \
+ cd $(srcdir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config install $(DISTSETUPOPTS) --prefix=$(PYTHON_PREFIX) --record=$(abs_builddir)/src/config/.files; \
+ else \
+ cd $(srcdir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config install $(DISTSETUPOPTS) --prefix=$(PYTHON_PREFIX) --root=$(DESTDIR) --record=$(abs_builddir)/src/config/.files; \
+ fi
+ mkdir -p doc $(DESTDIR)/$(docdir); cp -a doc $(DESTDIR)/$(docdir)/
+
+install-data-hook:
+ rm $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2 \
+ $(DESTDIR)/$(nsslibdir)/libnss_sss.so
+ mv $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2.0.0 $(DESTDIR)/$(nsslibdir)/libnss_sss.so.2
+
+uninstall-hook:
+ if [ -f $(abs_builddir)/src/config/.files ]; then \
+ cat $(abs_builddir)/src/config/.files | xargs -iq rm -f $(DESTDIR)/q; \
+ rm $(abs_builddir)/src/config/.files ; \
+ fi
+ rm -Rf $(DESTDIR)/$(docdir)/doc
+
+clean-local:
+ cd $(srcdir)/src/config; $(PYTHON) setup.py build --build-base $(abs_builddir)/src/config clean --all
+ rm -Rf doc
+
+CLEANFILES = *.X */*.X */*/*.X
+
+tests: all $(check_PROGRAMS)
+
+
+# RPM-related tasks
+
+RPMBUILD ?= $(PWD)/rpmbuild
+
+dist_noinst_DATA += \
m4 \
contrib/sssd.spec.in \
BUILD.txt \
@@ -52,12 +1078,3 @@ prerelease-srpms:
mv $(srcdir)/version.m4.orig $(srcdir)/version.m4
endif
-tests: all
- for subdir in $(SUBDIRS); do \
- $(MAKE) -C $$subdir $@; \
- done
-
-docs:
- for subdir in $(SUBDIRS); do \
- $(MAKE) -C $$subdir $@; \
- done
diff --git a/configure.ac b/configure.ac
index 4fabcc72..58a7b2c8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,19 +1,173 @@
+AC_PREREQ(2.59)
+AC_DEFUN([AC_CHECK_LIB_EXT], [
+ AC_CHECK_LIB([$1],[$3],[$4],[$5],[$7])
+ ac_cv_lib_ext_$1_$3=$ac_cv_lib_$1_$3
+])
+AC_DEFUN([AC_CHECK_FUNC_EXT], [
+ AC_CHECK_FUNC([$1],[$3],[$4])
+ ac_cv_func_ext_$1=$ac_cv_func_$1
+])
+AC_DEFUN([SMB_MODULE_DEFAULT], [echo -n ""])
+AC_DEFUN([SMB_LIBRARY_ENABLE], [echo -n ""])
+AC_DEFUN([SMB_EXT_LIB], [echo -n ""])
+AC_DEFUN([SMB_ENABLE], [echo -n ""])
+
m4_include([version.m4])
AC_INIT([sssd],
VERSION_NUMBER,
[sssd-devel@lists.fedorahosted.org])
+
+CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
+
AC_CONFIG_SRCDIR([BUILD.txt])
AC_CONFIG_AUX_DIR([build])
-AM_INIT_AUTOMAKE([-Wall -Werror foreign])
-AC_CONFIG_MACRO_DIR([m4])
-AC_PROG_INSTALL
-AC_CONFIG_SUBDIRS([src])
+AM_INIT_AUTOMAKE([-Wall foreign subdir-objects])
+AM_PROG_CC_C_O
+AC_DISABLE_STATIC
+AC_PROG_INSTALL
+AC_PROG_LIBTOOL
+AC_CONFIG_MACRO_DIR([m4])
+AM_GNU_GETTEXT([external])
+AM_GNU_GETTEXT_VERSION([0.14])
AC_SUBST([PRERELEASE_VERSION],
PRERELEASE_VERSION_NUMBER)
AM_CONDITIONAL([GIT_CHECKOUT], [git log -1 &>/dev/null])
-AC_CONFIG_FILES([Makefile contrib/sssd.spec])
+m4_pattern_allow([AM_SILENT_RULES])
+AM_SILENT_RULES
+
+AM_CONDITIONAL([HAVE_GCC], [test "$ac_cv_prog_gcc" = yes])
+
+AC_CHECK_HEADERS(stdint.h dlfcn.h)
+AC_CONFIG_HEADER(config.h)
+
+AC_CHECK_TYPES([errno_t], [], [], [[#include <errno.h>]])
+
+m4_include([src/build_macros.m4])
+BUILD_WITH_SHARED_BUILD_DIR
+
+#Check for PAM headers
+AC_CHECK_HEADERS([security/pam_appl.h security/pam_misc.h security/pam_modules.h],
+ [AC_CHECK_LIB(pam, pam_get_item, [ PAM_LIBS="-lpam" ], [AC_MSG_ERROR([PAM must support pam_get_item])])],
+ [AC_MSG_ERROR([PAM development libraries not installed])]
+)
+
+#Set the NSS library install path
+AC_ARG_ENABLE([nsslibdir], [AS_HELP_STRING([--enable-nsslibdir],
+ [Where to install nss libraries ($libdir)])],
+ [nsslibdir=$enableval],
+ [nsslibdir=$libdir])
+AC_SUBST(nsslibdir)
+
+m4_include(src/conf_macros.m4)
+WITH_DB_PATH
+WITH_PLUGIN_PATH
+WITH_PID_PATH
+WITH_LOG_PATH
+WITH_PUBCONF_PATH
+WITH_PIPE_PATH
+WITH_INIT_DIR
+WITH_TEST_DIR
+WITH_MANPAGES
+WITH_XML_CATALOG
+WITH_KRB5_PLUGIN_PATH
+WITH_PYTHON_BINDINGS
+WITH_SELINUX
+WITH_NSCD
+WITH_SEMANAGE
+WITH_LIBNL
+
+m4_include([src/external/platform.m4])
+m4_include([src/external/pkg.m4])
+m4_include([src/external/libpopt.m4])
+m4_include([src/external/libtalloc.m4])
+m4_include([src/external/libtdb.m4])
+m4_include([src/external/libtevent.m4])
+m4_include([src/external/libldb.m4])
+m4_include([src/external/libdhash.m4])
+m4_include([src/external/libcollection.m4])
+m4_include([src/external/libini_config.m4])
+m4_include([src/external/pam.m4])
+m4_include([src/external/ldap.m4])
+m4_include([src/external/libpcre.m4])
+m4_include([src/external/krb5.m4])
+m4_include([src/external/libcares.m4])
+m4_include([src/external/docbook.m4])
+m4_include([src/external/sizes.m4])
+m4_include([src/external/python.m4])
+m4_include([src/external/selinux.m4])
+m4_include([src/external/crypto.m4])
+m4_include([src/external/nscd.m4])
+m4_include([src/external/nsupdate.m4])
+m4_include([src/external/libkeyutils.m4])
+m4_include([src/external/libnl.m4])
+m4_include([src/util/signal.m4])
+
+PKG_CHECK_MODULES([DBUS],[dbus-1])
+dnl if test -n "`$PKG_CONFIG --modversion dbus-1 | grep '^0\.'`" ; then
+if ! $PKG_CONFIG --atleast-version 1.0.0 dbus-1; then
+ DBUS_CFLAGS="$DBUS_CFLAGS -DDBUS_API_SUBJECT_TO_CHANGE"
+ AC_MSG_RESULT([setting -DDBUS_API_SUBJECT_TO_CHANGE])
+fi
+
+if test x$has_dbus != xno; then
+ SAFE_LIBS="$LIBS"
+ LIBS="$DBUS_LIBS"
+ AC_CHECK_FUNC([dbus_watch_get_unix_fd],
+ AC_DEFINE([HAVE_DBUS_WATCH_GET_UNIX_FD], [1],
+ [Define if dbus_watch_get_unix_fd exists]))
+ LIBS="$SAFE_LIBS"
+fi
+
+if test x$HAVE_MANPAGES != x; then
+ CHECK_XML_TOOLS
+ CHECK_STYLESHEET([$SGML_CATALOG_FILES],
+ [http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl],
+ [Docbook XSL templates])
+fi
+
+if test x$HAVE_PYTHON_BINDINGS != x; then
+ AM_PATH_PYTHON([2.4])
+ AM_CHECK_PYTHON_HEADERS([],
+ AC_MSG_ERROR([Could not find python headers]))
+ AM_PYTHON_CONFIG
+fi
+
+if test x$HAVE_SELINUX != x; then
+ AM_CHECK_SELINUX
+fi
+
+if test x$HAVE_SEMANAGE != x -a x$HAVE_SELINUX != x; then
+ AM_CHECK_SEMANAGE
+fi
+
+if test x$HAVE_LIBNL != x; then
+ AM_CHECK_LIBNL
+fi
+
+AC_CHECK_HEADERS([sys/inotify.h])
+
+AC_CHECK_HEADERS([sasl/sasl.h],,AC_MSG_ERROR([Could not find SASL headers]))
+
+PKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_check=1], [have_check=])
+if test x$have_check = x; then
+ AC_MSG_WARN([Without the 'CHECK' libraries, you will be unable to run all tests in the 'make check' suite])
+else
+ AC_CHECK_HEADERS([check.h],,AC_MSG_ERROR([Could not find CHECK headers]))
+fi
+
+AC_PATH_PROG([DOXYGEN], [doxygen], [false])
+AM_CONDITIONAL([HAVE_DOXYGEN], [test x$DOXYGEN != xfalse ])
+
+AM_CONDITIONAL([HAVE_CHECK], [test x$have_check != 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)
+
+AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config po/Makefile.in])
AC_OUTPUT
+
diff --git a/src/po/LINGUAS b/po/LINGUAS
index 3805972f..3805972f 100644
--- a/src/po/LINGUAS
+++ b/po/LINGUAS
diff --git a/src/po/Makevars b/po/Makevars
index 07fc8143..07fc8143 100644
--- a/src/po/Makevars
+++ b/po/Makevars
diff --git a/po/POTFILES.in b/po/POTFILES.in
new file mode 100644
index 00000000..af2ba9ee
--- /dev/null
+++ b/po/POTFILES.in
@@ -0,0 +1,23 @@
+# List of source files which contain translatable strings.
+src/confdb/confdb_setup.c
+src/config/SSSDConfig.py
+src/monitor/monitor.c
+src/providers/krb5/krb5_child.c
+src/providers/ldap/ldap_child.c
+src/providers/data_provider_be.c
+src/sss_client/common.c
+src/sss_client/group.c
+src/sss_client/pam_sss.c
+src/sss_client/pam_test_client.c
+src/sss_client/passwd.c
+src/tools/sss_useradd.c
+src/tools/sss_groupadd.c
+src/tools/sss_groupdel.c
+src/tools/sss_groupmod.c
+src/tools/sss_groupshow.c
+src/tools/sss_useradd.c
+src/tools/sss_userdel.c
+src/tools/sss_usermod.c
+src/tools/tools_util.c
+src/tools/tools_util.h
+src/util/util.h
diff --git a/src/po/de.po b/po/de.po
index 586414e3..586414e3 100644
--- a/src/po/de.po
+++ b/po/de.po
diff --git a/src/po/es.po b/po/es.po
index 4e88b30d..4e88b30d 100644
--- a/src/po/es.po
+++ b/po/es.po
diff --git a/src/po/fr.po b/po/fr.po
index 8f0bfa10..8f0bfa10 100644
--- a/src/po/fr.po
+++ b/po/fr.po
diff --git a/src/po/id.po b/po/id.po
index 0636854b..0636854b 100644
--- a/src/po/id.po
+++ b/po/id.po
diff --git a/src/po/it.po b/po/it.po
index d9dc9cda..d9dc9cda 100644
--- a/src/po/it.po
+++ b/po/it.po
diff --git a/src/po/ja.po b/po/ja.po
index 9087812a..9087812a 100644
--- a/src/po/ja.po
+++ b/po/ja.po
diff --git a/src/po/nl.po b/po/nl.po
index 92fe1560..92fe1560 100644
--- a/src/po/nl.po
+++ b/po/nl.po
diff --git a/src/po/pl.po b/po/pl.po
index 8cc665ea..8cc665ea 100644
--- a/src/po/pl.po
+++ b/po/pl.po
diff --git a/src/po/pt.po b/po/pt.po
index 625e9d88..625e9d88 100644
--- a/src/po/pt.po
+++ b/po/pt.po
diff --git a/src/po/ru.po b/po/ru.po
index 62bdb2df..62bdb2df 100644
--- a/src/po/ru.po
+++ b/po/ru.po
diff --git a/src/po/sss_daemon.pot b/po/sssd.pot
index 8be41202..8be41202 100644
--- a/src/po/sss_daemon.pot
+++ b/po/sssd.pot
diff --git a/src/po/sv.po b/po/sv.po
index 77d8f09f..77d8f09f 100644
--- a/src/po/sv.po
+++ b/po/sv.po
diff --git a/src/po/uk.po b/po/uk.po
index 78a58adc..78a58adc 100644
--- a/src/po/uk.po
+++ b/po/uk.po
diff --git a/src/po/zh_TW.po b/po/zh_TW.po
index 825accb0..825accb0 100644
--- a/src/po/zh_TW.po
+++ b/po/zh_TW.po
diff --git a/src/config/SSSDConfigTest.py b/src/config/SSSDConfigTest.py
index e99a7876..f0cfac8b 100755
--- a/src/config/SSSDConfigTest.py
+++ b/src/config/SSSDConfigTest.py
@@ -1614,7 +1614,7 @@ if __name__ == "__main__":
import sys
srcdir = os.getenv('srcdir')
if srcdir:
- srcdir = srcdir + "/config"
+ srcdir = srcdir + "/src/config"
else:
srcdir = "."
diff --git a/src/external/libcollection.m4 b/src/external/libcollection.m4
index 8fc37e8c..ae49edf8 100644
--- a/src/external/libcollection.m4
+++ b/src/external/libcollection.m4
@@ -1,12 +1,10 @@
-AC_SUBST(SYSTEM_COLLECTION_OBJ)
-AC_SUBST(SYSTEM_COLLECTION_CFLAGS)
-AC_SUBST(SYSTEM_COLLECTION_LIBS)
+AC_SUBST(COLLECTION_OBJ)
+AC_SUBST(COLLECTION_CFLAGS)
+AC_SUBST(COLLECTION_LIBS)
-PKG_CHECK_MODULES(SYSTEM_COLLECTION, collection >= 0.4.0,
- have_system_collection=true,
- have_system_collection=false
+PKG_CHECK_MODULES(COLLECTION,
+ collection >= 0.5.1,
+ ,
+ AC_MSG_ERROR("Please install libcollection-devel")
)
-# This is future-compatible. Right now, we'll force the use of our
-# in-tree copy. When collection is split off as its own source package, we'll
-# fix this test
-AM_CONDITIONAL(HAVE_SYSTEM_COLLECTION, test x$have_system_collection = xtrue_FORCE_IN_TREE)
+
diff --git a/src/external/libdhash.m4 b/src/external/libdhash.m4
index e3afdac3..4d5c5d1a 100644
--- a/src/external/libdhash.m4
+++ b/src/external/libdhash.m4
@@ -1,12 +1,10 @@
-AC_SUBST(SYSTEM_DHASH_OBJ)
-AC_SUBST(SYSTEM_DHASH_CFLAGS)
-AC_SUBST(SYSTEM_DHASH_LIBS)
+AC_SUBST(DHASH_OBJ)
+AC_SUBST(DHASH_CFLAGS)
+AC_SUBST(DHASH_LIBS)
-PKG_CHECK_MODULES(SYSTEM_DHASH, dhash >= 0.4.0,
- have_system_dhash=true,
- have_system_dhash=false
+PKG_CHECK_MODULES(DHASH,
+ dhash >= 0.4.0,
+ ,
+ AC_MSG_ERROR("Please install libdhash-devel")
)
-# This is future-compatible. Right now, we'll force the use of our
-# in-tree copy. When dhash is split off as its own source package, we'll
-# fix this test
-AM_CONDITIONAL(HAVE_SYSTEM_DHASH, test x$have_system_dhash = xtrue_FORCE_IN_TREE)
+
diff --git a/src/external/libini_config.m4 b/src/external/libini_config.m4
index 20291efa..f41f3191 100644
--- a/src/external/libini_config.m4
+++ b/src/external/libini_config.m4
@@ -1,12 +1,10 @@
-AC_SUBST(SYSTEM_INI_CONFIG_OBJ)
-AC_SUBST(SYSTEM_INI_CONFIG_CFLAGS)
-AC_SUBST(SYSTEM_INI_CONFIG_LIBS)
+AC_SUBST(INI_CONFIG_OBJ)
+AC_SUBST(INI_CONFIG_CFLAGS)
+AC_SUBST(INI_CONFIG_LIBS)
-PKG_CHECK_MODULES(SYSTEM_INI_CONFIG, ini_config >= 0.4.0,
- have_system_ini_config=true,
- have_system_ini_config=false
+PKG_CHECK_MODULES(INI_CONFIG,
+ ini_config >= 0.6.1,
+ ,
+ AC_MSG_ERROR("Please install libini_config-devel")
)
-# This is future-compatible. Right now, we'll force the use of our
-# in-tree copy. When ini_config is split off as its own source package, we'll
-# fix this test
-AM_CONDITIONAL(HAVE_SYSTEM_INI_CONFIG, test x$have_system_ini_config = xtrue_FORCE_IN_TREE)
+
diff --git a/src/po/POTFILES.in b/src/po/POTFILES.in
deleted file mode 100644
index 934c510c..00000000
--- a/src/po/POTFILES.in
+++ /dev/null
@@ -1,23 +0,0 @@
-# List of source files which contain translatable strings.
-confdb/confdb_setup.c
-config/SSSDConfig.py
-monitor/monitor.c
-providers/krb5/krb5_child.c
-providers/ldap/ldap_child.c
-providers/data_provider_be.c
-sss_client/common.c
-sss_client/group.c
-sss_client/pam_sss.c
-sss_client/pam_test_client.c
-sss_client/passwd.c
-tools/sss_useradd.c
-tools/sss_groupadd.c
-tools/sss_groupdel.c
-tools/sss_groupmod.c
-tools/sss_groupshow.c
-tools/sss_useradd.c
-tools/sss_userdel.c
-tools/sss_usermod.c
-tools/tools_util.c
-tools/tools_util.h
-util/util.h