Merge from vendor branch TNF:
[pkgsrcv2.git] / net / samba / Makefile
1 # $NetBSD: Makefile,v 1.216 2012/02/01 08:30:39 sbd Exp $
2
3 .include "../../net/samba/Makefile.mirrors"
4
5 DISTNAME=       samba-${VERSION}
6 PKGREVISION=    7
7 CATEGORIES=     net
8 MASTER_SITES=   ${SAMBA_MIRRORS:=stable/}
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.6.3
16 CONFLICTS+=     ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* winbind-[0-9]*
17
18 PKG_DESTDIR_SUPPORT=    user-destdir
19
20 FILESDIR=               ${PKGDIR}/../../net/samba/files
21 DESCR_SRC=              ${PKGDIR}/../../net/samba/DESCR
22 MESSAGE_SRC=            ${PKGDIR}/../../net/samba/MESSAGE
23 WRKSRC=                 ${WRKDIR}/${DISTNAME}/source3
24 BUILD_DEFS+=            VARBASE
25
26 .include "../../mk/bsd.prefs.mk"
27
28 PKG_SYSCONFSUBDIR=      samba
29 SAMBA_ETCDIR?=          ${PKG_SYSCONFDIR}
30 SAMBA_LIBDIR?=          ${PREFIX}/lib
31 SAMBA_LOCKDIR?=         ${SAMBA_VARDIR}/run/samba
32 SAMBA_LOGDIR?=          ${SAMBA_VARDIR}/log
33 SAMBA_MODULESDIR?=      ${SAMBA_LIBDIR}/samba
34 SAMBA_PIDDIR?=          ${SAMBA_VARDIR}/run
35 SAMBA_PRIVATE?=         ${SAMBA_ETCDIR}/private
36 SAMBA_STATEDIR?=        ${SAMBA_VARDIR}/db/samba
37 SAMBA_VARDIR?=          ${VARBASE}
38 WINBINDD_RCD_SCRIPT=    # empty
39
40 FILES_SUBST+=           SAMBA_ETCDIR=${SAMBA_ETCDIR}
41 FILES_SUBST+=           SAMBA_LOCKDIR=${SAMBA_LOCKDIR}
42 FILES_SUBST+=           SAMBA_LOGDIR=${SAMBA_LOGDIR}
43 FILES_SUBST+=           SAMBA_PIDDIR=${SAMBA_PIDDIR}
44 FILES_SUBST+=           SAMBA_PRIVATE=${SAMBA_PRIVATE:Q}
45 FILES_SUBST+=           SAMBA_STATEDIR=${SAMBA_STATEDIR}
46 FILES_SUBST+=           SAMBA_VARDIR=${SAMBA_VARDIR}
47 FILES_SUBST+=           WINBINDD_RCD_SCRIPT=${WINBINDD_RCD_SCRIPT:Q}
48
49 # mktemp is useful for the replacement adduser script, but don't require
50 # a full dependency since it's not actually needed by samba.
51 USE_TOOLS+=             gmake mktemp perl:run
52 REPLACE_PERL=           script/findsmb.in
53
54 BROKEN_GETTEXT_DETECTION=yes
55 USE_GNU_READLINE=       yes
56 GNU_CONFIGURE=          yes
57 GNU_CONFIGURE_LIBDIR=   ${SAMBA_LIBDIR}
58 CONFIGURE_ARGS+=        --with-libiconv=${BUILDLINK_PREFIX.iconv}
59 CONFIGURE_ARGS+=        --with-readline=${BUILDLINK_PREFIX.readline}
60 CONFIGURE_ARGS+=        --with-configdir=${SAMBA_ETCDIR}
61 CONFIGURE_ARGS+=        --with-lockdir=${SAMBA_LOCKDIR}
62 CONFIGURE_ARGS+=        --with-logfilebase=${SAMBA_LOGDIR}
63 CONFIGURE_ARGS+=        --with-modulesdir=${SAMBA_MODULESDIR}
64 CONFIGURE_ARGS+=        --with-piddir=${SAMBA_PIDDIR}
65 CONFIGURE_ARGS+=        --with-privatedir=${SAMBA_PRIVATE:Q}
66 CONFIGURE_ARGS+=        --with-statedir=${SAMBA_STATEDIR}
67 CONFIGURE_ARGS+=        --localstatedir=${SAMBA_VARDIR}
68 CONFIGURE_ARGS+=        --with-mandir=${PREFIX}/${PKGMANDIR}
69 CONFIGURE_ARGS+=        --with-swatdir=${PREFIX}/share/samba/swat
70 #
71 # Explicitly disable samba4 merged-build option which is broken.
72 #
73 CONFIGURE_ARGS+=        --enable-merged-build=no
74
75 .include "../../net/samba/options.mk"
76
77 PLIST_VARS+=            macosx
78
79 .if ${OPSYS} == "Darwin"
80 PLIST.macosx=           yes
81 .endif
82
83 .if ${_OPSYS_SHLIB_TYPE} == "dylib"
84 PLIST_SUBST+=   LIBEXT=dylib
85 SAMBA_LIBEXT=   dylib
86 .else
87 PLIST_SUBST+=   LIBEXT=so
88 SAMBA_LIBEXT=   so
89 .endif
90
91 .if !defined(PWD_MKDB)
92 PWD_MKDB!=      ${TYPE} pwd_mkdb 2>&1 | \
93                 ${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
94 MAKEFLAGS+=     PWD_MKDB=${PWD_MKDB:Q}
95 .endif
96 FILES_SUBST+=   MKTEMP=${MKTEMP:Q}
97 FILES_SUBST+=   PWD_MKDB=${PWD_MKDB:Q}
98
99 .if ${OPSYS} == "NetBSD"
100 .  if !empty(PKG_OPTIONS:Mwinbind)
101 # Install a /usr/lib/nss_winbind.so.0 -> ${PREFIX}/lib/nss_winbind.so.0 symlink
102 INSTALL_TEMPLATES+=     INSTALL.nss_winbind
103 .  endif
104 .endif
105
106 INSTALLATION_DIRS+=     ${DOCDIR} ${EGDIR}
107
108 DOCDIR=         share/doc/${PKGBASE}
109 EGDIR=          share/examples/${PKGBASE}
110 CONF_FILES=     ${PREFIX}/${EGDIR}/smb.conf.default ${SAMBA_ETCDIR}/smb.conf
111 MAKE_DIRS=      ${SAMBA_VARDIR} ${SAMBA_LOGDIR} ${SAMBA_PIDDIR}
112 OWN_DIRS=       ${SAMBA_ETCDIR} ${SAMBA_LOCKDIR} ${SAMBA_STATEDIR}
113 OWN_DIRS_PERMS= ${SAMBA_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
114 RCD_SCRIPTS+=   samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
115
116 SUBST_CLASSES+=         paths
117 SUBST_MESSAGE.paths=    Fixing paths.
118 SUBST_FILES.paths=      ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
119 SUBST_STAGE.paths=      post-patch
120 SUBST_SED.paths+=       -e 's,@AWK@,${AWK},g'
121 SUBST_SED.paths+=       -e 's,@CAT@,${CAT},g'
122 SUBST_SED.paths+=       -e 's,@MKTEMP@,${MKTEMP},g'
123 SUBST_SED.paths+=       -e 's,@RM@,${RM},g'
124 SUBST_SED.paths+=       -e 's,@PWD_MKDB@,${PWD_MKDB},g'
125 SUBST_SED.paths+=       -e 's,@SH@,${SH},g'
126
127 post-extract:
128         ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
129
130 post-install:
131         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/js
132         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/include
133         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/images
134         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/ja/js
135         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/include
136         ${RMDIR} ${DESTDIR}${PREFIX}/share/samba/swat/lang/tr/js
137         ${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/gpext
138         ${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/nss_info
139         ${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/pdb
140         ${RMDIR} ${DESTDIR}${SAMBA_MODULESDIR}/perfcount
141         set -e ; cd ${WRKDIR}/${DISTNAME}/docs/registry; for f in *.reg; do \
142                 ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
143         done
144         ${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh \
145                 ${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
146         ${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh \
147                 ${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
148         ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/examples/LDAP/samba.schema \
149                 ${DESTDIR}${PREFIX}/${EGDIR}
150         ${INSTALL_DATA} ${WRKDIR}/${DISTNAME}/examples/smb.conf.default \
151                 ${DESTDIR}${PREFIX}/${EGDIR}
152         ${INSTALL_SCRIPT} ${WRKSRC}/script/mknissmbpasswd.sh \
153                 ${DESTDIR}${PREFIX}/${EGDIR}
154         ${INSTALL_SCRIPT} ${WRKSRC}/script/mknissmbpwdtbl.sh \
155                 ${DESTDIR}${PREFIX}/${EGDIR}
156         ${INSTALL_SCRIPT} ${WRKSRC}/script/mksmbpasswd.sh \
157                 ${DESTDIR}${PREFIX}/${EGDIR}
158         ${INSTALL_SCRIPT} ${WRKSRC}/script/updatesmbpasswd.sh \
159                 ${DESTDIR}${PREFIX}/${EGDIR}
160         ${CHMOD} ${SHAREMODE} ${DESTDIR}${PREFIX}/include/*.h
161
162 .if ${OPSYS} == "Linux"
163 .include "../../devel/libuuid/buildlink3.mk"
164 .endif
165 .include "../../converters/libiconv/buildlink3.mk"
166 .include "../../devel/gettext-lib/buildlink3.mk"
167 .include "../../devel/popt/buildlink3.mk"
168 .include "../../devel/readline/buildlink3.mk"
169 .include "../../devel/zlib/buildlink3.mk"
170 .include "../../security/openssl/buildlink3.mk"
171 .include "../../mk/bsd.pkg.mk"