1 # $NetBSD: Makefile,v 1.18 2012/02/01 08:14:47 sbd Exp $
3 .include "../../net/samba/Makefile.mirrors"
5 DISTNAME= samba-${VERSION}
8 MASTER_SITES= ${SAMBA_MIRRORS:=old-versions/}
10 MAINTAINER= pkgsrc-users@NetBSD.org
11 HOMEPAGE= http://www.samba.org/
12 COMMENT= SMB/CIFS protocol server suite
16 CONFLICTS+= ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* \
20 PKG_DESTDIR_SUPPORT= user-destdir
22 FILESDIR= ${PKGDIR}/../samba/files
23 DESCR_SRC= ${PKGDIR}/../samba/DESCR
24 MESSAGE_SRC= ${PKGDIR}/../samba/MESSAGE
25 WRKSRC= ${WRKDIR}/${DISTNAME}/source
30 .include "../../mk/bsd.prefs.mk"
32 PKG_SYSCONFSUBDIR?= samba
33 SAMBA_ETCDIR?= ${PKG_SYSCONFDIR}
34 SAMBA_LIBDIR?= ${PREFIX}/lib
35 SAMBA_LOCKDIR?= ${SAMBA_VARDIR}/run/samba
36 SAMBA_LOGDIR?= ${SAMBA_VARDIR}/log
37 SAMBA_MODULESDIR?= ${SAMBA_LIBDIR}/samba
38 SAMBA_PIDDIR?= ${SAMBA_VARDIR}/run
39 SAMBA_PRIVATE?= ${SAMBA_ETCDIR}/private
40 SAMBA_STATEDIR?= ${SAMBA_VARDIR}/db/samba
41 SAMBA_VARDIR?= ${VARBASE}
42 WINBINDD_RCD_SCRIPT= # empty
44 FILES_SUBST+= SAMBA_ETCDIR=${SAMBA_ETCDIR:Q}
45 FILES_SUBST+= SAMBA_LOCKDIR=${SAMBA_LOCKDIR:Q}
46 FILES_SUBST+= SAMBA_LOGDIR=${SAMBA_LOGDIR:Q}
47 FILES_SUBST+= SAMBA_PIDDIR=${SAMBA_PIDDIR:Q}
48 FILES_SUBST+= SAMBA_PRIVATE=${SAMBA_PRIVATE:Q}
49 FILES_SUBST+= SAMBA_STATEDIR=${SAMBA_STATEDIR:Q}
50 FILES_SUBST+= SAMBA_VARDIR=${SAMBA_VARDIR:Q}
51 FILES_SUBST+= WINBINDD_RCD_SCRIPT=${WINBINDD_RCD_SCRIPT:Q}
53 GNU_CONFIGURE_LIBDIR= ${SAMBA_LIBDIR}
54 CONFIGURE_ARGS+= --with-configdir=${SAMBA_ETCDIR:Q}
55 CONFIGURE_ARGS+= --with-lockdir=${SAMBA_LOCKDIR:Q}
56 CONFIGURE_ARGS+= --with-logfilebase=${SAMBA_LOGDIR:Q}
57 CONFIGURE_ARGS+= --with-modulesdir=${SAMBA_MODULESDIR:Q}
58 CONFIGURE_ARGS+= --with-piddir=${SAMBA_PIDDIR:Q}
59 CONFIGURE_ARGS+= --with-privatedir=${SAMBA_PRIVATE:Q}
60 CONFIGURE_ARGS+= --with-statedir=${SAMBA_STATEDIR:Q}
61 CONFIGURE_ARGS+= --localstatedir=${SAMBA_VARDIR:Q}
63 CONFIGURE_ARGS+= --with-mandir=${PREFIX:Q}/${PKGMANDIR:Q}
64 CONFIGURE_ARGS+= --with-swatdir=${PREFIX:Q}/share/samba/swat
66 .include "../../converters/libiconv/buildlink3.mk"
67 CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
70 .include "../../devel/readline/buildlink3.mk"
71 CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}
75 # Only Linux supports mount.cifs for mounting a CIFS share into the
78 PLIST_VARS+= cifsmount
79 .if ${OPSYS} == "Linux"
80 CONFIGURE_ARGS+= --with-cifsmount
84 # mktemp is useful for the replacement adduser script, but don't require
85 # a full dependency since it's not actually needed by samba.
92 REPLACE_PERL= script/findsmb.in
94 .if !defined(PWD_MKDB)
95 PWD_MKDB!= ${TYPE} pwd_mkdb 2>&1 | \
96 ${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
97 MAKEFLAGS+= PWD_MKDB=${PWD_MKDB:Q}
99 FILES_SUBST+= MKTEMP=${MKTEMP:Q}
100 FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q}
102 DOCDIR= share/doc/${PKGBASE}
103 EGDIR= share/examples/${PKGBASE}
105 INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
107 CONF_FILES= ${PREFIX}/${EGDIR}/smb.conf.default ${SAMBA_ETCDIR}/smb.conf
108 MAKE_DIRS= ${SAMBA_VARDIR} ${SAMBA_LOGDIR} ${SAMBA_PIDDIR}
109 OWN_DIRS= ${SAMBA_ETCDIR} ${SAMBA_LOCKDIR} ${SAMBA_STATEDIR}
110 OWN_DIRS_PERMS= ${SAMBA_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
111 RCD_SCRIPTS+= samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
113 SUBST_CLASSES+= paths
114 SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
115 SUBST_SED.paths+= -e 's,@AWK@,${AWK},g'
116 SUBST_SED.paths+= -e 's,@CAT@,${CAT},g'
117 SUBST_SED.paths+= -e 's,@MKTEMP@,${MKTEMP},g'
118 SUBST_SED.paths+= -e 's,@RM@,${RM},g'
119 SUBST_SED.paths+= -e 's,@PWD_MKDB@,${PWD_MKDB},g'
120 SUBST_SED.paths+= -e 's,@SH@,${SH},g'
121 SUBST_STAGE.paths= post-patch
124 ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
127 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/js
128 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/include
129 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/images
130 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/js
131 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/include
132 ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/js
133 for d in gpext idmap pdb rpc; do \
134 ${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/$$d; \
136 cd ${WRKDIR}/${DISTNAME}/docs/registry; for f in *.reg; do \
137 ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
139 ${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh ${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
140 ${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh ${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
141 cd ${WRKDIR}/${DISTNAME}/examples; \
142 ${INSTALL_DATA} LDAP/samba.schema ${DESTDIR}${PREFIX}/${EGDIR}; \
143 ${INSTALL_DATA} smb.conf.default ${DESTDIR}${PREFIX}/${EGDIR}
144 cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mknissmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
145 cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mknissmbpwdtbl.sh ${DESTDIR}${PREFIX}/${EGDIR}
146 cd ${WRKSRC}/script; ${INSTALL_SCRIPT} mksmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
147 cd ${WRKSRC}/script; ${INSTALL_SCRIPT} updatesmbpasswd.sh ${DESTDIR}${PREFIX}/${EGDIR}
148 ${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/include/*.h
150 .include "../../security/openssl/buildlink3.mk"
151 .include "../../devel/popt/buildlink3.mk"
152 .include "../../mk/bsd.pkg.mk"