[Midnightbsd-cvs] mports: mports/net: add mysql and postgres backends for passwords

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Fri May 30 15:08:44 EDT 2008


Log Message:
-----------
add mysql and postgres backends for passwords

Modified Files:
--------------
    mports/net:
        Makefile (r1.66 -> r1.67)

Added Files:
-----------
    mports/net/samba-pdbsql:
        Makefile (r1.1)
        distinfo (r1.1)
        pkg-descr (r1.1)
        pkg-plist (r1.1)
    mports/net/samba-pdbsql/files:
        patch-pdb_pgsql.c (r1.1)

-------------- next part --------------
--- /dev/null
+++ net/samba-pdbsql/pkg-descr
@@ -0,0 +1,7 @@
+This port adds to Samba3 ability to use multiple 'passdb backends' at
+the same time. Also it comes with sample MySQL and PostgreSQL backends,
+which allow to store passwords in the corresponding databases.
+
+This features were removed from upstream Samba3 in version 3.0.22.
+
+WWW: http://pdbsql.sourceforge.net/
--- /dev/null
+++ net/samba-pdbsql/pkg-plist
@@ -0,0 +1,12 @@
+lib/samba/pdb/multi.so
+%%MYSQL%%lib/samba/pdb/mysql.so
+%%PGSQL%%lib/samba/pdb/pgsql.so
+%%MYSQL%%%%EXAMPLESDIR%%/mysql.dump
+%%MYSQL%%%%EXAMPLESDIR%%/smb.conf.mysql
+%%PGSQL%%%%EXAMPLESDIR%%/pgsql.dump
+%%PGSQL%%%%EXAMPLESDIR%%/smb.conf.pgsql
+%%PORTDOCS%%%%DOCSDIR%%/pdb_mysql.xml
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+ at dirrm %%EXAMPLESDIR%%
+ at dirrmtry lib/samba/pdb
+ at dirrmtry lib/samba
--- /dev/null
+++ net/samba-pdbsql/Makefile
@@ -0,0 +1,101 @@
+# New ports collection makefile for:	samba-pdbsql
+# Date created:				28th Aug 2006
+# Whom:					Timur I. Bakeyev <timur at gnu.org>
+#
+# $MidnightBSD: mports/net/samba-pdbsql/Makefile,v 1.1 2008/05/30 19:08:42 laffer1 Exp $
+# $FreeBSD: ports/net/samba-pdbsql/Makefile,v 1.6 2008/05/01 13:06:37 timur Exp $
+#
+
+PORTNAME=		pdbsql
+PORTVERSION=		0.3.1
+CATEGORIES=		net
+MASTER_SITES=		${MASTER_SITE_SOURCEFORGE_EXTENDED}
+MASTER_SITE_SUBDIR=	pdbsql
+PKGNAMEPREFIX=		samba-
+DISTNAME=		${PORTNAME}-${PORTVERSION}
+
+MAINTAINER=		ports at MidnightBSD.org
+COMMENT=		Multiplexor, MySQL and PostgeSQL passdb backends for Samba3
+LICENSE=		gpl2
+
+USE_BZIP2=		yes
+USE_GMAKE=		yes
+GNU_CONFIGURE=		yes
+# Add a build dependency for Samba port
+USE_AUTOTOOLS=		autoconf:261 autoheader:261
+WRKSRC=                 ${WRKDIR}/${DISTNAME}-samba
+
+SAMBA_PORT=		net/samba3
+
+OPTIONS=		MYSQL	"With MySQL passdb backend"		on \
+			PGSQL	"With PostgreSQL passdb backend"	on
+
+.include <bsd.port.pre.mk>
+
+SAMBA_WRKSRC!=		cd ${PORTSDIR}/${SAMBA_PORT} && ${MAKE} -V WRKSRC
+.if !defined(SAMBA_WRKSRC) || empty(SAMBA_WRKSRC)
+IGNORE=			unable to determine SAMBA_WRKSRC directory. Cannot continue
+.endif
+SAMBA_MODULEDIR!=	cd ${PORTSDIR}/${SAMBA_PORT} && ${MAKE} -V SAMBA_MODULEDIR
+.if !defined(SAMBA_MODULEDIR) || empty(SAMBA_MODULEDIR)
+SAMBA_MODULEDIR=	${PREFIX}/lib/samba
+.endif
+SAMBA_PDBDIR=		${SAMBA_MODULEDIR}/pdb
+
+BUILD_DEPENDS+=		${NONEXISTENT}:${PORTSDIR}/${SAMBA_PORT}:configure
+
+CONFIGURE_TARGET=	--build=${MACHINE_ARCH}-portbld-freebsd6.0
+CONFIGURE_ARGS+=	--libdir=${SAMBA_PDBDIR} \
+			--with-samba-dir=${SAMBA_WRKSRC}
+
+.if exists(${LOCALBASE}/bin/mysql)
+WITH_MYSQL=		yes
+.	undef		WITHOUT_MYSQL
+.endif
+
+.if exists(${LOCALBASE}/bin/pg_config)
+WITH_PGSQL=		yes
+.	undef		WITHOUT_PGSQL
+.endif
+
+.if !defined(WITHOUT_MYSQL)
+USE_MYSQL=		yes
+CONFIGURE_ARGS+=	--with-mysql-prefix=${LOCALBASE}
+PLIST_SUB+=		MYSQL=""
+.else
+PLIST_SUB+=		MYSQL="@comment "
+.endif
+
+.if !defined(WITHOUT_PGSQL)
+USE_PGSQL=		yes
+CONFIGURE_ARGS+=	--with-pgsql-prefix=${LOCALBASE}
+PLIST_SUB+=		PGSQL=""
+.else
+PLIST_SUB+=		PGSQL="@comment "
+.endif
+
+pre-configure:
+			cd ${SAMBA_WRKSRC} && ${MAKE} proto
+
+do-install:
+			@${MKDIR} ${EXAMPLESDIR}
+			@${MKDIR} ${SAMBA_PDBDIR}
+			@${INSTALL_PROGRAM} ${WRKSRC}/multi.so ${SAMBA_PDBDIR}
+.if !defined(WITHOUT_MYSQL)
+			@${INSTALL_PROGRAM} ${WRKSRC}/mysql.so ${SAMBA_PDBDIR}
+.	for f in mysql.dump smb.conf.mysql
+			@${INSTALL_DATA} ${WRKSRC}/docs/${f} ${EXAMPLESDIR}
+.	endfor
+.endif
+.if !defined(WITHOUT_PGSQL)
+			@${INSTALL_PROGRAM} ${WRKSRC}/pgsql.so ${SAMBA_PDBDIR}
+.	for f in pgsql.dump smb.conf.pgsql
+			@${INSTALL_DATA} ${WRKSRC}/docs/${f} ${EXAMPLESDIR}
+.	endfor
+.endif
+.if !defined(NOPORTDOCS)
+			@${MKDIR} ${DOCSDIR}
+			@${INSTALL_DATA} ${WRKSRC}/docs/pdb_mysql.xml ${DOCSDIR}
+.endif
+
+.include <bsd.port.post.mk>
--- /dev/null
+++ net/samba-pdbsql/distinfo
@@ -0,0 +1,3 @@
+MD5 (pdbsql-0.3.1.tar.bz2) = ff111de303d55c1a6777b48f1b963151
+SHA256 (pdbsql-0.3.1.tar.bz2) = db67ba994b7536f72d8674606670a9a59f41a24901322262891819d10e558938
+SIZE (pdbsql-0.3.1.tar.bz2) = 85554
Index: Makefile
===================================================================
RCS file: /home/cvs/mports/net/Makefile,v
retrieving revision 1.66
retrieving revision 1.67
diff -L net/Makefile -L net/Makefile -u -r1.66 -r1.67
--- net/Makefile
+++ net/Makefile
@@ -59,6 +59,7 @@
     SUBDIR += rsync
     SUBDIR += samba-libsmbclient
     SUBDIR += samba-nmblookup
