pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/databases/nss_ldap -cleanup: honor PKG_SYSCONFDIR, use...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/38ef036c2e10
branches:  trunk
changeset: 498692:38ef036c2e10
user:      drochner <drochner%pkgsrc.org@localhost>
date:      Tue Aug 30 12:47:52 2005 +0000

description:
-cleanup: honor PKG_SYSCONFDIR, use USE_PKGINSTALL
-support the "getgroupmembership" nsswitch invocation
bump PKGREVISION

diffstat:

 databases/nss_ldap/Makefile         |  16 +++++++++++---
 databases/nss_ldap/PLIST            |   6 +++-
 databases/nss_ldap/distinfo         |   5 ++-
 databases/nss_ldap/files/netbsd.c   |  40 ++++++++++++++++++++++++++++++++++++-
 databases/nss_ldap/patches/patch-af |  15 ++++++++++++-
 databases/nss_ldap/patches/patch-ah |  13 ++++++++++++
 6 files changed, 85 insertions(+), 10 deletions(-)

diffs (175 lines):

diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/Makefile
--- a/databases/nss_ldap/Makefile       Tue Aug 30 12:34:07 2005 +0000
+++ b/databases/nss_ldap/Makefile       Tue Aug 30 12:47:52 2005 +0000
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.1.1.1 2005/08/08 09:47:42 drochner Exp $
+# $NetBSD: Makefile,v 1.2 2005/08/30 12:47:52 drochner Exp $
 #
 
 DISTNAME=              nss_ldap-239
+PKGREVISION=           1
 CATEGORIES=            databases
 MASTER_SITES=          http://www.padl.com/download/
 
@@ -12,12 +13,19 @@
 GNU_CONFIGURE=         yes
 USE_TOOLS+=            gmake
 
-CONFIGURE_ARGS+=       --with-ldap-conf-file=/etc/nss_ldap.conf
-CONFIGURE_ARGS+=       --with-ldap-secret-file=/etc/nss_ldap.secret
+CONFIGURE_ARGS+= --with-ldap-conf-file=${PKG_SYSCONFDIR}/nss_ldap.conf
+CONFIGURE_ARGS+= --with-ldap-secret-file=${PKG_SYSCONFDIR}/nss_ldap.secret
+CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
+
+EGDIR=                 ${PREFIX}/share/examples/${PKGBASE}
+INSTALL_MAKE_FLAGS=    ${MAKE_FLAGS} sysconfdir=${EGDIR}
+
+USE_PKGINSTALL=        yes
+CONF_FILES=    ${EGDIR}/nss_ldap.conf ${PKG_SYSCONFDIR}/nss_ldap.conf
 
 pre-build:
        ${CP} ${FILESDIR}/netbsd.c  ${FILESDIR}/netbsd.h ${WRKSRC}
-       ${LN} -s /usr/include/nsswitch.h ${BUILDLINK_DIR}/include/nss.h
+       ${LN} -fs /usr/include/nsswitch.h ${BUILDLINK_DIR}/include/nss.h
 
 .include "../../databases/openldap/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"
diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/PLIST
--- a/databases/nss_ldap/PLIST  Tue Aug 30 12:34:07 2005 +0000
+++ b/databases/nss_ldap/PLIST  Tue Aug 30 12:47:52 2005 +0000
@@ -1,5 +1,7 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2005/08/08 09:47:42 drochner Exp $
-etc/nsswitch.ldap
+@comment $NetBSD: PLIST,v 1.2 2005/08/30 12:47:52 drochner Exp $
 lib/nss_ldap.so
 lib/nss_ldap.so.1
 man/man5/nss_ldap.5
+share/examples/nss_ldap/nss_ldap.conf
+share/examples/nss_ldap/nsswitch.ldap
+@dirrm share/examples/nss_ldap
diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/distinfo
--- a/databases/nss_ldap/distinfo       Tue Aug 30 12:34:07 2005 +0000
+++ b/databases/nss_ldap/distinfo       Tue Aug 30 12:47:52 2005 +0000
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.1.1.1 2005/08/08 09:47:42 drochner Exp $
+$NetBSD: distinfo,v 1.2 2005/08/30 12:47:52 drochner Exp $
 
 SHA1 (nss_ldap-239.tar.gz) = beee30b433a01dccd863e7a0cdb7fe87cefda7fd
 RMD160 (nss_ldap-239.tar.gz) = 525ed402ef5959a2740a7539c309c478a4765381
 Size (nss_ldap-239.tar.gz) = 222276 bytes
 SHA1 (patch-ab) = 01493e92ffff0125dd3267810ee33cdeaab32ab2
-SHA1 (patch-af) = 54251bd1798ce4137760b8a84997cbe23e5f1fa0
+SHA1 (patch-af) = e69bdf7ae84f207e690f664bb5d5f4e5b6894604
 SHA1 (patch-ag) = 95741f39fb03195b3238d4f9c24360049fdd3698
+SHA1 (patch-ah) = 8646360203dc0fbeccc76eda989323eb13605421
diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/files/netbsd.c
--- a/databases/nss_ldap/files/netbsd.c Tue Aug 30 12:34:07 2005 +0000
+++ b/databases/nss_ldap/files/netbsd.c Tue Aug 30 12:47:52 2005 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: netbsd.c,v 1.1.1.1 2005/08/08 09:47:42 drochner Exp $ */
+/* $NetBSD: netbsd.c,v 1.2 2005/08/30 12:47:52 drochner Exp $ */
 
 #include <sys/param.h>
 #include <pwd.h>
