# Template file for 'samba'
pkgname=samba
version=3.6.8
revision=1
build_wrksrc=source3
build_style=gnu-configure
configure_args="--with-fhs --with-pam --with-pam_smbpass --with-ldap
--with-configdir=/etc/samba --with-lockdir=/var/samba
--with-cachedir=/var/samba --with-nmbdsocketdir=/run/samba/socket
--with-statedir=/var/samba --with-piddir=/run/samba --with-dnsupdate
--with-pammodulesdir=/usr/lib/security --with-automount --disable-swat
--with-syslog --enable-external-libtalloc --with-quotas --enable-cups
--enable-external-libtdb --disable-fam --with-ads --with-acl-support
--with-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash,idmap_tdb2"
depends="smbclient libsmbclient>=$version"
makedepends="perl readline-devel python-devel libcap-devel popt-devel
e2fsprogs-devel mit-krb5-devel>=1.10.1 libldap-devel pam-devel acl-devel
avahi-libs-devel tdb-devel talloc-devel cups-devel"
short_desc="SMB/CIFS file, print, and login server for Unix"
maintainer="Juan RP <xtraeme@gmail.com>"
license="GPL-3"
homepage="http://www.samba.org"
distfiles="http://us1.samba.org/samba/ftp/stable/$pkgname-$version.tar.gz"
checksum=4f5a171a8d902c6b4f822ed875c51eb8339196d9ccf0ecd7f6521c966b3514de
long_desc="
 Samba is an implementation of the SMB/CIFS protocol for Unix systems,
 providing support for cross-platform file and printer sharing with Microsoft
 Windows, OS X, and other Unix systems. Samba can also function as an
 NT4-style domain controller, and can integrate with both NT4 domains and
 Active Directory realms as a member server."

subpackages="smbclient libsmbclient samba-devel"

# Don't restart services automatically.
systemd_services="
nmbd.service off
smbd.service off
winbindd.service off"

make_dirs="
/etc/samba/private      0700    root    root
/var/samba              0750    root    root
/var/spool/samba        1777    root    root
/var/log/samba          0750    root    root"

conf_files="/etc/samba/smb.conf /etc/pam.d/samba"

post_install() {
	# conf file
	cd ${wrksrc}
	cat examples/smb.conf.default | \
		sed 's|log file = .*$|log file = /var/log/samba/%m.log|g' > \
		${DESTDIR}/etc/samba/smb.conf

	# fix logrotate
	sed -i -e 's|log.%m|%m.log|g' ${DESTDIR}/etc/samba/smb.conf

	# fix spool directory
	sed -i 's|/usr/spool/samba|/var/spool/samba|g' \
		${DESTDIR}/etc/samba/smb.conf

	# nsswitch libraries
	vinstall nsswitch/libnss_wins.so 755 usr/lib
	ln -s libnss_wins.so ${DESTDIR}/usr/lib/libnss_wins.so.2

	vinstall nsswitch/libnss_winbind.so 755 usr/lib
	ln -s libnss_winbind.so ${DESTDIR}/usr/lib/libnss_winbind.so.2

	# winbind krb5 locator
	vinstall source3/bin/winbind_krb5_locator.so 755 \
		usr/lib/krb5/plugins/libkrb5

	# Remove unused manpages
	rm -f ${DESTDIR}/usr/share/man/man8/tdb*
	rm -f ${DESTDIR}/usr/share/man/man8/swat*

	# systemd units
	for f in nmbd smbd winbindd; do
		vinstall ${FILESDIR}/${f}.service 644 usr/lib/systemd/system
	done
	# systemd tmpfiles
	vinstall ${FILESDIR}/samba.tmpfiles 644 usr/lib/tmpfiles.d samba.conf

	# PAM support
	vinstall ${FILESDIR}/samba.pam 644 etc/pam.d samba

	# logrotate file
	vinstall ${FILESDIR}/samba.logrotate 644 etc/logrotate.d samba
}