+    SUBDIR += samba-pdbsql
     SUBDIR += samba3
     SUBDIR += sdl_net
     SUBDIR += skype
--- /dev/null
+++ net/samba-pdbsql/files/patch-pdb_pgsql.c
@@ -0,0 +1,27 @@
+--- pdb_pgsql.c.orig	2008-05-01 12:30:43.000000000 +0200
++++ pdb_pgsql.c	2008-05-01 12:41:38.000000000 +0200
+@@ -164,7 +164,7 @@
+ 	pdb_set_profile_path         (u, PQgetvalue(r, row, 13), PDB_SET);
+ 	pdb_set_acct_desc            (u, PQgetvalue(r, row, 14), PDB_SET);
+ 	pdb_set_workstations         (u, PQgetvalue(r, row, 15), PDB_SET);
+-	pdb_set_commemt              (u, PQgetvalue(r, row, 16), PDB_SET);
++	pdb_set_comment              (u, PQgetvalue(r, row, 16), PDB_SET);
+ 	pdb_set_munged_dial          (u, PQgetvalue(r, row, 17), PDB_SET);
+  
+ 	pdb_set_acct_ctrl            (u, PQgetlong (r, row, 23), PDB_SET);
+@@ -551,8 +551,13 @@
+ static NTSTATUS pgsqlsam_init (struct pdb_methods **pdb_method, const char *location)
+ {
+ 	NTSTATUS nt_status;
+-	struct pdb_pgsql_data *data = malloc_p(struct pdb_pgsql_data);
+-	
++	struct pdb_pgsql_data *data = malloc(sizeof(struct pdb_pgsql_data));
++
++	if (data == NULL) {
++		DEBUG(0, ("Can't allocate memory to data\n"));
++		return NT_STATUS_NO_MEMORY;
++	}
++
+ 	if (!NT_STATUS_IS_OK(nt_status = make_pdb_method(pdb_method))) {
+ 		return nt_status;
+         }


More information about the Midnightbsd-cvs mailing list