@@ -45,6 +45,9 @@
                                       char *, size_t, int *);
 static int netbsd_getgrgid(void *, void *, va_list);
 static int netbsd_getgrgid_r(void *, void *, va_list);
+extern NSS_STATUS _nss_ldap_initgroups(const char *, gid_t, long int *,
+       long int *, gid_t *, long int, int *);
+static int netbsd_getgroupmembership(void *, void *, va_list);
 
 static int nss2netbsderr[] = {
        NS_SUCCESS, NS_NOTFOUND, NS_UNAVAIL, NS_TRYAGAIN, NS_RETURN
@@ -73,6 +76,7 @@
        { NSDB_GROUP, "getgrnam_r", netbsd_getgrnam_r, 0 },
        { NSDB_GROUP, "getgrgid", netbsd_getgrgid, 0 },
        { NSDB_GROUP, "getgrgid_r", netbsd_getgrgid_r, 0 },
+       { NSDB_GROUP, "getgroupmembership", netbsd_getgroupmembership, 0 },
 };
 
 static int
@@ -436,6 +440,40 @@
        return nss2netbsderr[s];
 }
 
+static int
+netbsd_getgroupmembership(void *rv, void *cb_data, va_list ap)
+{
+       int err;
+       NSS_STATUS s;
+       int *retval = va_arg(ap, int *);
+       const char *user = va_arg(ap, const char *);
+       gid_t group = va_arg(ap, gid_t);
+       gid_t *groups = va_arg(ap, gid_t *);
+       int limit = va_arg(ap, int);
+       int *size = va_arg(ap, int*);
+       long int lstart, lsize;
+
+       /* insert primary membership */
+       if (*size < limit) {
+               groups[0] = group;
+               (*size)++;
+       }
+       lstart = *size;
+       lsize = limit;
+       s = _nss_ldap_initgroups(user, group, &lstart, &lsize,
+               groups, limit, &err);
+       *size = lstart;
+       if (s == NSS_STATUS_TRYAGAIN) {
+               /* array too short */
+               *retval = -1;
+       } else {
+               if (s == NSS_STATUS_SUCCESS)
+                       s = NSS_STATUS_NOTFOUND;
+               *retval = 0;
+       }
+
+       return nss2netbsderr[s];
+}
 
 ns_mtab *
 nss_module_register(const char *source, unsigned int *mtabsize,
diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/patches/patch-af
--- a/databases/nss_ldap/patches/patch-af       Tue Aug 30 12:34:07 2005 +0000
+++ b/databases/nss_ldap/patches/patch-af       Tue Aug 30 12:47:52 2005 +0000
@@ -1,4 +1,4 @@
-$NetBSD: patch-af,v 1.1.1.1 2005/08/08 09:47:42 drochner Exp $
+$NetBSD: patch-af,v 1.2 2005/08/30 12:47:52 drochner Exp $
 
 --- Makefile.in.orig   2005-05-24 02:53:19.000000000 +0200
 +++ Makefile.in
@@ -28,3 +28,16 @@
  nss_ldap_so_LDADD = $(LDADD)
  nss_ldap_so_DEPENDENCIES = 
  NSS_LDAP_OBJECTS =  ldap-nss.o ldap-grp.o ldap-pwd.o ldap-netgrp.o \
+@@ -496,10 +496,8 @@ maintainer-clean-generic clean mostlycle
+ 
+ install-data-local:
+       @$(NORMAL_INSTALL)
+-      @if test ! -f $(DESTDIR)$(NSS_LDAP_PATH_CONF); then \
+-              $(mkinstalldirs) $(DESTDIR)$(dir $(NSS_LDAP_PATH_CONF)); \
+-              $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/ldap.conf $(DESTDIR)$(NSS_LDAP_PATH_CONF); \
+-      fi
++      $(mkinstalldirs) $(DESTDIR)$(sysconfdir)
++      $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/ldap.conf $(DESTDIR)$(sysconfdir)/nss_ldap.conf
+       $(INSTALL_DATA) -o $(INST_UID) -g $(INST_GID) $(srcdir)/nsswitch.ldap $(DESTDIR)$(sysconfdir)/nsswitch.ldap; 
+ 
+ uninstall-local:
diff -r db6ffac58201 -r 38ef036c2e10 databases/nss_ldap/patches/patch-ah
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/databases/nss_ldap/patches/patch-ah       Tue Aug 30 12:47:52 2005 +0000
@@ -0,0 +1,13 @@
+$NetBSD: patch-ah,v 1.1 2005/08/30 12:47:52 drochner Exp $
+
+--- ldap-grp.c.orig    2005-08-30 13:51:39.000000000 +0200
++++ ldap-grp.c
+@@ -1115,6 +1115,8 @@ char *_nss_ldap_getgrset (char *user)
+     }
+ #else
+   filter = _nss_ldap_filt_getgroupsbymember;
++  gidnumber_attrs[0] = ATM (group, gidNumber);
++  gidnumber_attrs[1] = NULL;
+ #endif /* RFC2307BIS */
+ 
+   stat = _nss_ldap_getent_ex (&a, &ctx, (void *) &lia, NULL, 0,



Home | Main Index | Thread Index | Old Index