Annotation of pkgsrc/net/samba4/Makefile, Revision 1.2
1.2 ! ryoon 1: # $NetBSD: Makefile,v 1.1 2015/05/12 12:19:52 ryoon Exp $
1.1 ryoon 2:
3: DISTNAME= samba-${VERSION}
4: CATEGORIES= net
5: MASTER_SITES= http://download.samba.org/pub/samba/
6:
7: MAINTAINER= pkgsrc-users@NetBSD.org
8: HOMEPAGE= http://www.samba.org/
9: COMMENT= SMB/CIFS protocol server suite
10: LICENSE= gnu-gpl-v3
11:
12: VERSION= 4.2.1
13: CONFLICTS+= ja-samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* winbind-[0-9]*
14:
15: BUILD_DEFS+= VARBASE
16:
17: .include "../../mk/bsd.prefs.mk"
18:
19: SMB_LIB?= ${PREFIX}/lib
20:
21: PKG_SYSCONFSUBDIR= samba
22: SMB_SHAREDSTATE?= ${PREFIX}/com
23: SMB_LOCALSTATE?= ${VARBASE}
24: SMB_INFO?= ${PREFIX}/info
25: SMB_MAN?= ${PREFIX}/${PKGMANDIR}
26: SMB_STATE?= ${VARBASE}/run
27: SMB_PRIVATE?= ${SMB_LIB}/samba/private
28: SMB_PID?= ${VARBASE}/run
29: SMB_CACHE?= ${VARBASE}/cache
30: SMB_LOCK?= ${VARBASE}/run
31: SMB_LOGFILEBASE?= ${VARBASE}/log
32: SMB_SOCKETS?= ${VARBASE}/run
33: SMB_MODULES?= ${SMB_LIB}/samba
34: SMB_PRIVATELIB?= ${SMB_LIB}/samba/private
35: SMB_PRIVSOCKETS?= ${VARBASE}/run
36: SMB_CONFIG?= ${PKG_SYSCONFDIR}
37: SMB_DATAROOT?= ${PREFIX}/share/samba
38: SMB_LOCALE?= ${PREFIX}/share/locale
39: SMB_DOC?= ${PREFIX}/share/doc/samba
40: SMB_PAMMODULES?= ${SMB_LIB}/samba/security
41:
42: FILES_SUBST+= SMB_CONFIG=${SMB_CONFIG}
43: FILES_SUBST+= SMB_PID=${SMB_PID}
44:
45: # mktemp is useful for the replacement adduser script, but don't require
46: # a full dependency since it's not actually needed by samba.
47: USE_TOOLS+= gmake mktemp perl:run
48:
49: REPLACE_PERL= script/findsmb.in
50:
51: USE_GNU_ICONV= yes # FIXME: something doesn't work on NetBSD
52:
53: # Debugging
54: #CONFIGURE_ARGS+= -vvv
55: #CONFIGURE_ARGS+= --enable-developer
56: #CONFIGURE_ARGS+= --fatal-errors
57:
58: HAS_CONFIGURE= yes
59: CONFIGURE_ENV+= XSLTPROC=${FALSE} # suppress generation of man pages
60: CONFIGURE_ARGS+= --libdir=${SAMBA_LIB}
61: CONFIG_SHELL= ${PYTHONBIN}
62: CONFIGURE_SCRIPT= ${WRKSRC}/buildtools/bin/waf
63: CONFIGURE_ARGS+= configure
64: CONFIGURE_ARGS+= --prefix=${PREFIX}
65: CONFIGURE_ARGS+= --infodir=${SMB_INFO}
66: CONFIGURE_ARGS+= --mandir=${SMB_MAN}
67: CONFIGURE_ARGS+= --datarootdir=${SMB_DATAROOT}
68: CONFIGURE_ARGS+= --localedir=${SMB_LOCALE}
69: CONFIGURE_ARGS+= --docdir=${SMB_DOC}
70: CONFIGURE_ARGS+= --with-statedir=${SMB_STATE}
71: CONFIGURE_ARGS+= --with-privatedir=${SMB_PRIVATE}
72: CONFIGURE_ARGS+= --with-piddir=${SMB_PID}
73: CONFIGURE_ARGS+= --with-cachedir=${SMB_CACHE}
74: CONFIGURE_ARGS+= --with-lockdir=${SMB_LOCK}
75: CONFIGURE_ARGS+= --with-logfilebase=${SMB_LOGFILEBASE}
76: CONFIGURE_ARGS+= --with-sockets-dir=${SMB_SOCKETS}
77: CONFIGURE_ARGS+= --with-modulesdir=${SMB_MODULES}
78: CONFIGURE_ARGS+= --with-privatelibdir=${SMB_PRIVATELIB}
79: CONFIGURE_ARGS+= --with-privileged-socket-dir=${SMB_PRIVSOCKETS}
80: CONFIGURE_ARGS+= --with-configdir=${SMB_CONFIG}
81: CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
82: CONFIGURE_ARGS+= --with-gettext=${BUILDLINK_PREFIX.gettext}
83: #CONFIGURE_ARGS+= --bundled-libraries=com_err
84: CONFIGURE_ARGS+= --enable-gnutls
85: CONFIGURE_ARGS+= --with-system-mitkrb5
86: CONFIGURE_ARGS+= --abi-check-disable
87: #CONFIGURE_ARGS+= --bundled-libraries=!crypto,ldb,ntdb,talloc,tdb,tevent
88: .if defined(MAKE_JOBS_SAFE) && !empty(MAKE_JOBS_SAFE:M[nN][oO])
89: CONFIGURE_ARGS+= --jobs=1
90: .else
91: CONFIGURE_ARGS+= --jobs=${MAKE_JOBS}
92: .endif
93:
1.2 ! ryoon 94: # for winbind option build.
1.1 ryoon 95: LDFLAGS+= -Wl,--allow-shlib-undefined
96: LDFLAGS+= ${COMPILER_RPATH_FLAG}${SMB_PRIVATELIB}
97:
98: .include "options.mk"
99:
100: PLIST_VARS+= macosx
101:
102: .if ${OPSYS} == "Darwin"
103: PLIST.macosx= yes
104: .endif
105:
106: .if ${_OPSYS_SHLIB_TYPE} == "dylib"
107: PLIST_SUBST+= LIBEXT=dylib
108: SAMBA_LIBEXT= dylib
109: .else
110: PLIST_SUBST+= LIBEXT=so
111: SAMBA_LIBEXT= so
112: .endif
113:
114: .if !defined(PWD_MKDB)
115: PWD_MKDB!= ${TYPE} pwd_mkdb 2>&1 | \
116: ${AWK} '/not found/ { print "pwd_mkdb"; exit } { print $$3 }'
117: MAKEFLAGS+= PWD_MKDB=${PWD_MKDB:Q}
118: .endif
119: FILES_SUBST+= MKTEMP=${MKTEMP:Q}
120: FILES_SUBST+= PWD_MKDB=${PWD_MKDB:Q}
121:
122: INSTALLATION_DIRS+= ${DOCDIR} ${EGDIR}
123:
124: DOCDIR= share/doc/${PKGBASE}
125: EGDIR= share/examples/${PKGBASE}
126: CONF_FILES= ${PREFIX}/${EGDIR}/smb.conf.default ${SMB_CONFIG}/smb.conf
127: OWN_DIRS_PERMS= ${SMB_PRIVATE} ${REAL_ROOT_USER} ${REAL_ROOT_GROUP} 0700
128: RCD_SCRIPTS+= samba nmbd smbd ${WINBINDD_RCD_SCRIPT}
129:
130: SUBST_CLASSES+= paths
131: SUBST_MESSAGE.paths= Fixing paths.
132: SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
133: SUBST_STAGE.paths= post-patch
134: SUBST_SED.paths+= -e 's,@AWK@,${AWK},g'
135: SUBST_SED.paths+= -e 's,@CAT@,${CAT},g'
136: SUBST_SED.paths+= -e 's,@MKTEMP@,${MKTEMP},g'
137: SUBST_SED.paths+= -e 's,@RM@,${RM},g'
138: SUBST_SED.paths+= -e 's,@PWD_MKDB@,${PWD_MKDB},g'
139: SUBST_SED.paths+= -e 's,@SH@,${SH},g'
140:
141: SUBST_CLASSES+= logpath
142: SUBST_MESSAGE.logpath= Fixing log path.
143: SUBST_FILES.logpath= examples/smb.conf.default
144: SUBST_STAGE.logpath= pre-configure
145: SUBST_SED.logpath+= -e 's,/usr/local/samba/var/log.%m,${SMB_LOGFILEBASE}/log.%m,g'
146:
147: post-extract:
148: ${CP} ${FILESDIR}/adduser.sh ${FILESDIR}/deluser.sh ${WRKDIR}
149:
150: post-install:
151: set -e ; cd ${WRKSRC}/docs-xml/registry; for f in *.reg; do \
152: ${INSTALL_DATA} $${f} ${DESTDIR}${PREFIX}/${DOCDIR}/$${f}; \
153: done
154: ${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh \
155: ${DESTDIR}${PREFIX}/${EGDIR}/adduser.sh
156: ${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh \
157: ${DESTDIR}${PREFIX}/${EGDIR}/deluser.sh
158: ${INSTALL_DATA} ${WRKSRC}/examples/LDAP/samba.schema \
159: ${DESTDIR}${PREFIX}/${EGDIR}
160: ${INSTALL_DATA} ${WRKSRC}/examples/smb.conf.default \
161: ${DESTDIR}${PREFIX}/${EGDIR}
162:
163: REPLACE_PERL= pidl/pidl
164: REPLACE_PYTHON= buildtools/bin/waf \
165: source4/setup/* \
166: source4/scripting/bin/* \
167: lib/subunit/python/subunit/run.py \
168: lib/subunit/python/subunit/tests/sample-script.py \
169: lib/subunit/python/subunit/tests/sample-two-script.py \
170: lib/tevent/tevent.py
171:
172: .include "../../lang/python/application.mk"
173:
174: PY_PATCHPLIST= yes
175: .include "../../lang/python/extension.mk"
176:
177: .if ${OPSYS} == "Linux"
178: .include "../../devel/libuuid/buildlink3.mk"
179: .endif
180: .include "../../converters/libiconv/buildlink3.mk"
181: .include "../../devel/gettext-lib/buildlink3.mk"
182: .include "../../devel/popt/buildlink3.mk"
183: .include "../../devel/readline/buildlink3.mk"
184: .include "../../devel/zlib/buildlink3.mk"
185: .include "../../security/gnutls/buildlink3.mk"
186: .include "../../security/mit-krb5/buildlink3.mk"
187: .include "../../mk/bsd.pkg.mk"
CVSweb <webmaster@jp.NetBSD.org>