summaryrefslogtreecommitdiff
path: root/net/samba30/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'net/samba30/Makefile')
-rw-r--r--net/samba30/Makefile175
1 files changed, 175 insertions, 0 deletions
diff --git a/net/samba30/Makefile b/net/samba30/Makefile
new file mode 100644
index 00000000000..25145c511ef
--- /dev/null
+++ b/net/samba30/Makefile
@@ -0,0 +1,175 @@
+# $NetBSD: Makefile,v 1.1.1.1 2011/12/15 22:23:23 asau Exp $
+
+.include "Makefile.mirrors"
+
+DISTNAME= samba-${VERSION}
+PKGREVISION= 7
+CATEGORIES= net
+MASTER_SITES= ${SAMBA_MIRRORS:=old-versions/}
+
+.include "Makefile.patches"
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.samba.org/
+COMMENT= SMB/CIFS protocol server suite
+LICENSE= gnu-gpl-v2
+
+VERSION= 3.0.37
+CONFLICTS+= ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* \
+ winbind-[0-9]*
+MAKE_JOBS_SAFE= NO
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+WRKSRC= ${WRKDIR}/${DISTNAME}/source
+GNU_CONFIGURE= yes
+BUILD_DEFS+= VARBASE
+CHECK_WRKREF_SKIP= *
+
+.include "../../mk/bsd.prefs.mk"
+
+PKG_SYSCONFSUBDIR?= samba
+SAMBA_ETCDIR?= ${PKG_SYSCONFDIR}
+SAMBA_LIBDIR?= ${PREFIX}/lib/samba
+SAMBA_LOCKDIR?= ${SAMBA_VARDIR}/run/samba
+SAMBA_LOGDIR?= ${SAMBA_VARDIR}/log
+SAMBA_PIDDIR?= ${SAMBA_VARDIR}/run
+SAMBA_PRIVATE?= ${SAMBA_ETCDIR}/private
+SAMBA_STATEDIR?= ${SAMBA_VARDIR}/db/samba
+SAMBA_VARDIR?= ${VARBASE}
+WINBINDD_RCD_SCRIPT= # empty
+
+FILES_SUBST+= SAMBA_ETCDIR=${SAMBA_ETCDIR:Q}
+FILES_SUBST+= SAMBA_LOCKDIR=${SAMBA_LOCKDIR:Q}
+FILES_SUBST+= SAMBA_LOGDIR=${SAMBA_LOGDIR:Q}
+FILES_SUBST+= SAMBA_PIDDIR=${SAMBA_PIDDIR:Q}
+FILES_SUBST+= SAMBA_PRIVATE=${SAMBA_PRIVATE:Q}
+FILES_SUBST+= SAMBA_STATEDIR=${SAMBA_STATEDIR:Q}
+FILES_SUBST+= SAMBA_VARDIR=${SAMBA_VARDIR:Q}
+FILES_SUBST+= WINBINDD_RCD_SCRIPT=${WINBINDD_RCD_SCRIPT:Q}
+
+CONFIGURE_ARGS+= --with-configdir=${SAMBA_ETCDIR:Q}
+CONFIGURE_ARGS+= --with-libdir=${SAMBA_LIBDIR:Q}
+CONFIGURE_ARGS+= --with-lockdir=${SAMBA_LOCKDIR:Q}
+CONFIGURE_ARGS+= --with-logfilebase=${SAMBA_LOGDIR:Q}
+CONFIGURE_ARGS+= --with-piddir=${SAMBA_PIDDIR:Q}
+CONFIGURE_ARGS+= --with-privatedir=${SAMBA_PRIVATE:Q}
+CONFIGURE_ARGS+= --with-statedir=${SAMBA_STATEDIR:Q}
+CONFIGURE_ARGS+= --localstatedir=${SAMBA_VARDIR:Q}
+
+CONFIGURE_ARGS+= --with-mandir=${PREFIX:Q}/${PKGMANDIR:Q}
+CONFIGURE_ARGS+= --with-swatdir=${PREFIX:Q}/share/samba/swat
+
+.include "../../converters/libiconv/buildlink3.mk"
+CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
+
+USE_GNU_READLINE= yes
+.include "../../devel/readline/buildlink3.mk"
+CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}
+
+.include "options.mk"
+
+# Only Linux supports mount.cifs for mounting a CIFS share into the
+# filesystem.
+#
+PLIST_VARS+= cifsmount
+.if ${OPSYS} == "Linux"
+CONFIGURE_ARGS+= --with-cifsmount
+PLIST.cifsmount= yes
+.endif
+
+# mktemp is useful for the replacement adduser script, but don't require
+# a full dependency since it's not actually needed by samba.
+#
+USE_TOOLS+= mktemp
+
+# findsmb uses perl
+#
+USE_TOOLS+= perl:run
+REPLACE_PERL= script/findsmb.in
+
+.if !defined(PWD_MKDB)
+PWD_MKDB!= ${TYPE} pwd_mkdb 2>&1 | \
+ ${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
+MAKEFLAGS+= PWD_MKDB=${PWD_MKDB:Q}
+.endif
+FILES_SUBST+= MKTEMP=${MKTEMP:Q}
+FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q}
+
+DOCDIR= share/doc/${PKGBASE}
+EGDIR= share/examples/${PKGBASE}
+
+INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
+
+CONF_FILES= ${PREFIX}/${EGDIR}/smb.conf.default ${SAMBA_ETCDIR}/smb.conf
+MAKE_DIRS= ${SAMBA_VARDIR} ${SAMBA_LOGDIR} ${SAMBA_PIDDIR}
+OWN_DIRS= ${SAMBA_ETCDIR} ${SAMBA_LOCKDIR} ${SAMBA_STATEDIR}
+OWN_DIRS_PERMS= ${SAMBA_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
+RCD_SCRIPTS+= samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
+
+SUBST_CLASSES+= paths
+SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
+SUBST_SED.paths+= -e 's,@AWK@,${AWK},g' -e 's,@CAT@,${CAT},g'
+SUBST_SED.paths+= -e 's,@MKTEMP@,${MKTEMP},g' -e 's,@RM@,${RM},g'
+SUBST_SED.paths+= -e 's,@PWD_MKDB@,${PWD_MKDB},g' -e 's,@SH@,${SH},g'
+SUBST_STAGE.paths= post-patch
+
+# Get the shared library major and minors for the installed shared
+# libraries. We'll need these to create the versioned symlinks for
+# the shared libraries because samba Makefile doesn't do it on its
+# own.
+#
+SAMBA_LIBS= smbclient msrpc smbsharemodes addns
+
+.PHONY: install-samba-lib-symlinks
+.for l in ${SAMBA_LIBS}
+. for NUM in MAJOR MINOR
+LIB${NUM}_cmd.${l}= ${AWK} -F= '/^LIB${l:tu}_${NUM}/ { print $$2; }' \
+ ${WRKSRC:Q}/Makefile.in
+LIB${NUM}.${l}= ${LIB${NUM}_cmd.${l}:sh}
+PLIST_SUBST+= LIB${NUM}.${l}=${LIB${NUM}.${l}}
+. endfor
+
+SAMBA_VERSIONS.${l}= ${LIBMAJOR.${l}} ${LIBMAJOR.${l}}.${LIBMINOR.${l}}
+
+.PHONY: install-samba-lib-symlinks-${l}
+install-samba-lib-symlinks: install-samba-lib-symlinks-${l}
+install-samba-lib-symlinks-${l}:
+ for v in ${SAMBA_VERSIONS.${l}}; do \
+ cd ${DESTDIR}${SAMBA_LIBDIR} && \
+ rm -f lib${l}.so.$$v && \
+ ln -s lib${l}.so lib${l}.so.$$v; \
+ done
+.endfor
+
+post-extract:
+ ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
+
+post-install: install-samba-lib-symlinks
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/js
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/include
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/images
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/js
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/include
+ ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/js
+ for d in idmap pdb rpc; do \
+ ${RMDIR} ${DESTDIR}${SAMBA_LIBDIR}/$$d; \
+ done
+ cd ${WRKDIR}/${DISTNAME}/docs/registry; for f in *.reg; do \
+ ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
+ done
+ ${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh ${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
+ ${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh ${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
+ cd ${WRKDIR}/${DISTNAME}/examples; \
+ ${INSTALL_DATA} LDAP/samba.schema ${DESTDIR}${PREFIX}/${EGDIR}; \
+ ${INSTALL_DATA} smb.conf.default ${DESTDIR}${PREFIX}/${EGDIR}
+ cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mknissmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
+ cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mknissmbpwdtbl.sh ${DESTDIR}${PREFIX}/${EGDIR}
+ cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mksmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
+ cd ${WRKSRC}/script; ${INSTALL_SCRIPT} updatesmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
+ ${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/include/libmsrpc.h \
+ ${DESTDIR}${PREFIX}/include/libsmbclient.h
+
+.include "../../security/openssl/buildlink3.mk"
+.include "../../devel/popt/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"