138 lines
4.2 KiB
Bash
138 lines
4.2 KiB
Bash
# Template file for 'samba'
|
|
pkgname=samba
|
|
version=3.6.25
|
|
revision=15
|
|
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-static-libs=libtevent
|
|
--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
|
|
--sbindir=/usr/bin"
|
|
short_desc="SMB/CIFS file, print, and login server for Unix"
|
|
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
license="GPL-3"
|
|
homepage="http://www.samba.org"
|
|
distfiles="http://us1.samba.org/samba/ftp/stable/$pkgname-$version.tar.gz"
|
|
checksum=8f2c8a7f2bd89b0dfd228ed917815852f7c625b2bc0936304ac3ed63aaf83751
|
|
|
|
lib32disabled=yes
|
|
conf_files="/etc/pam.d/samba /etc/samba/smb.conf"
|
|
make_dirs="/etc/samba/private 0750 root root"
|
|
hostmakedepends="pkg-config perl python-devel"
|
|
makedepends="readline-devel libcap-devel popt-devel e2fsprogs-devel mit-krb5-devel
|
|
libldap-devel pam-devel acl-devel avahi-libs-devel tdb-devel talloc-devel cups-devel"
|
|
|
|
if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
|
|
makedepends+=" musl-legacy-compat"
|
|
fi
|
|
|
|
do_configure() {
|
|
sed -e 's,XFS_QUOTA_,FS_QUOTA_,g' -i lib/sysquotas_xfs.c
|
|
|
|
if [ "$CROSS_BUILD" ]; then
|
|
configure_args+=" samba_cv_CC_NEGATIVE_ENUM_VALUES=yes
|
|
libreplace_cv_HAVE_GETADDRINFO=no
|
|
libreplace_cv_HAVE_GETIFADDRS=yes
|
|
ac_cv_file__proc_sys_kernel_core_pattern=yes
|
|
ac_cv_func_ext_krb5_free_keytab_entry_contents=yes
|
|
samba_cv_HAVE_WRFILE_KEYTAB=yes
|
|
smb_krb5_cv_enctype_to_string_takes_size_t_arg=yes
|
|
smb_krb5_cv_enctype_to_string_takes_krb5_context_arg=yes"
|
|
fi
|
|
# Disable quotas, broken with musl (needs rpc).
|
|
./configure ${configure_args} --without-quotas
|
|
}
|
|
post_install() {
|
|
cd ${wrksrc}
|
|
# conf file
|
|
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*
|
|
rm -f ${DESTDIR}/usr/lib/libtevent*
|
|
rm -f ${DESTDIR}/usr/include/samba/tevent*
|
|
|
|
vsv nmbd
|
|
vsv smbd
|
|
|
|
# PAM support
|
|
vinstall ${FILESDIR}/samba.pam 644 etc/pam.d samba
|
|
|
|
# Install pkg-config files.
|
|
vmkdir usr/lib/pkgconfig
|
|
install -m644 source3/pkgconfig/*.pc ${DESTDIR}/usr/lib/pkgconfig
|
|
|
|
# Link cups backend
|
|
vmkdir usr/lib/cups/backend
|
|
ln -s /usr/bin/smbspool ${DESTDIR}/usr/lib/cups/backend/smb
|
|
}
|
|
|
|
smbclient_package() {
|
|
short_desc="Command-line SMB/CIFS clients for Unix"
|
|
pkg_install() {
|
|
vmove usr/share/man/man1
|
|
|
|
# Determine which binaries are client and which are server
|
|
# by looking at manpage suffix, and vmove the client
|
|
# binaries. Ugly.
|
|
for f in "$PKGDESTDIR"/usr/share/man/man1/*.1; do
|
|
g=$(basename "${f}" .1)
|
|
if [ -e "${DESTDIR}/usr/bin/${g}" ]; then
|
|
vmove usr/bin/${g}
|
|
fi
|
|
done
|
|
}
|
|
}
|
|
libsmbclient_package() {
|
|
short_desc="Shared libraries for communication with SMB/CIFS servers"
|
|
pkg_install() {
|
|
vmove "usr/lib/libwbclient.so.*"
|
|
vmove "usr/lib/libsmbclient.so.*"
|
|
vmove usr/share/man/man7/libsmbclient.7
|
|
}
|
|
}
|
|
samba-devel_package() {
|
|
depends="libsmbclient>=${version}_${revision}"
|
|
short_desc+=" - development files"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove usr/lib/pkgconfig
|
|
vmove usr/lib/libwbclient.so
|
|
vmove usr/lib/libsmbclient.so
|
|
}
|
|
}
|
|
|
|
samba-cups_package() {
|
|
depends="${sourcepkg}-${version}_${revision}"
|
|
short_desc="SMB backend for cups"
|
|
pkg_install() {
|
|
vmove usr/lib/cups/backend/smb
|
|
}
|
|
}
|