212 lines
6.7 KiB
Makefile
212 lines
6.7 KiB
Makefile
# $NetBSD: Makefile,v 1.49 2006/10/14 08:07:06 wiz Exp $
|
|
|
|
DISTNAME= samba-${SAMBA_VERSION}-ja-${JA_VERSION}
|
|
PKGNAME= ja-samba-${SAMBA_VERSION}.${JA_PKG_VERSION}
|
|
CATEGORIES= net
|
|
MASTER_SITES= ${JA_SAMBA_MASTER_SITES:S/$/beta\//}
|
|
EXTRACT_SUFX= .tar.bz2
|
|
|
|
MAINTAINER= tech-pkg-ja@jp.NetBSD.org
|
|
HOMEPAGE= http://www.samba.gr.jp/project/samba-ja/index.html.en
|
|
COMMENT= Samba supporting I18N swat and L10N for Japanese
|
|
|
|
CONFLICTS+= samba-[0-9]* pam-smbpass-[0-9]* tdb-[0-9]* winbind-[0-9]*
|
|
WRKSRC?= ${WRKDIR}/${DISTNAME}/source
|
|
GNU_CONFIGURE= yes
|
|
|
|
SAMBA_VERSION= 2.2.12
|
|
JA_VERSION= 1.0beta1
|
|
JA_PKG_VERSION= 0.9.1
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
PKG_SYSCONFSUBDIR?= samba
|
|
PKG_SYSCONFVAR= samba
|
|
|
|
SAMBA_USER?= samba
|
|
SAMBA_GROUP?= samba
|
|
|
|
SAMBA_ETCDIR?= ${PKG_SYSCONFDIR}
|
|
SAMBA_LIBDIR?= ${PREFIX}/lib/samba
|
|
SAMBA_LOCKDIR?= ${SAMBA_VARDIR}/db/samba
|
|
SAMBA_LOGDIR?= ${SAMBA_VARDIR}/log
|
|
SAMBA_PIDDIR?= ${SAMBA_VARDIR}/run
|
|
SAMBA_PRIVATE?= ${SAMBA_ETCDIR}/private
|
|
SAMBA_VARDIR?= ${VARBASE}
|
|
BUILD_DEFS+= SAMBA_ETCDIR SAMBA_LIBDIR SAMBA_LOCKDIR SAMBA_LOGDIR
|
|
BUILD_DEFS+= SAMBA_PIDDIR SAMBA_PRIVATE SAMBA_VARDIR VARBASE
|
|
|
|
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_VARDIR=${SAMBA_VARDIR: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+= --localstatedir=${SAMBA_VARDIR:Q}
|
|
|
|
CONFIGURE_ARGS+= --with-codepagedir=${SAMBA_LIBDIR}/codepages
|
|
CONFIGURE_ARGS+= --with-swatdir=${PREFIX}/share/samba/swat
|
|
CONFIGURE_ARGS+= --with-libsmbclient
|
|
CONFIGURE_ARGS+= --with-msdfs
|
|
CONFIGURE_ARGS+= --with-winbind
|
|
|
|
CONFIGURE_ARGS+= --with-i18n-swat
|
|
|
|
.include "../../converters/libiconv/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --with-libiconv=${BUILDLINK_PREFIX.iconv}
|
|
|
|
## Force the use of the included gettext library this doesn't seem to link
|
|
## with the gettext-lib package.
|
|
##
|
|
CONFIGURE_ARGS+= --with-included-gettext
|
|
|
|
USE_GNU_READLINE= yes # uses rl_event_hook interface to GNU readline
|
|
.include "../../devel/readline/buildlink3.mk"
|
|
CONFIGURE_ARGS+= --with-readline=${BUILDLINK_PREFIX.readline}
|
|
|
|
CONFIGURE_ENV+= ac_cv_lib_curses_tgetent=no
|
|
|
|
.include "options.mk"
|
|
|
|
# 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 script use perl
|
|
#
|
|
USE_TOOLS+= perl
|
|
|
|
.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}
|
|
|
|
.if !empty(NSS_WINBIND)
|
|
PLIST_SUBST+= NSS_WINBIND=lib/${NSS_WINBIND}
|
|
.else
|
|
PLIST_SUBST+= NSS_WINBIND="@comment no NSS winbind module"
|
|
.endif
|
|
.if !empty(NSS_WINS)
|
|
PLIST_SUBST+= NSS_WINS=lib/${NSS_WINS}
|
|
.else
|
|
PLIST_SUBST+= NSS_WINS="@comment no NSS WINS module"
|
|
.endif
|
|
|
|
DOCDIR= ${PREFIX}/share/doc/samba
|
|
EGDIR= ${PREFIX}/share/examples/samba
|
|
|
|
USE_PKGLOCALEDIR= YES
|
|
USE_LIBTOOL= yes
|
|
SHLIBTOOL_OVERRIDE= # empty
|
|
|
|
CONF_FILES= ${EGDIR}/smb.conf.default ${SAMBA_ETCDIR}/smb.conf
|
|
CONF_FILES_PERMS+= ${EGDIR}/adduser.sh ${SAMBA_ETCDIR}/adduser \
|
|
${ROOT_USER} ${ROOT_GROUP} 0555
|
|
CONF_FILES_PERMS+= ${EGDIR}/deluser.sh ${SAMBA_ETCDIR}/deluser \
|
|
${ROOT_USER} ${ROOT_GROUP} 0555
|
|
#CONF_FILES_PERMS= ${SMBPASSWD_FILE}
|
|
MAKE_DIRS= ${SAMBA_VARDIR} ${SAMBA_LOGDIR} ${SAMBA_PIDDIR}
|
|
OWN_DIRS= ${SAMBA_ETCDIR} ${SAMBA_LOCKDIR}
|
|
OWN_DIRS_PERMS= ${SAMBA_PRIVATE} ${ROOT_USER} ${ROOT_GROUP} 0500
|
|
RCD_SCRIPTS= samba nmbd smbd winbindd
|
|
|
|
PKG_GROUPS= ${SAMBA_GROUP}
|
|
PKG_USERS= ${SAMBA_USER}:${SAMBA_GROUP}
|
|
|
|
PKG_GECOS.${SAMBA_USER}= Samba pseudo-user
|
|
|
|
BUILD_DEFS+= SAMBA_USER SAMBA_GROUP
|
|
MAKE_FLAGS+= CFLAGS='-DGUEST_ACCOUNT=\"${SAMBA_USER:Q}\"'
|
|
|
|
INSTALL_LIBRARY= \
|
|
${INSTALL} ${COPY} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
|
|
|
|
MESSAGE_SUBST+= SAMBA_PRIVATE=${SAMBA_PRIVATE}
|
|
MESSAGE_SUBST+= ROOT_GROUP=${ROOT_GROUP}
|
|
MESSAGE_SUBST+= ROOT_USER=${ROOT_USER}
|
|
|
|
# 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
|
|
|
|
.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}
|
|
|
|
REPLACE_PERL= script/findsmb.in
|
|
|
|
SUBST_CLASSES+= paths
|
|
SUBST_STAGE.paths= post-patch
|
|
SUBST_FILES.paths= ${WRKDIR}/adduser.sh ${WRKDIR}/deluser.sh
|
|
SUBST_SED.paths= -e 's,@AWK@,${AWK},g'
|
|
SUBST_SED.paths+= -e 's,@CAT@,${CAT},g'
|
|
SUBST_SED.paths+= -e 's,@MKTEMP@,${MKTEMP},g'
|
|
SUBST_SED.paths+= -e 's,@RM@,${RM},g'
|
|
SUBST_SED.paths+= -e 's,@PWD_MKDB@,${PWD_MKDB},g'
|
|
SUBST_SED.paths+= -e 's,@SH@,${SH},g'
|
|
|
|
INSTALLATION_DIRS+= bin include lib
|
|
|
|
# Remove irrelevant files for this package.
|
|
post-extract:
|
|
${FIND} ${WRKDIR}/${DISTNAME} -name ".cvsignore" -print | \
|
|
${XARGS} ${RM} -f
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/docs/textdocs/outdated
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/VFS
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/appliance
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/autofs
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/dce-dfs
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/libsmbclient
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/smbchartool
|
|
${RM} -r ${WRKDIR}/${DISTNAME}/examples/svr4-startup
|
|
${CP} ${FILESDIR}/adduser.sh ${WRKDIR}/adduser.sh
|
|
${CP} ${FILESDIR}/deluser.sh ${WRKDIR}/deluser.sh
|
|
|
|
post-install:
|
|
cd ${PREFIX}/lib && ${LN} -s libsmbclient.so libsmbclient.so.0 || ${TRUE}
|
|
.if !empty(NSS_WINBIND)
|
|
${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/${NSS_WINBIND} ${PREFIX}/lib
|
|
.endif
|
|
.if !empty(PKG_OPTIONS:Mpam)
|
|
${INSTALL_LIB_DIR} ${PREFIX}/lib/security
|
|
${INSTALL_LIBRARY} ${WRKSRC}/bin/pam_smbpass.so ${PREFIX}/lib/security
|
|
${INSTALL_LIBRARY} ${WRKSRC}/nsswitch/pam_winbind.so \
|
|
${PREFIX}/lib/security
|
|
.endif
|
|
${INSTALL_DATA_DIR} ${DOCDIR}
|
|
cd ${WRKDIR}/${DISTNAME}/docs; \
|
|
for f in announce textdocs/* Registry/*.reg; do \
|
|
${INSTALL_DATA} $${f} ${DOCDIR}; \
|
|
done
|
|
|
|
# Install Samba examples.
|
|
${INSTALL_DATA_DIR} ${EGDIR}
|
|
${INSTALL_SCRIPT} ${WRKDIR}/adduser.sh ${EGDIR}/adduser.sh
|
|
${INSTALL_SCRIPT} ${WRKDIR}/deluser.sh ${EGDIR}/deluser.sh
|
|
cd ${WRKDIR}/${DISTNAME}/examples && pax -wr -pp . ${EGDIR}
|
|
${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${EGDIR}
|
|
${CHMOD} -R ugo-w ${EGDIR}
|
|
|
|
${INSTALL_SCRIPT} ${WRKSRC}/script/convert_smbpasswd \
|
|
${EGDIR}/misc
|
|
${INSTALL_SCRIPT} ${WRKSRC}/script/mksmbpasswd.sh \
|
|
${PREFIX}/sbin/mksmbpasswd
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|