From c57972123d2fb4676cead69b43fcf10599c5dcd2 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 16 Jan 2012 19:05:33 +0100 Subject: [PATCH 2/3] Export libsss_sudo as a separate package --- Makefile.am | 36 ++++++++++++++++++++++++++------ configure.ac | 3 +- src/sss_client/sss_sudo.exports | 15 +++++++++++++ src/sss_client/sudo/libsss_sudo.pc.in | 12 +++++++++++ 4 files changed, 58 insertions(+), 8 deletions(-) create mode 100644 src/sss_client/sss_sudo.exports create mode 100644 src/sss_client/sudo/libsss_sudo.pc.in diff --git a/Makefile.am b/Makefile.am index a0855ae0598dfa54845cac3d8eba651d384eb90e..643ca6a1cd7f51279d4908c349dd86e1c6fbe686 100644 --- a/Makefile.am +++ b/Makefile.am @@ -39,6 +39,7 @@ logpath = @logpath@ pubconfpath = @pubconfpath@ pkgconfigdir = $(libdir)/pkgconfig krb5rcachedir = @krb5rcachedir@ +sudolibdir = @appmodpath@ UNICODE_LIBS=@UNICODE_LIBS@ @@ -570,14 +571,11 @@ sss_debuglevel_LDADD = \ if BUILD_SUDO sss_sudo_cli_SOURCES = \ - src/sss_client/sudo_testcli/sudo_testcli.c \ - src/sss_client/sudo/sss_sudo_response.c \ - src/sss_client/sudo/sss_sudo.c \ - src/sss_client/sudo/sss_sudo.h \ - src/sss_client/sudo/sss_sudo_private.h \ src/sss_client/common.c \ - src/sss_client/sss_cli.h + src/sss_client/sudo_testcli/sudo_testcli.c sss_sudo_cli_CFLAGS = $(AM_CFLAGS) +sss_sudo_cli_LDADD = \ + libsss_sudo.la endif ################# @@ -868,9 +866,32 @@ pam_sss_la_LDFLAGS = \ -avoid-version \ -Wl,--version-script,$(srcdir)/src/sss_client/sss_pam.exports +if BUILD_SUDO + +libsss_sudo_la_SOURCES = \ + src/sss_client/common.c \ + src/sss_client/sss_cli.h \ + src/sss_client/sudo/sss_sudo_response.c \ + src/sss_client/sudo/sss_sudo.c \ + src/sss_client/sudo/sss_sudo.h \ + src/sss_client/sudo/sss_sudo_private.h +libsss_sudo_la_LDFLAGS = \ + -Wl,--version-script,$(srcdir)/src/sss_client/sss_sudo.exports \ + -version 1:0:0 + +sudolib_LTLIBRARIES = libsss_sudo.la +dist_pkgconfig_DATA += src/sss_client/sudo/libsss_sudo.pc + +include_HEADERS += \ + src/sss_client/sudo/sss_sudo.h +endif + dist_noinst_DATA += \ src/sss_client/sss_nss.exports \ src/sss_client/sss_pam.exports +if BUILD_SUDO +dist_noinst_DATA += src/sss_client/sss_sudo.exports +endif #################### # Plugin Libraries # @@ -1189,7 +1210,8 @@ installsssddirs:: $(DESTDIR)$(dbpath) \ $(DESTDIR)$(pidpath) \ $(DESTDIR)$(logpath) \ - $(DESTDIR)$(pubconfpath) + $(DESTDIR)$(pubconfpath) \ + $(DESTDIR)$(sudolibdir) if HAVE_DOXYGEN docs: diff --git a/configure.ac b/configure.ac index 2f9857a19a74dce915fac4332cf160d709fc1c0a..f338aaa139fbca84a6ae947211ccf148fc468678 100644 --- a/configure.ac +++ b/configure.ac @@ -231,5 +231,6 @@ AC_SUBST([abs_builddir], $abs_build_dir) AC_CONFIG_FILES([Makefile contrib/sssd.spec src/examples/rwtab src/doxy.config src/sysv/systemd/sssd.service po/Makefile.in src/man/Makefile - src/providers/ipa/ipa_hbac.pc src/providers/ipa/ipa_hbac.doxy]) + src/providers/ipa/ipa_hbac.pc src/providers/ipa/ipa_hbac.doxy + src/sss_client/sudo/libsss_sudo.pc]) AC_OUTPUT diff --git a/src/sss_client/sss_sudo.exports b/src/sss_client/sss_sudo.exports new file mode 100644 index 0000000000000000000000000000000000000000..3f6bea30c9c1c90010845b9fa08ce77bd18dec0b --- /dev/null +++ b/src/sss_client/sss_sudo.exports @@ -0,0 +1,15 @@ +EXPORTED { + + # public functions + global: + + sss_sudo_send_recv; + sss_sudo_free_result; + sss_sudo_get_values; + sss_sudo_free_values; + + # everything else is local + local: + *; +}; + diff --git a/src/sss_client/sudo/libsss_sudo.pc.in b/src/sss_client/sudo/libsss_sudo.pc.in new file mode 100644 index 0000000000000000000000000000000000000000..ba67fa987c90e45b7ff30beaa6b874609118f0a3 --- /dev/null +++ b/src/sss_client/sudo/libsss_sudo.pc.in @@ -0,0 +1,12 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: sss_sudo +Description: A library to allow communication between SUDO and SSSD +Version: @VERSION@ +Libs: -L@appmodpath@ -lsss_sudo +Cflags: +URL: http://fedorahosted.org/sssd/ + -- 1.7.7.4