summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArthur de Jong <arthur@arthurdejong.org>2010-10-10 19:45:16 +0000
committerArthur de Jong <arthur@arthurdejong.org>2010-10-10 19:45:16 +0000
commit7ec50564b4a29045e9fd0e36515eb9cc59b06790 (patch)
treec35e61cfbb5200c656b539e3d4b7d4cea182f8f5
parentff136bf5c63b11b41e02ab6274deccee4615be37 (diff)
put all logic on how to run linker for NSS and PAM components in configure script (remove stuff from Makefile.ams) and add Solaris version script (renaming version scripts as needed) (r1250 from -solaris branch)
git-svn-id: http://arthurdejong.org/svn/nss-pam-ldapd/nss-pam-ldapd@1253 ef36b2f9-881f-0410-afb5-c4e39611909c
-rw-r--r--ChangeLog149
-rw-r--r--configure.ac47
-rw-r--r--nss/Makefile.am8
-rw-r--r--nss/exports.glibc (renamed from nss/nss_ldap.map)0
-rw-r--r--nss/exports.solaris23
-rw-r--r--pam/Makefile.am5
6 files changed, 204 insertions, 28 deletions
diff --git a/ChangeLog b/ChangeLog
index 0acb30d..8ed4462 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,152 @@
+2010-10-10 19:32 arthur
+
+ * [r1252] compat/ether.c, compat/ether.h: move missing declarations
+ of ether_ntoa() and ether_aton() to header file so they are
+ available for other sources also (r1243 from -solaris branch)
+
+2010-10-10 19:31 arthur
+
+ * [r1251] configure.ac: fix test of returnlen struct member check
+ (r1244 from -solaris branch)
+
+2010-10-08 11:24 arthur
+
+ * [r1245] nss/services.c: correctly name shared file handle
+
+2010-10-04 19:37 arthur
+
+ * [r1240] nss/Makefile.am, nss/aliases.c, nss/ethers.c,
+ nss/group.c, nss/hosts.c, nss/netgroup.c, nss/networks.c,
+ nss/passwd.c, nss/protocols.c, nss/rpc.c, nss/services.c,
+ nss/shadow.c, pam/Makefile.am: improve consistency of code layout
+
+2010-10-04 19:35 arthur
+
+ * [r1239] compat/nss_compat.h, configure.ac, nss/Makefile.am,
+ nss/common.h, nss/hosts.c, nss/networks.c, nss/prototypes.h,
+ pam/Makefile.am: merge some of the changes for Solaris
+ portability to ease merging, adding --with-pam-seclib-dir,
+ --with-pam-ldap-soname and --with-nss-flavour options and having
+ some auto-detection for SONAMEs and NSS flavour
+
+2010-10-02 19:19 arthur
+
+ * [r1235] .: ignore configure.lineno
+
+2010-10-01 08:11 arthur
+
+ * [r1233] compat/ether.c, compat/ldap_passwd_s.c, configure.ac: use
+ AC_CHECK_DECLS to check for definitions of functions we provide a
+ replacement definition for
+
+2010-09-30 19:09 arthur
+
+ * [r1229] debian/po/vi.po: updated Vietnamese (vi) translation of
+ debconf templates by Clytie Siddall
+
+2010-09-30 18:20 arthur
+
+ * [r1228] configure.ac: fix test quoting
+
+2010-09-29 19:37 arthur
+
+ * [r1227] compat/ether.c, configure.ac: only provide definitions
+ for ether_aton() and ether_ntoa() for platforms missing a
+ definition
+
+2010-09-29 19:01 arthur
+
+ * [r1226] compat/ether.c: fix definitions of ether_aton() and
+ ether_ntoa()
+
+2010-09-28 21:04 arthur
+
+ * [r1225] compat/nss_compat.h, compat/pam_get_authtok.c,
+ configure.ac: begin merging some of the compatibility
+ improvements from Ted C. Cheng of Symas Corporation
+
+2010-09-28 19:39 arthur
+
+ * [r1224] compat/nss_compat.h: no need to provide a enum nss_status
+ replacement because we don't use it
+
+2010-09-28 19:39 arthur
+
+ * [r1223] tests/test_aliases.c, tests/test_ethers.c,
+ tests/test_group.c, tests/test_hosts.c, tests/test_netgroup.c,
+ tests/test_networks.c, tests/test_passwd.c,
+ tests/test_protocols.c, tests/test_rpc.c, tests/test_services.c,
+ tests/test_shadow.c: also switch to nss_status_t for test code
+
+2010-09-28 19:35 arthur
+
+ * [r1222] configure.ac: simplify appending OBJEXT sed expression
+
+2010-09-27 21:25 arthur
+
+ * [r1221] nslcd/myldap.c: remove variables which are no longer
+ necessary due to r1220
+
+2010-09-27 21:19 arthur
+
+ * [r1220] nslcd/myldap.c: remove disabling keepalives since we
+ handle SIGPIPE anyway
+
+2010-09-26 20:43 arthur
+
+ * [r1219] nslcd/myldap.c: remove ugly empty line
+
+2010-09-26 12:34 arthur
+
+ * [r1218] configure.ac: properly define PACKAGE_URL
+
+2010-09-26 11:19 arthur
+
+ * [r1217] nslcd/group.c: update description of group schema
+ supported
+
+2010-09-26 11:08 arthur
+
+ * [r1216] Makefile.am: switch to nicer mechanism to specify
+ subdirectories to build
+
+2010-09-25 21:50 arthur
+
+ * [r1215] configure.ac, nss/Makefile.am: have a way to limit which
+ NSS maps should be built
+
+2010-09-24 13:04 arthur
+
+ * [r1214] compat/nss_compat.h, nss/aliases.c, nss/common.h,
+ nss/ethers.c, nss/group.c, nss/hosts.c, nss/netgroup.c,
+ nss/networks.c, nss/passwd.c, nss/protocols.c, nss/prototypes.h,
+ nss/rpc.c, nss/services.c, nss/shadow.c: switch to using
+ nss_status_t throughout the code and provide compatibility code
+ to use whatever nss_status type is used on the system
+
+2010-09-23 21:21 arthur
+
+ * [r1208] nslcd/myldap.c: add some more error cases which should
+ trigger a disconnect
+
+2010-09-20 20:41 arthur
+
+ * [r1207] nslcd/myldap.c: handle errors from ldap_result()
+ consistently and also retry in case it times out
+
+2010-09-05 09:30 arthur
+
+ * [r1206] man/nslcd.conf.5.xml, nslcd/cfg.c, nslcd/cfg.h,
+ nslcd/common.h, nslcd/nslcd.c, nslcd/pam.c, pam/pam.c: implement
+ a rootpwmodpw option that allows root users to change user
+ passwords without a password prompt
+
+2010-08-28 19:46 arthur
+
+ * [r1204] ChangeLog, NEWS, configure.ac, debian/changelog,
+ man/nslcd.8.xml, man/nslcd.conf.5.xml, man/pam_ldap.8.xml: get
+ files ready for 0.7.9 release
+
2010-08-28 19:19 arthur
* [r1203] debian/po/nl.po: unfuzzy a few Dutch translations and
diff --git a/configure.ac b/configure.ac
index fcd09ff..61cb551 100644
--- a/configure.ac
+++ b/configure.ac
@@ -298,23 +298,6 @@ then
AC_DEFINE(__thread,,[Define to empty if compiler does not support `__thread' keyword.])
fi
-# check how to pass a symbol map to the linker
-AC_MSG_CHECKING([how linker wants the symbol map])
-if $CC -Wl,--help 2>&1 | grep -- --version-script >/dev/null
-then
- VERSION_SCRIPT_FLAG="-Wl,--version-script,"
- AC_SUBST(VERSION_SCRIPT_FLAG)
- AC_MSG_RESULT([--version-script])
-elif $CC -Wl,--help 2>&1 | grep -- '-M mapfile' >/dev/null
-then
- VERSION_SCRIPT_FLAG="-Wl,-M,"
- AC_SUBST(VERSION_SCRIPT_FLAG)
- AC_MSG_RESULT([-M])
-else
- AC_MSG_RESULT([unknown, not passing symbol map])
-fi
-AM_CONDITIONAL([HAVE_VERSION_SCRIPT_FLAG], [test "x${VERSION_SCRIPT_FLAG}" != x])
-
# check for support for the struct ether_addr structure
AC_CHECK_TYPES(struct ether_addr,,,[
#include <sys/socket.h>
@@ -427,6 +410,21 @@ then
NSS_MODULE_OBJS="`echo "$with_nss_ldap_maps " | sed 's/,/ /g;s/ */.$(OBJEXT) /g'`"
AC_SUBST(NSS_MODULE_OBJS)
+ # find out how to link the library
+ case "$target_os" in
+ solaris*)
+ if test "$ac_cv_prog_gcc" = yes; then
+ nss_ldap_so_LD="/usr/ccs/bin/ld"
+ AC_SUBST(nss_ldap_so_LD)
+ fi
+ nss_ldap_so_LDFLAGS="-Bdirect -z nodelete -Bdynamic -M \$(srcdir)/exports.solaris -G"
+ ;;
+ *)
+ nss_ldap_so_LDFLAGS="-shared -Wl,-h,\$(NSS_LDAP_SONAME) -Wl,--version-script,\$(srcdir)/exports.glibc"
+ ;;
+ esac
+ AC_SUBST(nss_ldap_so_LDFLAGS)
+
# restore CFLAGS and LIBS
CFLAGS="$nss_save_CFLAGS"
LIBS="$nss_save_LIBS"
@@ -464,6 +462,21 @@ then
AC_REPLACE_FUNCS(pam_get_authtok pam_prompt)
AC_CHECK_FUNCS(pam_modutil_getpwnam pam_syslog)
+ # find out how to link the library
+ case "$target_os" in
+ solaris*)
+ if test "$ac_cv_prog_gcc" = yes; then
+ pam_ldap_so_LD="/usr/ccs/bin/ld"
+ AC_SUBST(pam_ldap_so_LD)
+ fi
+ pam_ldap_so_LDFLAGS="-Bdirect -z nodelete -Bdynamic -M \$(srcdir)/pam_ldap.map -G"
+ ;;
+ *)
+ pam_ldap_so_LDFLAGS="-shared -Wl,--version-script,\$(srcdir)/pam_ldap.map"
+ ;;
+ esac
+ AC_SUBST(pam_ldap_so_LDFLAGS)
+
# restore CFLAGS and LIBS
CFLAGS="$pam_save_CFLAGS"
LIBS="$pam_save_LIBS"
diff --git a/nss/Makefile.am b/nss/Makefile.am
index 49e7e64..712c20e 100644
--- a/nss/Makefile.am
+++ b/nss/Makefile.am
@@ -34,12 +34,7 @@ EXTRA_nss_ldap_so_SOURCES = aliases.c ethers.c group.c hosts.c netgroup.c \
nss_ldap_so_DEPENDENCIES = $(NSS_MODULE_OBJS)
nss_ldap_so_LDADD = ../common/libtio.a ../common/libprot.a $(NSS_MODULE_OBJS)
-nss_ldap_so_LDFLAGS = -shared -Wl,-h,$(NSS_LDAP_SONAME)
-if HAVE_VERSION_SCRIPT_FLAG
-nss_ldap_so_LDFLAGS += $(VERSION_SCRIPT_FLAG)\$(srcdir)/nss_ldap.map
-endif
-
-EXTRA_DIST = nss_ldap.map
+EXTRA_DIST = exports.glibc exports.solaris
install-exec-local: install-nss_ldap_so
uninstall-local: uninstall-nss_ldap_so
@@ -48,5 +43,6 @@ install-nss_ldap_so: nss_ldap.so
-rm -f $(DESTDIR)$(libdir)/$(NSS_LDAP_SONAME)
$(mkinstalldirs) $(DESTDIR)$(libdir)
$(INSTALL_PROGRAM) nss_ldap.so $(DESTDIR)$(libdir)/$(NSS_LDAP_SONAME)
+
uninstall-nss_ldap_so:
-rm -f $(DESTDIR)$(libdir)/$(NSS_LDAP_SONAME)
diff --git a/nss/nss_ldap.map b/nss/exports.glibc
index 0ed5ea2..0ed5ea2 100644
--- a/nss/nss_ldap.map
+++ b/nss/exports.glibc
diff --git a/nss/exports.solaris b/nss/exports.solaris
new file mode 100644
index 0000000..5c191be
--- /dev/null
+++ b/nss/exports.solaris
@@ -0,0 +1,23 @@
+# $Id: exports.solaris,v 1.1 2010-08-07 00:24:21 tedcheng Exp $
+
+nss_ldap.so.1 {
+ # published NSS service functions
+ global:
+ # Published NSS service module interfaces
+ # _nss_ldap_bootparams_constr;
+ _nss_ldap_ethers_constr;
+ _nss_ldap_group_constr;
+ _nss_ldap_hosts_constr;
+ _nss_ldap_networks_constr;
+ _nss_ldap_protocols_constr;
+ _nss_ldap_passwd_constr;
+ _nss_ldap_rpc_constr;
+ _nss_ldap_services_constr;
+ _nss_ldap_shadow_constr;
+ _nss_ldap_netgroup_constr;
+
+ # everything else should not be exported
+ local:
+ *;
+
+};
diff --git a/pam/Makefile.am b/pam/Makefile.am
index b4d02e6..dca583f 100644
--- a/pam/Makefile.am
+++ b/pam/Makefile.am
@@ -28,11 +28,6 @@ pam_ldap_so_SOURCES = ../nslcd.h ../common/nslcd-prot.h \
pam_ldap_so_LDADD = ../common/libtio.a ../common/libprot.a -lpam \
../compat/libcompat.a
-pam_ldap_so_LDFLAGS = -shared
-if HAVE_VERSION_SCRIPT_FLAG
-pam_ldap_so_LDFLAGS += $(VERSION_SCRIPT_FLAG)\$(srcdir)/pam_ldap.map
-endif
-
EXTRA_DIST = pam_ldap.map
install-exec-local: install-pam_ldap_so