From nobody@FreeBSD.org  Sat May  4 11:25:40 2013
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	by hub.freebsd.org (Postfix) with ESMTP id 64E02381
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 May 2013 11:25:40 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [69.147.83.34])
	by mx1.freebsd.org (Postfix) with ESMTP id 261031188
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 May 2013 11:25:40 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id r448hmFh002602
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 4 May 2013 08:43:48 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id r448hmHT002601;
	Sat, 4 May 2013 08:43:48 GMT
	(envelope-from nobody)
Message-Id: <201305040843.r448hmHT002601@red.freebsd.org>
Date: Sat, 4 May 2013 08:43:48 GMT
From: Berend de Boer <berend@pobox.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: net/libnss-pgsql: allow user accounts to be stored in postgresql
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         178333
>Category:       ports
>Synopsis:       [new port] net/libnss-pgsql: allow user accounts to be stored in postgresql
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    lippe
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sat May 04 11:30:03 UTC 2013
>Closed-Date:    
>Last-Modified:  Thu Dec 19 03:40:01 UTC 2013
>Originator:     Berend de Boer
>Release:        9.1
>Organization:
Xplain Hosting
>Environment:
FreeBSD vfreebsd91 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243825: Tue Dec  4 09:23:10 UTC 2012     root@farrell.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  amd64
>Description:
Allow pgsql in /etc/nssswitch.conf, similar to libnss-mysql.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	libnss-pgsql
#	libnss-pgsql/files
#	libnss-pgsql/files/patch-configure.in
#	libnss-pgsql/files/patch-backend.c
#	libnss-pgsql/files/patch-nss-pgsql.h
#	libnss-pgsql/files/patch-freebsd.sym
#	libnss-pgsql/files/patch-interface.c
#	libnss-pgsql/files/patch-src-Makefile.am
#	libnss-pgsql/Makefile
#	libnss-pgsql/distinfo
#	libnss-pgsql/pkg-descr
#	libnss-pgsql/pkg-plist
#
echo c - libnss-pgsql
mkdir -p libnss-pgsql > /dev/null 2>&1
echo c - libnss-pgsql/files
mkdir -p libnss-pgsql/files > /dev/null 2>&1
echo x - libnss-pgsql/files/patch-configure.in
sed 's/^X//' >libnss-pgsql/files/patch-configure.in << '5b1b9743b35f2ea07dfc43c2d86b1e83'
X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
X@@ -26,7 +26,7 @@
X
X # Checks for header files.
X AC_HEADER_STDC
X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
X
X # Checks for typedefs, structures, and compiler characteristics.
X AC_C_CONST
5b1b9743b35f2ea07dfc43c2d86b1e83
echo x - libnss-pgsql/files/patch-backend.c
sed 's/^X//' >libnss-pgsql/files/patch-backend.c << 'd72dd59247c8f83f38a967e2ce1b4626'
X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
X@@ -11,7 +11,7 @@
X  */
X
X #include "nss-pgsql.h"
X-#include <postgresql/libpq-fe.h>
X+#include <libpq-fe.h>
X #include <stdlib.h>
X #include <string.h>
X #include <stdio.h>
d72dd59247c8f83f38a967e2ce1b4626
echo x - libnss-pgsql/files/patch-nss-pgsql.h
sed 's/^X//' >libnss-pgsql/files/patch-nss-pgsql.h << 'a689ec8ebd67804f9764de8cc5400e02'
X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
X@@ -15,9 +15,30 @@
X
X #  include <pwd.h>
X #  include <grp.h>
X+#ifdef HAVE_SHADOW_H
X #  include <shadow.h>
X+#endif
X #  include <sys/types.h>
X
X+#ifndef HAVE_SHADOW_H
X+/* Structure of the password file.  */
X+struct spwd
X+  {
X+    char *sp_namp;		/* Login name.  */
X+    char *sp_pwdp;		/* Encrypted password.  */
X+    long int sp_lstchg;		/* Date of last change.  */
X+    long int sp_min;		/* Minimum number of days between changes.  */
X+    long int sp_max;		/* Maximum number of days between changes.  */
X+    long int sp_warn;		/* Number of days to warn user to change
X+				   the password.  */
X+    long int sp_inact;		/* Number of days the account may be
X+				   inactive.  */
X+    long int sp_expire;		/* Number of days since 1970-01-01 until
X+				   account expires.  */
X+    unsigned long int sp_flag;	/* Reserved.  */
X+  };
X+#endif
X+
X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
X
a689ec8ebd67804f9764de8cc5400e02
echo x - libnss-pgsql/files/patch-freebsd.sym
sed 's/^X//' >libnss-pgsql/files/patch-freebsd.sym << '64a3be747f3d733b40fee405f82c7371'
X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
X@@ -0,0 +1 @@
X+nss_module_register
64a3be747f3d733b40fee405f82c7371
echo x - libnss-pgsql/files/patch-interface.c
sed 's/^X//' >libnss-pgsql/files/patch-interface.c << 'cb3fcae78a0be37fda871e16db8d1af7'
X--- /usr/ports/net/libnss-pgsql/work/libnss-pgsql-1.5.0-beta/src/interface.c	2008-08-19 21:44:37.000000000 +1200
X+++ src/interface.c	2013-05-04 14:30:42.000000000 +1200
X@@ -285,3 +285,57 @@
X 
X 	return retval;
X }
X+
X+/* Thanks to Clement Laforet for most of this */
X+#if defined(__FreeBSD__)
X+
X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
X+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
X+NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
X+NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
X+
X+enum nss_status _nss_pgsql_getpwnam_r (const char *, struct passwd *, char *,
X+                                  size_t, int *);
X+enum nss_status _nss_pgsql_getpwuid_r (uid_t, struct passwd *, char *,
X+                                  size_t, int *);
X+enum nss_status _nss_pgsql_getpwent_r (struct passwd *, char *, size_t, int *);
X+enum nss_status _nss_pgsql_setpwent (void);
X+enum nss_status _nss_pgsql_endpwent (void);
X+
X+enum nss_status _nss_pgsql_getgrnam_r (const char *, struct group *, char *,
X+                                  size_t, int *);
X+enum nss_status _nss_pgsql_getgrgid_r (gid_t, struct group *, char *,
X+                                  size_t, int *);
X+enum nss_status _nss_pgsql_getgrent_r (struct group *, char *, size_t, int *);
X+enum nss_status _nss_pgsql_setgrent (void);
X+enum nss_status _nss_pgsql_endgrent (void);
X+
X+static ns_mtab methods[] = {
X+    { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_pgsql_getpwnam_r },
X+    { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_pgsql_getpwuid_r },
X+    { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_pgsql_getpwent_r },
X+    { NSDB_PASSWD, "endpwent",   __nss_compat_setpwent,   _nss_pgsql_setpwent },
X+    { NSDB_PASSWD, "setpwent",   __nss_compat_endpwent,   _nss_pgsql_endpwent },
X+    { NSDB_GROUP,  "getgrnam_r", __nss_compat_getgrnam_r, _nss_pgsql_getgrnam_r },
X+    { NSDB_GROUP,  "getgrgid_r", __nss_compat_getgrgid_r, _nss_pgsql_getgrgid_r },
X+    { NSDB_GROUP,  "getgrent_r", __nss_compat_getgrent_r, _nss_pgsql_getgrent_r },
X+    { NSDB_GROUP,  "endgrent",   __nss_compat_setgrent,   _nss_pgsql_setgrent },
X+    { NSDB_GROUP,  "setgrent",   __nss_compat_endgrent,   _nss_pgsql_endgrent },
X+};
X+
X+ns_mtab *
X+nss_module_register (const char *name, unsigned int *size,
X+                     nss_module_unregister_fn *unregister)
X+{
X+    *size = sizeof (methods) / sizeof (methods[0]);
X+    *unregister = NULL;
X+    return (methods);
X+}
X+
X+#endif /* defined(__FreeBSD__) */
cb3fcae78a0be37fda871e16db8d1af7
echo x - libnss-pgsql/files/patch-src-Makefile.am
sed 's/^X//' >libnss-pgsql/files/patch-src-Makefile.am << '2a3adefac0281151caaf5c6797d7bea8'
X--- src/Makefile.am	2006-01-10 13:07:32.000000000 +1300
X+++ src/Makefile.am	2013-05-04 15:02:08.000000000 +1200
X@@ -1,5 +1,4 @@
X lib_LTLIBRARIES = libnss_pgsql.la
X libnss_pgsql_la_SOURCES = interface.c config.c backend.c util.c
X-libnss_pgsql_la_LDFLAGS = -module -version-info 2
X+libnss_pgsql_la_LDFLAGS = -module -version-info 2 -export-symbols $(srcdir)/freebsd.sym
X EXTRA_DIST = nss-pgsql.h
X-
2a3adefac0281151caaf5c6797d7bea8
echo x - libnss-pgsql/Makefile
sed 's/^X//' >libnss-pgsql/Makefile << '11a997cc07f18b86271f02b244bc060d'
X# Created by: Berend de Boer <berend@pobox.com>
X# $FreeBSD$
X#
X
XPORTNAME=	libnss-pgsql
XPORTVERSION=	1.5.0
XPORTREVISION=	1
XCATEGORIES=	security net
XMASTER_SITES=	http://pgfoundry.org/frs/download.php/1878/
XDISTNAME=	${PORTNAME}-${PORTVERSION}-beta
X
XMAINTAINER=	berend@pobox.com
XCOMMENT=	NSS module using a PostgreSQL database for backend
X
XBUILD_DEPENDS=	${LOCALBASE}/bin/xmlto:${PORTSDIR}/textproc/xmlto
X
XUSE_PGSQL=	yes
XUSE_AUTOTOOLS=	libtool autoconf
XCONFIGURE_ARGS=	--sysconfdir=${PREFIX}/etc --includedir=${PREFIX}/include --libdir=${PREFIX}/lib
XUSE_LDCONFIG=	yes
XGNU_CONFIGURE=	yes
XUSE_GMAKE=	yes
XUSE_PGSQL=	yes
X
Xpost-install:
X.if !defined(PORT_OPTIONS:MDOCS)
X	@${MKDIR} ${DOCSDIR}
X	@${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
X	@${INSTALL_DATA} ${WRKSRC}/conf/nss-pgsql-root.conf ${PREFIX}/etc/nss-pgsql-root.conf.dist
X	@${INSTALL_DATA} ${WRKSRC}/conf/nss-pgsql.conf ${PREFIX}/etc/nss-pgsql.conf.dist
X.endif
X
X.include <bsd.port.mk>
11a997cc07f18b86271f02b244bc060d
echo x - libnss-pgsql/distinfo
sed 's/^X//' >libnss-pgsql/distinfo << '394b14bef0d8a841bf6abda7ac83ea56'
XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) = 84808c47fd21a09e2c487a0efc72cc18b352275082335be8c6de39d325e6c000
XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) = 305543
394b14bef0d8a841bf6abda7ac83ea56
echo x - libnss-pgsql/pkg-descr
sed 's/^X//' >libnss-pgsql/pkg-descr << '8abaaed3ac781e358ba0af8fa990d1b6'
XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
Xusing a PostgreSQL database. It uses the NSS API which provides an
Xabstraction layer between the UNIX authentication API and the related
Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
X
XNote that on FreeBSD the order in /etc/nssswitch must be:
X
X  group: pgsql files
X  passwd: pgsql files
X
XSo pgsql must be first, files last.
X
XWWW: http://pgfoundry.org/projects/sysauth/
8abaaed3ac781e358ba0af8fa990d1b6
echo x - libnss-pgsql/pkg-plist
sed 's/^X//' >libnss-pgsql/pkg-plist << '1e51cc1ba5abdaff5929bd79ca921ae7'
Xetc/nss-pgsql.conf.dist
Xetc/nss-pgsql-root.conf.dist
Xlib/libnss_pgsql.a
Xlib/libnss_pgsql.la
Xlib/libnss_pgsql.so
Xlib/libnss_pgsql.so.2
1e51cc1ba5abdaff5929bd79ca921ae7
exit



