9f268faccc9d6e18afb8d87a66bdac47de1eefbb
[pkgsrc.git] / net / samba33 / Makefile
1 # $NetBSD: Makefile,v 1.9 2010/04/15 09:38:09 sborrill Exp $
2
3 .include "../../net/samba/Makefile.mirrors"
4
5 DISTNAME=               samba-${VERSION}
6 PKGREVISION=            1
7 CATEGORIES=             net
8 MASTER_SITES=           ${SAMBA_MIRRORS:=old-versions/}
9
10 MAINTAINER=             pkgsrc-users@NetBSD.org
11 HOMEPAGE=               http://www.samba.org/
12 COMMENT=                SMB/CIFS protocol server suite
13 LICENSE=                gnu-gpl-v3
14
15 VERSION=                3.3.12
16 CONFLICTS+=             ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]*   \
17                         winbind-[0-9]*
18 MAKE_JOBS_SAFE=         NO
19
20 PKG_DESTDIR_SUPPORT=    user-destdir
21
22 FILESDIR=               ${PKGDIR}/../samba/files
23 DESCR_SRC=              ${PKGDIR}/../samba/DESCR
24 MESSAGE_SRC=            ${PKGDIR}/../samba/MESSAGE
25 WRKSRC=                 ${WRKDIR}/${DISTNAME}/source
26 GNU_CONFIGURE=          yes
27 BUILD_DEFS+=            VARBASE
28 CHECK_WRKREF_SKIP=      *
29
30 .include "../../mk/bsd.prefs.mk"
31
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
43
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}
52
53 CONFIGURE_ARGS+=        --with-configdir=${SAMBA_ETCDIR:Q}
54 CONFIGURE_ARGS+=        --libdir=${SAMBA_LIBDIR: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}
62
63 CONFIGURE_ARGS+=        --with-mandir=${PREFIX:Q}/${PKGMANDIR:Q}
64 CONFIGURE_ARGS+=        --with-swatdir=${PREFIX:Q}/share/samba/swat
65
66 .include "../../converters/libiconv/buildlink3.mk"
67 CONFIGURE_ARGS+=        --with-libiconv=${BUILDLINK_PREFIX.iconv}
68
69 USE_GNU_READLINE=       yes
70 .include "../../devel/readline/buildlink3.mk"
71 CONFIGURE_ARGS+=        --with-readline=${BUILDLINK_PREFIX.readline}
72
73 .include "../../net/samba/options.mk"
74
75 # Only Linux supports mount.cifs for mounting a CIFS share into the
76 # filesystem.
77 #
78 PLIST_VARS+=            cifsmount
79 .if ${OPSYS} == "Linux"
80 CONFIGURE_ARGS+=        --with-cifsmount
81 PLIST.cifsmount=        yes
82 .endif
83
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.
86 #
87 USE_TOOLS+=             mktemp
88
89 # findsmb uses perl
90 #
91 USE_TOOLS+=             perl:run
92 REPLACE_PERL=           script/findsmb.in
93
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}
98 .endif
99 FILES_SUBST+=   MKTEMP=${MKTEMP:Q}
100 FILES_SUBST+=   PWD_MKDB=${PWD_MKDB:Q}
101
102 DOCDIR=         share/doc/${PKGBASE}
103 EGDIR=          share/examples/${PKGBASE}
104
105 INSTALLATION_DIRS+=     ${DOCDIR} ${EGDIR}
106
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}
112
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
122
123 post-extract:
124         ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
125
126 post-install:
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;             \
135         done
136         cd ${WRKDIR}/${DISTNAME}/docs/registry; for f in *.reg; do      \
137                 ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
138         done
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
149
150 .include "../../security/openssl/buildlink3.mk"
151 .include "../../devel/popt/buildlink3.mk"
152 .include "../../mk/bsd.pkg.mk"