>Release-Note:
>Audit-Trail:

From: Berend de Boer <berend@pobox.com>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts
 to be stored in postgresql
Date: Wed, 15 May 2013 10:04:03 +1200

 This is a multi-part message in MIME format.
 --------------040902070105040001070805
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 The port didn't install the link /usr/local/lib/nss_pgsql.so.1 which is 
 essential to make this work.
 
 This update fixes that.
 
 
 --------------040902070105040001070805
 Content-Type: application/x-shar;
  name="libnss-pgsql.shar"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: attachment;
  filename="libnss-pgsql.shar"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libnss-pgsql/
 #	libnss-pgsql/files
 #	libnss-pgsql/files/patch-configure.in
 #	libnss-pgsql/files/patch-backend.c
 #	libnss-pgsql/files/patch-nss-pgsql.h
 #	libnss-pgsql/files/patch-freebsd.sym
 #	libnss-pgsql/files/patch-interface.c
 #	libnss-pgsql/files/patch-src-Makefile.am
 #	libnss-pgsql/Makefile
 #	libnss-pgsql/distinfo
 #	libnss-pgsql/pkg-descr
 #	libnss-pgsql/pkg-plist
 #
 echo c - libnss-pgsql/
 mkdir -p libnss-pgsql/ > /dev/null 2>&1
 echo c - libnss-pgsql/files
 mkdir -p libnss-pgsql/files > /dev/null 2>&1
 echo x - libnss-pgsql/files/patch-configure.in
 sed 's/^X//' >libnss-pgsql/files/patch-configure.in << '5b1b9743b35f2ea07dfc43c2d86b1e83'
 X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
 X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
 X@@ -26,7 +26,7 @@
 X
 X # Checks for header files.
 X AC_HEADER_STDC
 X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
 X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
 X
 X # Checks for typedefs, structures, and compiler characteristics.
 X AC_C_CONST
 5b1b9743b35f2ea07dfc43c2d86b1e83
 echo x - libnss-pgsql/files/patch-backend.c
 sed 's/^X//' >libnss-pgsql/files/patch-backend.c << 'd72dd59247c8f83f38a967e2ce1b4626'
 X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
 X@@ -11,7 +11,7 @@
 X  */
 X
 X #include "nss-pgsql.h"
 X-#include <postgresql/libpq-fe.h>
 X+#include <libpq-fe.h>
 X #include <stdlib.h>
 X #include <string.h>
 X #include <stdio.h>
 d72dd59247c8f83f38a967e2ce1b4626
 echo x - libnss-pgsql/files/patch-nss-pgsql.h
 sed 's/^X//' >libnss-pgsql/files/patch-nss-pgsql.h << 'a689ec8ebd67804f9764de8cc5400e02'
 X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
 X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
 X@@ -15,9 +15,30 @@
 X
 X #  include <pwd.h>
 X #  include <grp.h>
 X+#ifdef HAVE_SHADOW_H
 X #  include <shadow.h>
 X+#endif
 X #  include <sys/types.h>
 X
 X+#ifndef HAVE_SHADOW_H
 X+/* Structure of the password file.  */
 X+struct spwd
 X+  {
 X+    char *sp_namp;		/* Login name.  */
 X+    char *sp_pwdp;		/* Encrypted password.  */
 X+    long int sp_lstchg;		/* Date of last change.  */
 X+    long int sp_min;		/* Minimum number of days between changes.  */
 X+    long int sp_max;		/* Maximum number of days between changes.  */
 X+    long int sp_warn;		/* Number of days to warn user to change
 X+				   the password.  */
 X+    long int sp_inact;		/* Number of days the account may be
 X+				   inactive.  */
 X+    long int sp_expire;		/* Number of days since 1970-01-01 until
 X+				   account expires.  */
 X+    unsigned long int sp_flag;	/* Reserved.  */
 X+  };
 X+#endif
 X+
 X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
 X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
 X
 a689ec8ebd67804f9764de8cc5400e02
 echo x - libnss-pgsql/files/patch-freebsd.sym
 sed 's/^X//' >libnss-pgsql/files/patch-freebsd.sym << '64a3be747f3d733b40fee405f82c7371'
 X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
 X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
 X@@ -0,0 +1 @@
 X+nss_module_register
 64a3be747f3d733b40fee405f82c7371
 echo x - libnss-pgsql/files/patch-interface.c
 sed 's/^X//' >libnss-pgsql/files/patch-interface.c << 'cb3fcae78a0be37fda871e16db8d1af7'
 X--- /usr/ports/net/libnss-pgsql/work/libnss-pgsql-1.5.0-beta/src/interface.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/interface.c	2013-05-04 14:30:42.000000000 +1200
 X@@ -285,3 +285,57 @@
 X 
 X 	return retval;
 X }
 X+
 X+/* Thanks to Clement Laforet for most of this */
 X+#if defined(__FreeBSD__)
 X+
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
 X+
 X+enum nss_status _nss_pgsql_getpwnam_r (const char *, struct passwd *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwuid_r (uid_t, struct passwd *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwent_r (struct passwd *, char *, size_t, int *);
 X+enum nss_status _nss_pgsql_setpwent (void);
 X+enum nss_status _nss_pgsql_endpwent (void);
 X+
 X+enum nss_status _nss_pgsql_getgrnam_r (const char *, struct group *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrgid_r (gid_t, struct group *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrent_r (struct group *, char *, size_t, int *);
 X+enum nss_status _nss_pgsql_setgrent (void);
 X+enum nss_status _nss_pgsql_endgrent (void);
 X+
 X+static ns_mtab methods[] = {
 X+    { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_pgsql_getpwnam_r },
 X+    { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_pgsql_getpwuid_r },
 X+    { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_pgsql_getpwent_r },
 X+    { NSDB_PASSWD, "endpwent",   __nss_compat_setpwent,   _nss_pgsql_setpwent },
 X+    { NSDB_PASSWD, "setpwent",   __nss_compat_endpwent,   _nss_pgsql_endpwent },
 X+    { NSDB_GROUP,  "getgrnam_r", __nss_compat_getgrnam_r, _nss_pgsql_getgrnam_r },
 X+    { NSDB_GROUP,  "getgrgid_r", __nss_compat_getgrgid_r, _nss_pgsql_getgrgid_r },
 X+    { NSDB_GROUP,  "getgrent_r", __nss_compat_getgrent_r, _nss_pgsql_getgrent_r },
 X+    { NSDB_GROUP,  "endgrent",   __nss_compat_setgrent,   _nss_pgsql_setgrent },
 X+    { NSDB_GROUP,  "setgrent",   __nss_compat_endgrent,   _nss_pgsql_endgrent },
 X+};
 X+
 X+ns_mtab *
 X+nss_module_register (const char *name, unsigned int *size,
 X+                     nss_module_unregister_fn *unregister)
 X+{
 X+    *size = sizeof (methods) / sizeof (methods[0]);
 X+    *unregister = NULL;
 X+    return (methods);
 X+}
 X+
 X+#endif /* defined(__FreeBSD__) */
 cb3fcae78a0be37fda871e16db8d1af7
 echo x - libnss-pgsql/files/patch-src-Makefile.am
 sed 's/^X//' >libnss-pgsql/files/patch-src-Makefile.am << '2a3adefac0281151caaf5c6797d7bea8'
 X--- src/Makefile.am	2006-01-10 13:07:32.000000000 +1300
 X+++ src/Makefile.am	2013-05-04 15:02:08.000000000 +1200
 X@@ -1,5 +1,4 @@
 X lib_LTLIBRARIES = libnss_pgsql.la
 X libnss_pgsql_la_SOURCES = interface.c config.c backend.c util.c
 X-libnss_pgsql_la_LDFLAGS = -module -version-info 2
 X+libnss_pgsql_la_LDFLAGS = -module -version-info 2 -export-symbols $(srcdir)/freebsd.sym
 X EXTRA_DIST = nss-pgsql.h
 X-
 2a3adefac0281151caaf5c6797d7bea8
 echo x - libnss-pgsql/Makefile
 sed 's/^X//' >libnss-pgsql/Makefile << '11a997cc07f18b86271f02b244bc060d'
 X# Created by: Berend de Boer <berend@pobox.com>
 X# $FreeBSD$
 X#
 X
 XPORTNAME=	libnss-pgsql
 XPORTVERSION=	1.5.0
 XPORTREVISION=	1
 XCATEGORIES=	security net
 XMASTER_SITES=	http://pgfoundry.org/frs/download.php/1878/
 XDISTNAME=	${PORTNAME}-${PORTVERSION}-beta
 X
 XMAINTAINER=	berend@pobox.com
 XCOMMENT=	NSS module using a PostgreSQL database for backend
 X
 XBUILD_DEPENDS=	${LOCALBASE}/bin/xmlto:${PORTSDIR}/textproc/xmlto
 X
 XUSE_PGSQL=	yes
 XUSE_AUTOTOOLS=	libtool autoconf
 XCONFIGURE_ARGS=	--sysconfdir=${PREFIX}/etc --includedir=${PREFIX}/include --libdir=${PREFIX}/lib
 XUSE_LDCONFIG=	yes
 XGNU_CONFIGURE=	yes
 XUSE_GMAKE=	yes
 XUSE_PGSQL=	yes
 X
 Xpost-install:
 X.if !defined(PORT_OPTIONS:MDOCS)
 X	@${MKDIR} ${DOCSDIR}
 X	@${INSTALL_DATA} ${WRKSRC}/README ${DOCSDIR}
 X.endif
 X	@${INSTALL_DATA} ${WRKSRC}/conf/nss-pgsql-root.conf ${PREFIX}/etc/nss-pgsql-root.conf.dist
 X	@${INSTALL_DATA} ${WRKSRC}/conf/nss-pgsql.conf ${PREFIX}/etc/nss-pgsql.conf.dist
 X	@${LN} ${PREFIX}/lib/libnss_pgsql.so.2 ${PREFIX}/lib/nss_pgsql.so.1
 X
 X.include <bsd.port.mk>
 11a997cc07f18b86271f02b244bc060d
 echo x - libnss-pgsql/distinfo
 sed 's/^X//' >libnss-pgsql/distinfo << '394b14bef0d8a841bf6abda7ac83ea56'
 XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) = 84808c47fd21a09e2c487a0efc72cc18b352275082335be8c6de39d325e6c000
 XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) = 305543
 394b14bef0d8a841bf6abda7ac83ea56
 echo x - libnss-pgsql/pkg-descr
 sed 's/^X//' >libnss-pgsql/pkg-descr << '8abaaed3ac781e358ba0af8fa990d1b6'
 XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
 Xusing a PostgreSQL database. It uses the NSS API which provides an
 Xabstraction layer between the UNIX authentication API and the related
 Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
 X
 XNote that on FreeBSD the order in /etc/nssswitch must be:
 X
 X  group: pgsql files
 X  passwd: pgsql files
 X
 XSo pgsql must be first, files last.
 X
 XWWW: http://pgfoundry.org/projects/sysauth/
 8abaaed3ac781e358ba0af8fa990d1b6
 echo x - libnss-pgsql/pkg-plist
 sed 's/^X//' >libnss-pgsql/pkg-plist << '1e51cc1ba5abdaff5929bd79ca921ae7'
 Xetc/nss-pgsql.conf.dist
 Xetc/nss-pgsql-root.conf.dist
 Xlib/libnss_pgsql.a
 Xlib/libnss_pgsql.la
 Xlib/libnss_pgsql.so
 Xlib/libnss_pgsql.so.2
 Xlib/nss_pgsql.so.1
 1e51cc1ba5abdaff5929bd79ca921ae7
 exit
 
 
 --------------040902070105040001070805--

From: Felippe de Meirelles Motta <lippe@FreeBSD.org>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts to
 be stored in postgresql
Date: Fri, 28 Jun 2013 18:52:37 -0300

 --e89a8f5030aca32e6c04e03de564
 Content-Type: text/plain; charset=ISO-8859-1
 
 Hi,
 
 Could you check the list of extra files and directories installed by this
 port and was not deinstalled by 'make deinstall' ?
 
 Check this log:
 https://redports.org/~lippe/20130628211701-6401-129836/libnss-pgsql-1.5.0.log
 
 Tks
 lippe@
 
 --e89a8f5030aca32e6c04e03de564
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi,<br><br>Could you check the list of extra files and directories installe=
 d by this port and was not deinstalled by &#39;make deinstall&#39; ?<br><br=
 >Check this log: <a href=3D"https://redports.org/~lippe/20130628211701-6401=
 -129836/libnss-pgsql-1.5.0.log">https://redports.org/~lippe/20130628211701-=
 6401-129836/libnss-pgsql-1.5.0.log</a><br>
 <br>Tks<br>lippe@<br>
 
 --e89a8f5030aca32e6c04e03de564--
Responsible-Changed-From-To: freebsd-ports-bugs->lippe 
Responsible-Changed-By: lippe 
Responsible-Changed-When: Fri Jun 28 22:02:12 UTC 2013 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=178333 

From: Berend de Boer <berend@pobox.com>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts
 to be stored in postgresql
Date: Fri, 12 Jul 2013 19:30:25 +1200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 ------enig2VGADMAPHWFLSVGGQDTHX
 Content-Type: multipart/mixed;
  boundary="------------040201020903070503010906"
 
 This is a multi-part message in MIME format.
 --------------040201020903070503010906
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi Felippe,
 
 This update should properly deinstall. Apologies.
 
 Berend.
 
 --------------040201020903070503010906
 Content-Type: application/x-shar;
  name="libnss-pgsql.shar"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment;
  filename="libnss-pgsql.shar"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libnss-pgsql
 #	libnss-pgsql/files
 #	libnss-pgsql/files/patch-backend.c
 #	libnss-pgsql/files/patch-nss-pgsql.h
 #	libnss-pgsql/files/patch-configure.in
 #	libnss-pgsql/files/patch-freebsd.sym
 #	libnss-pgsql/distinfo
 #	libnss-pgsql/pkg-descr
 #	libnss-pgsql/pkg-plist
 #	libnss-pgsql/Makefile
 #
 echo c - libnss-pgsql
 mkdir -p libnss-pgsql > /dev/null 2>&1
 echo c - libnss-pgsql/files
 mkdir -p libnss-pgsql/files > /dev/null 2>&1
 echo x - libnss-pgsql/files/patch-backend.c
 sed 's/^X//' >libnss-pgsql/files/patch-backend.c << 'd72dd59247c8f83f38a9=
 67e2ce1b4626'
 X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
 X@@ -11,7 +11,7 @@
 X  */
 X
 X #include "nss-pgsql.h"
 X-#include <postgresql/libpq-fe.h>
 X+#include <libpq-fe.h>
 X #include <stdlib.h>
 X #include <string.h>
 X #include <stdio.h>
 d72dd59247c8f83f38a967e2ce1b4626
 echo x - libnss-pgsql/files/patch-nss-pgsql.h
 sed 's/^X//' >libnss-pgsql/files/patch-nss-pgsql.h << 'a689ec8ebd67804f97=
 64de8cc5400e02'
 X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
 X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
 X@@ -15,9 +15,30 @@
 X
 X #  include <pwd.h>
 X #  include <grp.h>
 X+#ifdef HAVE_SHADOW_H
 X #  include <shadow.h>
 X+#endif
 X #  include <sys/types.h>
 X
 X+#ifndef HAVE_SHADOW_H
 X+/* Structure of the password file.  */
 X+struct spwd
 X+  {
 X+    char *sp_namp;		/* Login name.  */
 X+    char *sp_pwdp;		/* Encrypted password.  */
 X+    long int sp_lstchg;		/* Date of last change.  */
 X+    long int sp_min;		/* Minimum number of days between changes.  */
 X+    long int sp_max;		/* Maximum number of days between changes.  */
 X+    long int sp_warn;		/* Number of days to warn user to change
 X+				   the password.  */
 X+    long int sp_inact;		/* Number of days the account may be
 X+				   inactive.  */
 X+    long int sp_expire;		/* Number of days since 1970-01-01 until
 X+				   account expires.  */
 X+    unsigned long int sp_flag;	/* Reserved.  */
 X+  };
 X+#endif
 X+
 X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
 X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
 X
 a689ec8ebd67804f9764de8cc5400e02
 echo x - libnss-pgsql/files/patch-configure.in
 sed 's/^X//' >libnss-pgsql/files/patch-configure.in << '5b1b9743b35f2ea07=
 dfc43c2d86b1e83'
 X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
 X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
 X@@ -26,7 +26,7 @@
 X
 X # Checks for header files.
 X AC_HEADER_STDC
 X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
 X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
 X
 X # Checks for typedefs, structures, and compiler characteristics.
 X AC_C_CONST
 5b1b9743b35f2ea07dfc43c2d86b1e83
 echo x - libnss-pgsql/files/patch-freebsd.sym
 sed 's/^X//' >libnss-pgsql/files/patch-freebsd.sym << '64a3be747f3d733b40=
 fee405f82c7371'
 X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
 X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
 X@@ -0,0 +1 @@
 X+nss_module_register
 64a3be747f3d733b40fee405f82c7371
 echo x - libnss-pgsql/distinfo
 sed 's/^X//' >libnss-pgsql/distinfo << '394b14bef0d8a841bf6abda7ac83ea56'=
 
 XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) =3D 84808c47fd21a09e2c487a0efc72=
 cc18b352275082335be8c6de39d325e6c000
 XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) =3D 305543
 394b14bef0d8a841bf6abda7ac83ea56
 echo x - libnss-pgsql/pkg-descr
 sed 's/^X//' >libnss-pgsql/pkg-descr << '8abaaed3ac781e358ba0af8fa990d1b6=
 '
 XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
 Xusing a PostgreSQL database. It uses the NSS API which provides an
 Xabstraction layer between the UNIX authentication API and the related
 Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
 X
 XWWW: http://pgfoundry.org/projects/sysauth/
 8abaaed3ac781e358ba0af8fa990d1b6
 echo x - libnss-pgsql/pkg-plist
 sed 's/^X//' >libnss-pgsql/pkg-plist << '1e51cc1ba5abdaff5929bd79ca921ae7=
 '
 Xlib/libnss_pgsql.a
 Xlib/libnss_pgsql.la
 Xlib/libnss_pgsql.so
 Xlib/libnss_pgsql.so.2
 Xshare/doc/libnss-pgsql/README
 Xshare/doc/libnss-pgsql/nss-pgsql.html
 Xshare/doc/libnss-pgsql/caution.png
 Xshare/doc/libnss-pgsql/dbschema.sql
 Xshare/doc/libnss-pgsql/nss-pgsql-root.conf
 Xshare/doc/libnss-pgsql/nss-pgsql.conf
 Xshare/doc/libnss-pgsql/nsswitch.conf
 X@dirrm share/doc/libnss-pgsql
 1e51cc1ba5abdaff5929bd79ca921ae7
 echo x - libnss-pgsql/Makefile
 sed 's/^X//' >libnss-pgsql/Makefile << '11a997cc07f18b86271f02b244bc060d'=
 
 X# Ports collection Makefile for:	libnss_pgsql
 X# Date created:				2013/05/04
 X# Whom:					Berend de Boer <berend@pobox.com>
 X#
 X# $FreeBSD$
 X#
 X
 XPORTNAME=3D	libnss-pgsql
 XPORTVERSION=3D	1.5.0
 XPORTREVISION=3D	1
 XCATEGORIES=3D	net
 XDISTNAME=3D	${PORTNAME}-${PORTVERSION}-beta
 XMASTER_SITES=3D	http://pgfoundry.org/frs/download.php/1878/
 X
 XMAINTAINER=3D	berend@pobox.com
 XCOMMENT=3D	NSS module using a PostgreSQL database for backend
 X
 XUSE_AUTOTOOLS=3D	libtool autoconf
 XCONFIGURE_ARGS=3D	--sysconfdir=3D/usr/local --includedir=3D/usr/local/in=
 clude --libdir=3D/usr/local/lib --with-docdir=3D${DOCSDIR}
 XUSE_LDCONFIG=3D	yes
 XGNU_CONFIGURE=3D	yes
 XUSE_GMAKE=3D	yes
 XUSE_PGSQL=3D	yes
 X
 Xpost-install:
 X.if !defined(NOPORTDOCS)
 X	@${MKDIR} ${DOCSDIR}
 X	@${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/conf/* ${DOCSDIR}
 X.endif
 X
 X.include <bsd.port.mk>
 11a997cc07f18b86271f02b244bc060d
 exit
 
 
 --------------040201020903070503010906--
 
 ------enig2VGADMAPHWFLSVGGQDTHX
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
 
 iQIcBAEBCAAGBQJR37CcAAoJEKOfeD48G3g5RDsP/A86P+xtqj0GjB6bxcjAJiuO
 dENa5FAj411r7/S6k7GTzYlWXrcY0jEMseLVLFghGAfds8M/c5gR8sk1bAAtomvj
 /3bbjd5qTipBXEGl+i5nQ64xpuCnYof7WxgEO0pSMaaP58rEPxJPK7qnIBBl6PRA
 oVi14C7eRiRUhI87Z6ShYtGnxv9U0dUclDRLi7T4sVKg0EQbD42d4xq9o5rJEUjU
 Vj3Du3khdnA459gI2EKDfR5OymjKlmMJGgauJ3jt9rKx97rwGcJg7jlzeqVypBAB
 vkVusCSvz7LYpiMsD/mJhgf/RnYpnKcwdhBZo/KBb6m/JMhjuDb1RNQViRZHRchx
 gVtrGdGP24GPwciqQcoERxtYEWV8tugC9fvLACq0ARtvX2jS6bV99w2ynPhJb8xP
 gzyy/X4CUZiNj20DirvlgLIZxlDPJSzfYYiuqUL84IngVCLKY2mQsw3L+GOiJq1P
 JYFUtx9G/27H5cLrtDuoe+wtkCuU/cElu/FtWpwpsyVGeJ/ndZnaKa5Dmu5Q8Uic
 1j4coweSEzjre+6ALzctRYpCYhw6WtZiqCg1bpj5FoEqu5zUv53iAmzwZn7VoRtE
 UnsPlfLQhYIsdY7mno3//8I3DNUc6m6EuwoUK710EMQor8nD9kIcM18w4Cdb/TKG
 IZ4OxgGVrk0QlKzjnMF0
 =E/82
 -----END PGP SIGNATURE-----
 
 ------enig2VGADMAPHWFLSVGGQDTHX--

From: Berend de Boer <berend@pobox.com>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts
 to be stored in postgresql
Date: Fri, 12 Jul 2013 20:29:27 +1200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 ------enig2MOGJCPKSOAAGBFHQGTSF
 Content-Type: multipart/mixed;
  boundary="------------050309090301090404050208"
 
 This is a multi-part message in MIME format.
 --------------050309090301090404050208
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Oops, previous submit was totally the wrong .shar. Corrected.
 
 --------------050309090301090404050208
 Content-Type: application/x-shar;
  name="libnss-pgsql.shar"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment;
  filename="libnss-pgsql.shar"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libnss-pgsql
 #	libnss-pgsql/files
 #	libnss-pgsql/files/patch-configure.in
 #	libnss-pgsql/files/patch-backend.c
 #	libnss-pgsql/files/patch-nss-pgsql.h
 #	libnss-pgsql/files/patch-freebsd.sym
 #	libnss-pgsql/files/patch-interface.c
 #	libnss-pgsql/files/patch-src-Makefile.am
 #	libnss-pgsql/Makefile
 #	libnss-pgsql/distinfo
 #	libnss-pgsql/pkg-descr
 #	libnss-pgsql/pkg-plist
 #
 echo c - libnss-pgsql
 mkdir -p libnss-pgsql > /dev/null 2>&1
 echo c - libnss-pgsql/files
 mkdir -p libnss-pgsql/files > /dev/null 2>&1
 echo x - libnss-pgsql/files/patch-configure.in
 sed 's/^X//' >libnss-pgsql/files/patch-configure.in << '5b1b9743b35f2ea07=
 dfc43c2d86b1e83'
 X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
 X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
 X@@ -26,7 +26,7 @@
 X
 X # Checks for header files.
 X AC_HEADER_STDC
 X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
 X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
 X
 X # Checks for typedefs, structures, and compiler characteristics.
 X AC_C_CONST
 5b1b9743b35f2ea07dfc43c2d86b1e83
 echo x - libnss-pgsql/files/patch-backend.c
 sed 's/^X//' >libnss-pgsql/files/patch-backend.c << 'd72dd59247c8f83f38a9=
 67e2ce1b4626'
 X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
 X@@ -11,7 +11,7 @@
 X  */
 X
 X #include "nss-pgsql.h"
 X-#include <postgresql/libpq-fe.h>
 X+#include <libpq-fe.h>
 X #include <stdlib.h>
 X #include <string.h>
 X #include <stdio.h>
 d72dd59247c8f83f38a967e2ce1b4626
 echo x - libnss-pgsql/files/patch-nss-pgsql.h
 sed 's/^X//' >libnss-pgsql/files/patch-nss-pgsql.h << 'a689ec8ebd67804f97=
 64de8cc5400e02'
 X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
 X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
 X@@ -15,9 +15,30 @@
 X
 X #  include <pwd.h>
 X #  include <grp.h>
 X+#ifdef HAVE_SHADOW_H
 X #  include <shadow.h>
 X+#endif
 X #  include <sys/types.h>
 X
 X+#ifndef HAVE_SHADOW_H
 X+/* Structure of the password file.  */
 X+struct spwd
 X+  {
 X+    char *sp_namp;		/* Login name.  */
 X+    char *sp_pwdp;		/* Encrypted password.  */
 X+    long int sp_lstchg;		/* Date of last change.  */
 X+    long int sp_min;		/* Minimum number of days between changes.  */
 X+    long int sp_max;		/* Maximum number of days between changes.  */
 X+    long int sp_warn;		/* Number of days to warn user to change
 X+				   the password.  */
 X+    long int sp_inact;		/* Number of days the account may be
 X+				   inactive.  */
 X+    long int sp_expire;		/* Number of days since 1970-01-01 until
 X+				   account expires.  */
 X+    unsigned long int sp_flag;	/* Reserved.  */
 X+  };
 X+#endif
 X+
 X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
 X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
 X
 a689ec8ebd67804f9764de8cc5400e02
 echo x - libnss-pgsql/files/patch-freebsd.sym
 sed 's/^X//' >libnss-pgsql/files/patch-freebsd.sym << '64a3be747f3d733b40=
 fee405f82c7371'
 X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
 X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
 X@@ -0,0 +1 @@
 X+nss_module_register
 64a3be747f3d733b40fee405f82c7371
 echo x - libnss-pgsql/files/patch-interface.c
 sed 's/^X//' >libnss-pgsql/files/patch-interface.c << 'cb3fcae78a0be37fda=
 871e16db8d1af7'
 X--- /usr/ports/net/libnss-pgsql/work/libnss-pgsql-1.5.0-beta/src/interfa=
 ce.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/interface.c	2013-05-04 14:30:42.000000000 +1200
 X@@ -285,3 +285,57 @@
 X=20
 X 	return retval;
 X }
 X+
 X+/* Thanks to Clement Laforet for most of this */
 X+#if defined(__FreeBSD__)
 X+
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
 X+
 X+enum nss_status _nss_pgsql_getpwnam_r (const char *, struct passwd *, c=
 har *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwuid_r (uid_t, struct passwd *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwent_r (struct passwd *, char *, size_t,=
  int *);
 X+enum nss_status _nss_pgsql_setpwent (void);
 X+enum nss_status _nss_pgsql_endpwent (void);
 X+
 X+enum nss_status _nss_pgsql_getgrnam_r (const char *, struct group *, ch=
 ar *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrgid_r (gid_t, struct group *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrent_r (struct group *, char *, size_t, =
 int *);
 X+enum nss_status _nss_pgsql_setgrent (void);
 X+enum nss_status _nss_pgsql_endgrent (void);
 X+
 X+static ns_mtab methods[] =3D {
 X+    { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_pgsql_ge=
 tpwnam_r },
 X+    { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_pgsql_ge=
 tpwuid_r },
 X+    { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_pgsql_ge=
 tpwent_r },
 X+    { NSDB_PASSWD, "endpwent",   __nss_compat_setpwent,   _nss_pgsql_se=
 tpwent },
 X+    { NSDB_PASSWD, "setpwent",   __nss_compat_endpwent,   _nss_pgsql_en=
 dpwent },
 X+    { NSDB_GROUP,  "getgrnam_r", __nss_compat_getgrnam_r, _nss_pgsql_ge=
 tgrnam_r },
 X+    { NSDB_GROUP,  "getgrgid_r", __nss_compat_getgrgid_r, _nss_pgsql_ge=
 tgrgid_r },
 X+    { NSDB_GROUP,  "getgrent_r", __nss_compat_getgrent_r, _nss_pgsql_ge=
 tgrent_r },
 X+    { NSDB_GROUP,  "endgrent",   __nss_compat_setgrent,   _nss_pgsql_se=
 tgrent },
 X+    { NSDB_GROUP,  "setgrent",   __nss_compat_endgrent,   _nss_pgsql_en=
 dgrent },
 X+};
 X+
 X+ns_mtab *
 X+nss_module_register (const char *name, unsigned int *size,
 X+                     nss_module_unregister_fn *unregister)
 X+{
 X+    *size =3D sizeof (methods) / sizeof (methods[0]);
 X+    *unregister =3D NULL;
 X+    return (methods);
 X+}
 X+
 X+#endif /* defined(__FreeBSD__) */
 cb3fcae78a0be37fda871e16db8d1af7
 echo x - libnss-pgsql/files/patch-src-Makefile.am
 sed 's/^X//' >libnss-pgsql/files/patch-src-Makefile.am << '2a3adefac02811=
 51caaf5c6797d7bea8'
 X--- src/Makefile.am	2006-01-10 13:07:32.000000000 +1300
 X+++ src/Makefile.am	2013-05-04 15:02:08.000000000 +1200
 X@@ -1,5 +1,4 @@
 X lib_LTLIBRARIES =3D libnss_pgsql.la
 X libnss_pgsql_la_SOURCES =3D interface.c config.c backend.c util.c
 X-libnss_pgsql_la_LDFLAGS =3D -module -version-info 2
 X+libnss_pgsql_la_LDFLAGS =3D -module -version-info 2 -export-symbols $(s=
 rcdir)/freebsd.sym
 X EXTRA_DIST =3D nss-pgsql.h
 X-
 2a3adefac0281151caaf5c6797d7bea8
 echo x - libnss-pgsql/Makefile
 sed 's/^X//' >libnss-pgsql/Makefile << '11a997cc07f18b86271f02b244bc060d'=
 
 X# Created by: Berend de Boer <berend@pobox.com>
 X# $FreeBSD$
 X#
 X
 XPORTNAME=3D	libnss-pgsql
 XPORTVERSION=3D	1.5.0
 XPORTREVISION=3D	1
 XCATEGORIES=3D	security net
 XMASTER_SITES=3D	http://pgfoundry.org/frs/download.php/1878/
 XDISTNAME=3D	${PORTNAME}-${PORTVERSION}-beta
 X
 XMAINTAINER=3D	berend@pobox.com
 XCOMMENT=3D	NSS module using a PostgreSQL database for backend
 X
 XBUILD_DEPENDS=3D	${LOCALBASE}/bin/xmlto:${PORTSDIR}/textproc/xmlto
 X
 XUSE_PGSQL=3D	yes
 XUSE_AUTOTOOLS=3D	libtool autoconf
 XCONFIGURE_ARGS=3D	--sysconfdir=3D${PREFIX}/etc --includedir=3D${PREFIX}/=
 include --libdir=3D${PREFIX}/lib --with-docdir=3D${DOCSDIR}
 XUSE_LDCONFIG=3D	yes
 XGNU_CONFIGURE=3D	yes
 XUSE_GMAKE=3D	yes
 XUSE_PGSQL=3D	yes
 X
 Xpost-install:
 X.if !defined(PORT_OPTIONS:MDOCS)
 X	@${MKDIR} ${DOCSDIR}
 X	@${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/conf/* ${DOCSDIR}
 X.endif
 X	@${LN} ${PREFIX}/lib/libnss_pgsql.so.2 ${PREFIX}/nss_pgsql.so.1
 X
 X.include <bsd.port.mk>
 11a997cc07f18b86271f02b244bc060d
 echo x - libnss-pgsql/distinfo
 sed 's/^X//' >libnss-pgsql/distinfo << '394b14bef0d8a841bf6abda7ac83ea56'=
 
 XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) =3D 84808c47fd21a09e2c487a0efc72=
 cc18b352275082335be8c6de39d325e6c000
 XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) =3D 305543
 394b14bef0d8a841bf6abda7ac83ea56
 echo x - libnss-pgsql/pkg-descr
 sed 's/^X//' >libnss-pgsql/pkg-descr << '8abaaed3ac781e358ba0af8fa990d1b6=
 '
 XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
 Xusing a PostgreSQL database. It uses the NSS API which provides an
 Xabstraction layer between the UNIX authentication API and the related
 Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
 X
 XNote that on FreeBSD the order in /etc/nssswitch must be:
 X
 X  group: pgsql files
 X  passwd: pgsql files
 X
 XSo pgsql must be first, files last.
 X
 XWWW: http://pgfoundry.org/projects/sysauth/
 8abaaed3ac781e358ba0af8fa990d1b6
 echo x - libnss-pgsql/pkg-plist
 sed 's/^X//' >libnss-pgsql/pkg-plist << '1e51cc1ba5abdaff5929bd79ca921ae7=
 '
 Xlib/libnss_pgsql.a
 Xlib/libnss_pgsql.la
 Xlib/libnss_pgsql.so
 Xlib/libnss_pgsql.so.2
 Xlib/nss_pgsql.so.1
 Xshare/doc/libnss-pgsql/README
 Xshare/doc/libnss-pgsql/nss-pgsql.html
 Xshare/doc/libnss-pgsql/caution.png
 Xshare/doc/libnss-pgsql/dbschema.sql
 Xshare/doc/libnss-pgsql/nss-pgsql-root.conf
 Xshare/doc/libnss-pgsql/nss-pgsql.conf
 Xshare/doc/libnss-pgsql/nsswitch.conf
 X@dirrm share/doc/libnss-pgsql
 1e51cc1ba5abdaff5929bd79ca921ae7
 exit
 
 
 --------------050309090301090404050208--
 
 ------enig2MOGJCPKSOAAGBFHQGTSF
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
 
 iQIcBAEBCAAGBQJR375nAAoJEKOfeD48G3g5mAQQAKlWBCx9nxbGBF/dPDVxiJLI
 1T+vt5A3szy+vm+1gkaisMZ301guPl6RngdDiiXzXoC4Kbjy224n3DGbkmmL1uzh
 ohT3gJMt33MnNsuPFqZ+50mQW6bB6r0c10BxxECHDktOnDOZYKiyleuAGnF2Fc25
 OgEfUk+q2S2BlwpW7uBgulDElHwuu682EXOi6fYfpwkH7pST8tzy8ef+SfXZZo8K
 iCxtDW7sQz6TVfamqDCdu06pAQlJwQwTofu2VzddOaDR8/PhwOPzoybDckrl2sHE
 Rb/07x4kAjkyjiZ5ovHB8UZZnjH8LXZ7mxjRLzSKLCm7wGlJqipxrJIoLA6IBXmC
 ZDoDH7AcsnCxhjOt3kRG9SFjwCcRqJp80ZE7hfEWSyytqILKY6VeoT5+ktHSvIZF
 6LZU3dKH9UO09t3nFIRVYANMub1UYnk1EPPVxBV+W/plXHo0cNiKo/kd1n5J74Ms
 BeDfLin1eT4fEh8yrwYmZ14/O/Rs7vR4R+BadvxqR+HWCa4/xYdNavwCrNAed8rx
 ljPOiWAjnB301RC+OTxoGXUIC6kpQW1+QDdISUiiU52dxAY+l0IFQnhQZ6rYniOD
 +pMn7PhHbgnBmFzj5Q5qYqXfbGwHhNymDY4vuAT6MfrKkgwKv/d1AytaS1m92tgu
 UvJFw6chDcbNV9zfLh6t
 =cnPF
 -----END PGP SIGNATURE-----
 
 ------enig2MOGJCPKSOAAGBFHQGTSF--

From: Berend de Boer <berend@pobox.com>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts
 to be stored in postgresql
Date: Fri, 12 Jul 2013 20:33:33 +1200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 ------enig2MITEGCNFSSARNVIFNTGP
 Content-Type: multipart/mixed;
  boundary="------------090205030506010102050706"
 
 This is a multi-part message in MIME format.
 --------------090205030506010102050706
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Bad day. New link wasn't deinstalled.
 
 --------------090205030506010102050706
 Content-Type: application/x-shar;
  name="libnss-pgsql.shar"
 Content-Transfer-Encoding: quoted-printable
 Content-Disposition: attachment;
  filename="libnss-pgsql.shar"
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libnss-pgsql
 #	libnss-pgsql/files
 #	libnss-pgsql/files/patch-configure.in
 #	libnss-pgsql/files/patch-backend.c
 #	libnss-pgsql/files/patch-nss-pgsql.h
 #	libnss-pgsql/files/patch-freebsd.sym
 #	libnss-pgsql/files/patch-interface.c
 #	libnss-pgsql/files/patch-src-Makefile.am
 #	libnss-pgsql/Makefile
 #	libnss-pgsql/distinfo
 #	libnss-pgsql/pkg-descr
 #	libnss-pgsql/pkg-plist
 #
 echo c - libnss-pgsql
 mkdir -p libnss-pgsql > /dev/null 2>&1
 echo c - libnss-pgsql/files
 mkdir -p libnss-pgsql/files > /dev/null 2>&1
 echo x - libnss-pgsql/files/patch-configure.in
 sed 's/^X//' >libnss-pgsql/files/patch-configure.in << '5b1b9743b35f2ea07=
 dfc43c2d86b1e83'
 X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
 X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
 X@@ -26,7 +26,7 @@
 X
 X # Checks for header files.
 X AC_HEADER_STDC
 X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
 X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
 X
 X # Checks for typedefs, structures, and compiler characteristics.
 X AC_C_CONST
 5b1b9743b35f2ea07dfc43c2d86b1e83
 echo x - libnss-pgsql/files/patch-backend.c
 sed 's/^X//' >libnss-pgsql/files/patch-backend.c << 'd72dd59247c8f83f38a9=
 67e2ce1b4626'
 X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
 X@@ -11,7 +11,7 @@
 X  */
 X
 X #include "nss-pgsql.h"
 X-#include <postgresql/libpq-fe.h>
 X+#include <libpq-fe.h>
 X #include <stdlib.h>
 X #include <string.h>
 X #include <stdio.h>
 d72dd59247c8f83f38a967e2ce1b4626
 echo x - libnss-pgsql/files/patch-nss-pgsql.h
 sed 's/^X//' >libnss-pgsql/files/patch-nss-pgsql.h << 'a689ec8ebd67804f97=
 64de8cc5400e02'
 X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
 X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
 X@@ -15,9 +15,30 @@
 X
 X #  include <pwd.h>
 X #  include <grp.h>
 X+#ifdef HAVE_SHADOW_H
 X #  include <shadow.h>
 X+#endif
 X #  include <sys/types.h>
 X
 X+#ifndef HAVE_SHADOW_H
 X+/* Structure of the password file.  */
 X+struct spwd
 X+  {
 X+    char *sp_namp;		/* Login name.  */
 X+    char *sp_pwdp;		/* Encrypted password.  */
 X+    long int sp_lstchg;		/* Date of last change.  */
 X+    long int sp_min;		/* Minimum number of days between changes.  */
 X+    long int sp_max;		/* Maximum number of days between changes.  */
 X+    long int sp_warn;		/* Number of days to warn user to change
 X+				   the password.  */
 X+    long int sp_inact;		/* Number of days the account may be
 X+				   inactive.  */
 X+    long int sp_expire;		/* Number of days since 1970-01-01 until
 X+				   account expires.  */
 X+    unsigned long int sp_flag;	/* Reserved.  */
 X+  };
 X+#endif
 X+
 X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
 X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
 X
 a689ec8ebd67804f9764de8cc5400e02
 echo x - libnss-pgsql/files/patch-freebsd.sym
 sed 's/^X//' >libnss-pgsql/files/patch-freebsd.sym << '64a3be747f3d733b40=
 fee405f82c7371'
 X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
 X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
 X@@ -0,0 +1 @@
 X+nss_module_register
 64a3be747f3d733b40fee405f82c7371
 echo x - libnss-pgsql/files/patch-interface.c
 sed 's/^X//' >libnss-pgsql/files/patch-interface.c << 'cb3fcae78a0be37fda=
 871e16db8d1af7'
 X--- /usr/ports/net/libnss-pgsql/work/libnss-pgsql-1.5.0-beta/src/interfa=
 ce.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/interface.c	2013-05-04 14:30:42.000000000 +1200
 X@@ -285,3 +285,57 @@
 X=20
 X 	return retval;
 X }
 X+
 X+/* Thanks to Clement Laforet for most of this */
 X+#if defined(__FreeBSD__)
 X+
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
 X+
 X+enum nss_status _nss_pgsql_getpwnam_r (const char *, struct passwd *, c=
 har *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwuid_r (uid_t, struct passwd *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwent_r (struct passwd *, char *, size_t,=
  int *);
 X+enum nss_status _nss_pgsql_setpwent (void);
 X+enum nss_status _nss_pgsql_endpwent (void);
 X+
 X+enum nss_status _nss_pgsql_getgrnam_r (const char *, struct group *, ch=
 ar *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrgid_r (gid_t, struct group *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrent_r (struct group *, char *, size_t, =
 int *);
 X+enum nss_status _nss_pgsql_setgrent (void);
 X+enum nss_status _nss_pgsql_endgrent (void);
 X+
 X+static ns_mtab methods[] =3D {
 X+    { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_pgsql_ge=
 tpwnam_r },
 X+    { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_pgsql_ge=
 tpwuid_r },
 X+    { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_pgsql_ge=
 tpwent_r },
 X+    { NSDB_PASSWD, "endpwent",   __nss_compat_setpwent,   _nss_pgsql_se=
 tpwent },
 X+    { NSDB_PASSWD, "setpwent",   __nss_compat_endpwent,   _nss_pgsql_en=
 dpwent },
 X+    { NSDB_GROUP,  "getgrnam_r", __nss_compat_getgrnam_r, _nss_pgsql_ge=
 tgrnam_r },
 X+    { NSDB_GROUP,  "getgrgid_r", __nss_compat_getgrgid_r, _nss_pgsql_ge=
 tgrgid_r },
 X+    { NSDB_GROUP,  "getgrent_r", __nss_compat_getgrent_r, _nss_pgsql_ge=
 tgrent_r },
 X+    { NSDB_GROUP,  "endgrent",   __nss_compat_setgrent,   _nss_pgsql_se=
 tgrent },
 X+    { NSDB_GROUP,  "setgrent",   __nss_compat_endgrent,   _nss_pgsql_en=
 dgrent },
 X+};
 X+
 X+ns_mtab *
 X+nss_module_register (const char *name, unsigned int *size,
 X+                     nss_module_unregister_fn *unregister)
 X+{
 X+    *size =3D sizeof (methods) / sizeof (methods[0]);
 X+    *unregister =3D NULL;
 X+    return (methods);
 X+}
 X+
 X+#endif /* defined(__FreeBSD__) */
 cb3fcae78a0be37fda871e16db8d1af7
 echo x - libnss-pgsql/files/patch-src-Makefile.am
 sed 's/^X//' >libnss-pgsql/files/patch-src-Makefile.am << '2a3adefac02811=
 51caaf5c6797d7bea8'
 X--- src/Makefile.am	2006-01-10 13:07:32.000000000 +1300
 X+++ src/Makefile.am	2013-05-04 15:02:08.000000000 +1200
 X@@ -1,5 +1,4 @@
 X lib_LTLIBRARIES =3D libnss_pgsql.la
 X libnss_pgsql_la_SOURCES =3D interface.c config.c backend.c util.c
 X-libnss_pgsql_la_LDFLAGS =3D -module -version-info 2
 X+libnss_pgsql_la_LDFLAGS =3D -module -version-info 2 -export-symbols $(s=
 rcdir)/freebsd.sym
 X EXTRA_DIST =3D nss-pgsql.h
 X-
 2a3adefac0281151caaf5c6797d7bea8
 echo x - libnss-pgsql/Makefile
 sed 's/^X//' >libnss-pgsql/Makefile << '11a997cc07f18b86271f02b244bc060d'=
 
 X# Created by: Berend de Boer <berend@pobox.com>
 X# $FreeBSD$
 X#
 X
 XPORTNAME=3D	libnss-pgsql
 XPORTVERSION=3D	1.5.0
 XPORTREVISION=3D	1
 XCATEGORIES=3D	security net
 XMASTER_SITES=3D	http://pgfoundry.org/frs/download.php/1878/
 XDISTNAME=3D	${PORTNAME}-${PORTVERSION}-beta
 X
 XMAINTAINER=3D	berend@pobox.com
 XCOMMENT=3D	NSS module using a PostgreSQL database for backend
 X
 XBUILD_DEPENDS=3D	${LOCALBASE}/bin/xmlto:${PORTSDIR}/textproc/xmlto
 X
 XUSE_PGSQL=3D	yes
 XUSE_AUTOTOOLS=3D	libtool autoconf
 XCONFIGURE_ARGS=3D	--sysconfdir=3D${PREFIX}/etc --includedir=3D${PREFIX}/=
 include --libdir=3D${PREFIX}/lib --with-docdir=3D${DOCSDIR}
 XUSE_LDCONFIG=3D	yes
 XGNU_CONFIGURE=3D	yes
 XUSE_GMAKE=3D	yes
 XUSE_PGSQL=3D	yes
 X
 Xpost-install:
 X.if !defined(PORT_OPTIONS:MDOCS)
 X	@${MKDIR} ${DOCSDIR}
 X	@${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/conf/* ${DOCSDIR}
 X.endif
 X	@${LN} ${PREFIX}/lib/libnss_pgsql.so.2 ${PREFIX}/lib/nss_pgsql.so.1
 X
 X.include <bsd.port.mk>
 11a997cc07f18b86271f02b244bc060d
 echo x - libnss-pgsql/distinfo
 sed 's/^X//' >libnss-pgsql/distinfo << '394b14bef0d8a841bf6abda7ac83ea56'=
 
 XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) =3D 84808c47fd21a09e2c487a0efc72=
 cc18b352275082335be8c6de39d325e6c000
 XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) =3D 305543
 394b14bef0d8a841bf6abda7ac83ea56
 echo x - libnss-pgsql/pkg-descr
 sed 's/^X//' >libnss-pgsql/pkg-descr << '8abaaed3ac781e358ba0af8fa990d1b6=
 '
 XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
 Xusing a PostgreSQL database. It uses the NSS API which provides an
 Xabstraction layer between the UNIX authentication API and the related
 Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
 X
 XNote that on FreeBSD the order in /etc/nssswitch must be:
 X
 X  group: pgsql files
 X  passwd: pgsql files
 X
 XSo pgsql must be first, files last.
 X
 XWWW: http://pgfoundry.org/projects/sysauth/
 8abaaed3ac781e358ba0af8fa990d1b6
 echo x - libnss-pgsql/pkg-plist
 sed 's/^X//' >libnss-pgsql/pkg-plist << '1e51cc1ba5abdaff5929bd79ca921ae7=
 '
 Xlib/libnss_pgsql.a
 Xlib/libnss_pgsql.la
 Xlib/libnss_pgsql.so
 Xlib/libnss_pgsql.so.2
 Xlib/nss_pgsql.so.1
 Xshare/doc/libnss-pgsql/README
 Xshare/doc/libnss-pgsql/nss-pgsql.html
 Xshare/doc/libnss-pgsql/caution.png
 Xshare/doc/libnss-pgsql/dbschema.sql
 Xshare/doc/libnss-pgsql/nss-pgsql-root.conf
 Xshare/doc/libnss-pgsql/nss-pgsql.conf
 Xshare/doc/libnss-pgsql/nsswitch.conf
 X@dirrm share/doc/libnss-pgsql
 1e51cc1ba5abdaff5929bd79ca921ae7
 exit
 
 
 --------------090205030506010102050706--
 
 ------enig2MITEGCNFSSARNVIFNTGP
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
 
 iQIcBAEBCAAGBQJR379dAAoJEKOfeD48G3g52MUP/AoVGJZKpI78fO/jsAO27AOW
 4WXk618QyDKkPcvTJxLwQk/ZctbVnzYfZPrLyV3WGyTO/OlQy/hJygkoBNvu4WLw
 W/DOEkS0ISN0BVkrgv5zZYCyyzz5gnFHLRVrlHS6cDX+uS69qNr1wtSIoyZeUWBO
 0BIWYjuAqNaR7ltmJerde3Tca2roCdoCiwdHGGyr9DZmStuRo85pcz57CdNfqnpS
 yVDLLr0yyQ0XzdC2Xdw+XRRJWlBezV4k/vI71vgKmO8NurnmMKzfysTOmdCHeHZa
 DEyD1/wwqM1bftyKHSyIyDeXyX/BzJ/wf/jiCmSwkObGpQo3AWrBz7wgylKn/DJh
 4s98SRYOTIQY0LIa29JvNZvejQF310H1DgjkDsWRhDsV5NAu2JCFL/sEg3wAuOOw
 RbzcGWZ57FVSNFAqNSQfq5KKJJ5SU3+wYtl2zFXHzMzu3zxMJhLDDhWSuZdfqrik
 7QbGRNFOjjlBrapvzPJEglvYRwRVzX/tPr0lVpSEYaa5AnV5SwtB+ZLtAgaDU8Mw
 WE6ZE5Nq0tXhL+DFxLznZmTn6M6tzHOIIOhDobwb7gzFgHRJC/2Mt802GLP4PEGM
 VodesNuU3wm7UGpowWtxiYDy5tj5l9+lt9Fcgfkulz6mpw9zRhBenfSbn3+UMzWJ
 fI3LRoW22tDHR+LNbvEN
 =0cCb
 -----END PGP SIGNATURE-----
 
 ------enig2MITEGCNFSSARNVIFNTGP--

From: Berend de Boer <berend@pobox.com>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts
 to be stored in postgresql
Date: Fri, 12 Jul 2013 20:39:31 +1200

 This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
 ------enig2FGLGBSPAKBSAXDATLSFT
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 And one more update. An nsswitch.conf applicable to FreeBSD, not the
 default Linux one.
 
 
 ------enig2FGLGBSPAKBSAXDATLSFT
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.11 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
 
 iQIcBAEBCAAGBQJR38DEAAoJEKOfeD48G3g5CwoP/0ljuJH5h2d6uOnLVyymAjGK
 nXnIQ3gd8g2getN653gQs6c5/T8tJA3W6SNqW4L1x2Ye8bxvyc15M5/bpVues065
 6kv4WScbnvlkn4AO97au7hHV8t2Di5DQVJy3Ad4KFBsU4iHmjje5HIPPWtG1dQ1/
 pxIldazchUY7kGtE5mg1T4Dak1sQa7u4Rjlw193qO0cFhIuKqnMeo13Tj4bzSfOp
 Pg/T0+u/wqPxC6uP/7Cc22BAkS1vwbnn6qRqzqkQwYDi/SKr/kq+zhhBl+1cFWzR
 6GpiiNJIjik0msN8h/gABC54lZK7+zURnSAl2qyvao0vrxw2YcvhPqmFU3RjZcZW
 e7N5gWzUBXO1v0Ae3gfMAu8atlSSnBiTRpz+NzOLp45hIo5xWS4+5zzA8Yhk0Dvn
 08ThIIzcmlumhzlsA660Vg4RLCCH3/SUq6Lk6O+NoG7E3ssKqZZ1gerNdesowP4c
 SHWnpZfXsXkmeSUtSIQ1DU0JPrI7b3bKmmNRbChtgBTVNKHaUHqAkZ0AgBvu3s3F
 KFxA4R9Kw/gwXqWHLSNNNFa2D3wgbTefEZ1dvHGZCu3OnCh0/yh9/S1qQRBad9KZ
 n9S6MoYtH3pUVzIASG6z8PjVzY3UV7akr/bI56Y06UVTSbu2+g6seEJmp3Up1r4Z
 tB0Eh3iFh7DkFnXTvUWb
 =lkGf
 -----END PGP SIGNATURE-----
 
 ------enig2FGLGBSPAKBSAXDATLSFT--

From: Felippe de Meirelles Motta <lippe@FreeBSD.org>
To: bug-followup@FreeBSD.org, berend@pobox.com
Cc:  
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts to
 be stored in postgresql
Date: Fri, 12 Jul 2013 15:36:48 -0300

 --f46d044272702bfa8904e154cb8e
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi Berend,
 
 Since this is a beta version, it should be used as PORTNAME-devel instead,
 same that this project was not updates since 2008.
 
 Suggestion: Could you create a libnss-pgsql with 1.4.0 stable release and
 an libnss-pgsql-devel with 1.5.0 beta release, what=B4s about?
 
 Thanks
 lippe@
 
 --f46d044272702bfa8904e154cb8e
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi Berend,<br><br>Since this is a beta version, it should be used as PORTNA=
 ME-devel instead, same that this project was not updates since 2008. <br><b=
 r>Suggestion: Could you create a libnss-pgsql with 1.4.0 stable release and=
  an libnss-pgsql-devel with 1.5.0 beta release, what=B4s about?<br>
 <br>Thanks<br>lippe@<br>
 
 --f46d044272702bfa8904e154cb8e--

From: Berend de Boer <berend@pobox.com>
To: Felippe de Meirelles Motta <lippe@FreeBSD.org>
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts to be stored in postgresql
Date: Sat, 13 Jul 2013 10:16:48 +1200

 --pgp-sign-Multipart_Sat_Jul_13_10:16:48_2013-1
 Content-Type: text/plain; charset=UTF-8
 Content-Transfer-Encoding: quoted-printable
 
 >>>>> "Felippe" =3D=3D Felippe de Meirelles Motta <lippe@FreeBSD.org> write=
 s:
 
     Felippe> Since this is a beta version, it should be used as
     Felippe> PORTNAME-devel instead, same that this project was not
     Felippe> updates since 2008.
 
 Hi Felippe,
 
 I could use -devel but it has been pretty stable :-) But I assume
 -devel is standard.
 
 Do I need to submit a new .shar ?
 
 
     Felippe> Suggestion: Could you create a libnss-pgsql with 1.4.0
     Felippe> stable release and an libnss-pgsql-devel with 1.5.0 beta
     Felippe> release, what=C2=B4s about?
 
 I wouldn't have the time to test it thoroughly. I have been using this
 1.5.0-beta in production and has been stable so far. So my concern is
 that we mark it as stable, but no one has actually ever used it.
 
 I can't remember, but I think I also had more trouble getting the
 1.4.0 version working.
 
 But I agree, Debian/Ubuntu all use the 1.4 version.
 
 Please let me know what to do.
 
 --=20
 All the best,
 
 Berend de Boer
 
 
           ------------------------------------------------------
           Awesome Drupal hosting: https://www.xplainhosting.com/
 
 
 --pgp-sign-Multipart_Sat_Jul_13_10:16:48_2013-1
 Content-Type: application/pgp-signature
 Content-Transfer-Encoding: 7bit
 Content-Description: OpenPGP Digital Signature
 
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.17 (GNU/Linux)
 
 iQIcBAABCAAGBQJR4IBQAAoJEKOfeD48G3g5OOUP/06mxoh6KQ1Jf+Z7r0TLLoce
 yL3SLRpAxm0jbTpnhKrPZEtslHPAC6DLjQ+aaBAK3yz1MxA/aA0fuoC/6rOFa+An
 c6/pc8iRrcYUNDEIaVmydhe86l3OoCmtjK/C6TB1sf1oTP7kEwRfdWWbOEbEDG3K
 DOs5aXTE4r0TyhBgifadxtoKw1ZVUiH2uo5IlODhMgDobRzquJPfm8FHu6dSxM7T
 F7mSghwWGhciQIwPaTnGf+BIZ87voBh69PriIJ4D3t0HN5+7igEGBo9wl/FiG6wW
 5UHFOuqoWQ+/a3Fy0Qg5fD/9qQb2RN7X8TG7oI0i+oyLY6ZrTMbZmiuF7Njvn+7g
 TRAkad9Y3uWRxl0RykVMHLjZ/WhmhC0Vt2wYS6RH4BlDKeL9I8QftOc6u3c7qS+M
 yx2fjk6k5+7grqyDgQMsQjxxjMOl4vigl/pZj3eiw8NYjiIFQB7R6dGTEwY4pbXR
 zmSy0hAelnUvOb+6LfB/7DxZ3IbrxAha4RkZBkkrFwBcMbsrphRu/go9LuhqhnXM
 ZfYxrEfKPBLQwOqLGtWk29nziFOY3AjSSMOuWA59TDMn6fBFKcQWmE/ZelqSOo/o
 AZK810cRLQWknC69V2WXHDOnSli+hcntxEtOtPhDc8PEWb+8SXXTwQZaAdc5tFaW
 2pV454D+LgT7eGX4+3a8
 =es6E
 -----END PGP SIGNATURE-----
 
 --pgp-sign-Multipart_Sat_Jul_13_10:16:48_2013-1--

From: Felippe de Meirelles Motta <lippe@FreeBSD.org>
To: Berend de Boer <berend@pobox.com>
Cc: bug-followup@freebsd.org
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts to
 be stored in postgresql
Date: Mon, 15 Jul 2013 11:25:51 -0300

 --089e0112c78c2f762c04e18da313
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi Berend,
 
 Yes, please! One SHAR file to -devel at this PR and a new PR to stable
 version.
 
 Thanks
 lippe@
 
 On Fri, Jul 12, 2013 at 7:16 PM, Berend de Boer <berend@pobox.com> wrote:
 
 > >>>>> "Felippe" =3D=3D Felippe de Meirelles Motta <lippe@FreeBSD.org> wri=
 tes:
 >
 >     Felippe> Since this is a beta version, it should be used as
 >     Felippe> PORTNAME-devel instead, same that this project was not
 >     Felippe> updates since 2008.
 >
 > Hi Felippe,
 >
 > I could use -devel but it has been pretty stable :-) But I assume
 > -devel is standard.
 >
 > Do I need to submit a new .shar ?
 >
 >
 >     Felippe> Suggestion: Could you create a libnss-pgsql with 1.4.0
 >     Felippe> stable release and an libnss-pgsql-devel with 1.5.0 beta
 >     Felippe> release, what=B4s about?
 >
 > I wouldn't have the time to test it thoroughly. I have been using this
 > 1.5.0-beta in production and has been stable so far. So my concern is
 > that we mark it as stable, but no one has actually ever used it.
 >
 > I can't remember, but I think I also had more trouble getting the
 > 1.4.0 version working.
 >
 > But I agree, Debian/Ubuntu all use the 1.4 version.
 >
 > Please let me know what to do.
 >
 > --
 > All the best,
 >
 > Berend de Boer
 >
 >
 >           ------------------------------------------------------
 >           Awesome Drupal hosting: https://www.xplainhosting.com/
 >
 >
 
 --089e0112c78c2f762c04e18da313
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 Hi Berend,<br><br>Yes, please! One SHAR file to -devel at this PR and a new=
  PR to stable version.<br><br>Thanks<br>lippe@<br><br><div class=3D"gmail_q=
 uote">On Fri, Jul 12, 2013 at 7:16 PM, Berend de Boer <span dir=3D"ltr">&lt=
 ;<a href=3D"mailto:berend@pobox.com" target=3D"_blank">berend@pobox.com</a>=
 &gt;</span> wrote:<br>
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex">&gt;&gt;&gt;&gt;&gt; &quot;Felippe&quot; =3D=
 =3D Felippe de Meirelles Motta &lt;lippe@FreeBSD.org&gt; writes:<br>
 <br>
 =A0 =A0 Felippe&gt; Since this is a beta version, it should be used as<br>
 =A0 =A0 Felippe&gt; PORTNAME-devel instead, same that this project was not<=
 br>
 =A0 =A0 Felippe&gt; updates since 2008.<br>
 <br>
 Hi Felippe,<br>
 <br>
 I could use -devel but it has been pretty stable :-) But I assume<br>
 -devel is standard.<br>
 <br>
 Do I need to submit a new .shar ?<br>
 <br>
 <br>
 =A0 =A0 Felippe&gt; Suggestion: Could you create a libnss-pgsql with 1.4.0<=
 br>
 =A0 =A0 Felippe&gt; stable release and an libnss-pgsql-devel with 1.5.0 bet=
 a<br>
 =A0 =A0 Felippe&gt; release, what=B4s about?<br>
 <br>
 I wouldn&#39;t have the time to test it thoroughly. I have been using this<=
 br>
 1.5.0-beta in production and has been stable so far. So my concern is<br>
 that we mark it as stable, but no one has actually ever used it.<br>
 <br>
 I can&#39;t remember, but I think I also had more trouble getting the<br>
 1.4.0 version working.<br>
 <br>
 But I agree, Debian/Ubuntu all use the 1.4 version.<br>
 <br>
 Please let me know what to do.<br>
 <span class=3D"HOEnZb"><font color=3D"#888888"><br>
 --<br>
 All the best,<br>
 <br>
 Berend de Boer<br>
 <br>
 <br>
 =A0 =A0 =A0 =A0 =A0 ------------------------------------------------------<=
 br>
 =A0 =A0 =A0 =A0 =A0 Awesome Drupal hosting: <a href=3D"https://www.xplainho=
 sting.com/" target=3D"_blank">https://www.xplainhosting.com/</a><br>
 <br>
 </font></span></blockquote></div><br>
 
 --089e0112c78c2f762c04e18da313--

From: Berend de Boer <berend@pobox.com>
To: Felippe de Meirelles Motta <lippe@FreeBSD.org>
Cc: bug-followup@freebsd.org
Subject: Re: ports/178333: [new port] net/libnss-pgsql: allow user accounts to be stored in postgresql
Date: Thu, 19 Dec 2013 16:31:51 +1300

 --Multipart_Thu_Dec_19_16:31:51_2013-1
 Content-Type: text/plain; charset=US-ASCII
 
 >>>>> "Felippe" == Felippe de Meirelles Motta <lippe@FreeBSD.org> writes:
 
     Felippe> Yes, please! One SHAR file to -devel at this PR and a new
     Felippe> PR to stable version.
 
 Hi Felippe,
 
 Took me a while, this is the -devel shar.
 
 
 --Multipart_Thu_Dec_19_16:31:51_2013-1
 Content-Type: application/octet-stream; name="libnss-pgsql-devel.shar"
 Content-Disposition: attachment; filename="libnss-pgsql-devel.shar"
 Content-Transfer-Encoding: quoted-printable
 
 # This is a shell archive.  Save it in a file, remove anything before
 # this line, and then unpack it by entering "sh file".  Note, it may
 # create directories; files and directories will be owned by you and
 # have default permissions.
 #
 # This archive contains:
 #
 #	libnss-pgsql-devel
 #	libnss-pgsql-devel/files
 #	libnss-pgsql-devel/files/patch-backend.c
 #	libnss-pgsql-devel/files/patch-nss-pgsql.h
 #	libnss-pgsql-devel/files/patch-configure.in
 #	libnss-pgsql-devel/files/patch-freebsd.sym
 #	libnss-pgsql-devel/files/nsswitch.conf
 #	libnss-pgsql-devel/files/patch-interface.c
 #	libnss-pgsql-devel/distinfo
 #	libnss-pgsql-devel/pkg-descr
 #	libnss-pgsql-devel/pkg-plist
 #	libnss-pgsql-devel/Makefile
 #
 echo c - libnss-pgsql-devel
 mkdir -p libnss-pgsql-devel > /dev/null 2>&1
 echo c - libnss-pgsql-devel/files
 mkdir -p libnss-pgsql-devel/files > /dev/null 2>&1
 echo x - libnss-pgsql-devel/files/patch-backend.c
 sed 's/^X//' >libnss-pgsql-devel/files/patch-backend.c << 'f9b321da942e3049=
 f1500cc561b1c849'
 X--- src/backend.c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/backend.c	2013-04-27 21:05:16.000000000 +1200
 X@@ -11,7 +11,7 @@
 X  */
 X
 X #include "nss-pgsql.h"
 X-#include <postgresql/libpq-fe.h>
 X+#include <libpq-fe.h>
 X #include <stdlib.h>
 X #include <string.h>
 X #include <stdio.h>
 f9b321da942e3049f1500cc561b1c849
 echo x - libnss-pgsql-devel/files/patch-nss-pgsql.h
 sed 's/^X//' >libnss-pgsql-devel/files/patch-nss-pgsql.h << '5e50ce3a74a2fe=
 c4c6a2d5b2bd0eda31'
 X--- src/nss-pgsql.h	2006-01-10 11:33:07.000000000 +1300
 X+++ src/nss-pgsql.h	2013-05-04 15:07:33.000000000 +1200
 X@@ -15,9 +15,30 @@
 X
 X #  include <pwd.h>
 X #  include <grp.h>
 X+#ifdef HAVE_SHADOW_H
 X #  include <shadow.h>
 X+#endif
 X #  include <sys/types.h>
 X
 X+#ifndef HAVE_SHADOW_H
 X+/* Structure of the password file.  */
 X+struct spwd
 X+  {
 X+    char *sp_namp;		/* Login name.  */
 X+    char *sp_pwdp;		/* Encrypted password.  */
 X+    long int sp_lstchg;		/* Date of last change.  */
 X+    long int sp_min;		/* Minimum number of days between changes.  */
 X+    long int sp_max;		/* Maximum number of days between changes.  */
 X+    long int sp_warn;		/* Number of days to warn user to change
 X+				   the password.  */
 X+    long int sp_inact;		/* Number of days the account may be
 X+				   inactive.  */
 X+    long int sp_expire;		/* Number of days since 1970-01-01 until
 X+				   account expires.  */
 X+    unsigned long int sp_flag;	/* Reserved.  */
 X+  };
 X+#endif
 X+
 X #define CFGFILE SYSCONFDIR"/nss-pgsql.conf"
 X #define CFGROOTFILE SYSCONFDIR"/nss-pgsql-root.conf"
 X
 5e50ce3a74a2fec4c6a2d5b2bd0eda31
 echo x - libnss-pgsql-devel/files/patch-configure.in
 sed 's/^X//' >libnss-pgsql-devel/files/patch-configure.in << '4a7368e1e8df0=
 23c5b597a9edb96a5ba'
 X--- configure.ac	2006-01-10 15:35:34.000000000 +1300
 X+++ configure.ac	2013-05-04 15:03:26.000000000 +1200
 X@@ -26,7 +26,7 @@
 X
 X # Checks for header files.
 X AC_HEADER_STDC
 X-AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h])
 X+AC_CHECK_HEADERS([stdlib.h string.h unistd.h nss.h shadow.h])
 X
 X # Checks for typedefs, structures, and compiler characteristics.
 X AC_C_CONST
 4a7368e1e8df023c5b597a9edb96a5ba
 echo x - libnss-pgsql-devel/files/patch-freebsd.sym
 sed 's/^X//' >libnss-pgsql-devel/files/patch-freebsd.sym << 'ff952a62415bd1=
 b0d0f7d6bd2dce937e'
 X--- src/freebsd.sym	1970-01-01 12:00:00.000000000 +1200
 X+++ src/freebsd.sym	2004-04-12 11:02:12.000000000 +1200
 X@@ -0,0 +1 @@
 X+nss_module_register
 ff952a62415bd1b0d0f7d6bd2dce937e
 echo x - libnss-pgsql-devel/files/nsswitch.conf
 sed 's/^X//' >libnss-pgsql-devel/files/nsswitch.conf << 'e43e2a48d9ccf8004b=
 d4dcb7a19bf6f0'
 X#
 X# nsswitch.conf(5) - name service switch configuration file
 X# $FreeBSD: release/9.1.0/etc/nsswitch.conf 224765 2011-08-10 20:52:02Z do=
 ugb $
 X#
 X#group: compat
 Xgroup: pgsql files
 Xgroup_compat: nis
 Xhosts: files dns
 Xnetworks: files
 X#passwd: compat
 Xpasswd: pgsql files
 Xpasswd_compat: nis
 Xshells: files
 Xservices: compat
 Xservices_compat: nis
 Xprotocols: files
 Xrpc: files
 e43e2a48d9ccf8004bd4dcb7a19bf6f0
 echo x - libnss-pgsql-devel/files/patch-interface.c
 sed 's/^X//' >libnss-pgsql-devel/files/patch-interface.c << '33c8512321508a=
 5a09bea0b349b6749d'
 X--- /usr/ports/net/libnss-pgsql/work/libnss-pgsql-1.5.0-beta/src/interface=
 .c	2008-08-19 21:44:37.000000000 +1200
 X+++ src/interface.c	2013-05-04 14:30:42.000000000 +1200
 X@@ -285,3 +285,57 @@
 X=20
 X 	return retval;
 X }
 X+
 X+/* Thanks to Clement Laforet for most of this */
 X+#if defined(__FreeBSD__)
 X+
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwuid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getpwent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endpwent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrnam_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrgid_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_getgrent_r);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_setgrent);
 X+NSS_METHOD_PROTOTYPE(__nss_compat_endgrent);
 X+
 X+enum nss_status _nss_pgsql_getpwnam_r (const char *, struct passwd *, cha=
 r *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwuid_r (uid_t, struct passwd *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getpwent_r (struct passwd *, char *, size_t, i=
 nt *);
 X+enum nss_status _nss_pgsql_setpwent (void);
 X+enum nss_status _nss_pgsql_endpwent (void);
 X+
 X+enum nss_status _nss_pgsql_getgrnam_r (const char *, struct group *, char=
  *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrgid_r (gid_t, struct group *, char *,
 X+                                  size_t, int *);
 X+enum nss_status _nss_pgsql_getgrent_r (struct group *, char *, size_t, in=
 t *);
 X+enum nss_status _nss_pgsql_setgrent (void);
 X+enum nss_status _nss_pgsql_endgrent (void);
 X+
 X+static ns_mtab methods[] =3D {
 X+    { NSDB_PASSWD, "getpwnam_r", __nss_compat_getpwnam_r, _nss_pgsql_getp=
 wnam_r },
 X+    { NSDB_PASSWD, "getpwuid_r", __nss_compat_getpwuid_r, _nss_pgsql_getp=
 wuid_r },
 X+    { NSDB_PASSWD, "getpwent_r", __nss_compat_getpwent_r, _nss_pgsql_getp=
 went_r },
 X+    { NSDB_PASSWD, "endpwent",   __nss_compat_setpwent,   _nss_pgsql_setp=
 went },
 X+    { NSDB_PASSWD, "setpwent",   __nss_compat_endpwent,   _nss_pgsql_endp=
 went },
 X+    { NSDB_GROUP,  "getgrnam_r", __nss_compat_getgrnam_r, _nss_pgsql_getg=
 rnam_r },
 X+    { NSDB_GROUP,  "getgrgid_r", __nss_compat_getgrgid_r, _nss_pgsql_getg=
 rgid_r },
 X+    { NSDB_GROUP,  "getgrent_r", __nss_compat_getgrent_r, _nss_pgsql_getg=
 rent_r },
 X+    { NSDB_GROUP,  "endgrent",   __nss_compat_setgrent,   _nss_pgsql_setg=
 rent },
 X+    { NSDB_GROUP,  "setgrent",   __nss_compat_endgrent,   _nss_pgsql_endg=
 rent },
 X+};
 X+
 X+ns_mtab *
 X+nss_module_register (const char *name, unsigned int *size,
 X+                     nss_module_unregister_fn *unregister)
 X+{
 X+    *size =3D sizeof (methods) / sizeof (methods[0]);
 X+    *unregister =3D NULL;
 X+    return (methods);
 X+}
 X+
 X+#endif /* defined(__FreeBSD__) */
 33c8512321508a5a09bea0b349b6749d
 echo x - libnss-pgsql-devel/distinfo
 sed 's/^X//' >libnss-pgsql-devel/distinfo << '71491fa66e6c78f5a11a4f29aaeec=
 9b8'
 XSHA256 (libnss-pgsql-1.5.0-beta.tar.gz) =3D 84808c47fd21a09e2c487a0efc72cc=
 18b352275082335be8c6de39d325e6c000
 XSIZE (libnss-pgsql-1.5.0-beta.tar.gz) =3D 305543
 71491fa66e6c78f5a11a4f29aaeec9b8
 echo x - libnss-pgsql-devel/pkg-descr
 sed 's/^X//' >libnss-pgsql-devel/pkg-descr << 'b8f026d957c6da1c3d281a7808d1=
 065e'
 XlibNSS-PostgreSQL allows you to authenticate UNIX groups and users
 Xusing a PostgreSQL database. It uses the NSS API which provides an
 Xabstraction layer between the UNIX authentication API and the related
 Xdata. NSS-PostgreSQL currently supports the passwd and groups services.
 X
 XWWW: http://pgfoundry.org/projects/sysauth/
 b8f026d957c6da1c3d281a7808d1065e
 echo x - libnss-pgsql-devel/pkg-plist
 sed 's/^X//' >libnss-pgsql-devel/pkg-plist << '7f49f33b2008eceb7908ea1d845f=
 ee09'
 Xlib/libnss_pgsql.a
 Xlib/libnss_pgsql.la
 Xlib/libnss_pgsql.so
 Xlib/libnss_pgsql.so.2
 Xlib/nss_pgsql.so.1
 X%%PORTDOCS%%%%DOCSDIR%%/README
 X%%PORTDOCS%%%%DOCSDIR%%/nss-pgsql.html
 X%%PORTDOCS%%%%DOCSDIR%%/caution.png
 X%%PORTDOCS%%%%DOCSDIR%%/dbschema.sql
 X%%PORTDOCS%%%%DOCSDIR%%/nss-pgsql-root.conf
 X%%PORTDOCS%%%%DOCSDIR%%/nss-pgsql.conf
 X%%PORTDOCS%%%%DOCSDIR%%/nsswitch.conf
 X%%PORTDOCS%%@dirrm %%DOCSDIR%%
 7f49f33b2008eceb7908ea1d845fee09
 echo x - libnss-pgsql-devel/Makefile
 sed 's/^X//' >libnss-pgsql-devel/Makefile << '2ff65e0b59ec4505fa7da3a0aacde=
 c7d'
 X# Created by: Berend de Boer <berend@pobox.com>
 X# $FreeBSD$
 X#
 X
 XPORTNAME=3D	libnss-pgsql
 XPORTVERSION=3D	1.5.0
 XPORTREVISION=3D	1
 XCATEGORIES=3D	net
 XMASTER_SITES=3D	http://pgfoundry.org/frs/download.php/1878/
 XDISTNAME=3D	${PORTNAME}-${PORTVERSION}-beta
 X
 XMAINTAINER=3D	berend@pobox.com
 XCOMMENT=3D	NSS module using a PostgreSQL database for backend
 X
 XUSE_AUTOTOOLS=3D	libtool autoconf
 XCONFIGURE_ARGS=3D	--sysconfdir=3D${PREFIX}/etc --includedir=3D${PREFIX}/in=
 clude --libdir=3D${PREFIX}/lib --with-docdir=3D${DOCSDIR}
 XUSE_LDCONFIG=3D	yes
 XGNU_CONFIGURE=3D	yes
 XUSE_GMAKE=3D	yes
 XUSE_PGSQL=3D	yes
 X
 Xpost-install:
 X	${MKDIR} ${STAGEDIR}${DOCSDIR}
 X	${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/conf/* ${STAGEDIR}${DOCSDIR}
 X	${INSTALL_DATA} files/nsswitch.conf ${STAGEDIR}${DOCSDIR}
 X	${LN} -s ${PREFIX}/lib/libnss_pgsql.so.2 ${STAGEDIR}${PREFIX}/lib/nss_pgs=
 ql.so.1
 X
 X.include <bsd.port.mk>
 2ff65e0b59ec4505fa7da3a0aacdec7d
 exit
 
 
 --Multipart_Thu_Dec_19_16:31:51_2013-1
 Content-Type: text/plain; charset=US-ASCII
 
 
 
 -- 
 All the best,
 
 Berend de Boer
 
 
 --Multipart_Thu_Dec_19_16:31:51_2013-1--
>Unformatted:
