# Maintainer: Garrett L. Ward pkgbase=samba pkgname=('tdb' 'smbclient' 'samba') pkgver=3.5.2 # We use the 'A' to fake out pacman's version comparators. Samba chooses # to append 'a','b',etc to their subsequent releases, which pamcan # misconstrues as alpha, beta, etc. Bad samba! _realver=3.5.2 pkgrel=1 arch=(arm) url="http://www.samba.org" license=('GPL3') makedepends=('db>=4.7' 'popt' 'libcups' 'acl' 'libldap' 'libcap>=2.16' 'heimdal>=1.3.1' 'pam' 'fam' 'gnutls>=2.4.1') options=(!makeflags) source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz samba samba.logrotate swat.xinetd samba.pam samba.conf.d fix-ipv6-mount.patch) ### UNINSTALL dmapi package before building!!! build() { cd ${srcdir}/${pkgbase}-${_realver} patch -Np0 -i ../fix-ipv6-mount.patch || return 1 cd ${srcdir}/${pkgbase}-${_realver}/source3 # heimdal-1.3.1 build fix sed -i "/KRB5_DEPRECATED/s#1##" libsmb/clikrb5.c ./configure --prefix=/usr \ --libdir=/usr/lib/ \ --localstatedir=/var \ --with-configdir=/etc/samba \ --with-lockdir=/var/cache/samba \ --with-piddir=/var/run/samba \ --with-fhs \ --with-pam \ --with-pam_smbpass \ --with-pammodulesdir=/lib/security \ --with-ads \ --with-acl-support \ --with-cifsmount \ --with-libsmbclient \ --with-syslog \ --disable-dnssd \ --disable-avahi \ --with-cifsumount make || return 1 } package_tdb () { pkgdesc="A Trivia Database similar to GDBM but allows simultaneous commits" cd ${srcdir}/${pkgbase}-${_realver}/lib/replace ./autogen.sh ./configure --prefix=/usr make || return 1 cp replace.o snprintf.o getpass.o ../tdb/ cd ${srcdir}/${pkgbase}-${_realver}/lib/tdb ./autogen.sh ./configure --prefix=/usr make || return 1 make DESTDIR=${pkgdir} install || return 1 ln -sf /usr/lib/libtdb.so.1.1.3 ${pkgdir}/usr/lib/libtdb.so.1 || return 1 ln -sf /usr/lib/libtdb.so.1.1.3 ${pkgdir}/usr/lib/libtdb.so || return 1 } package_smbclient () { pkgdesc="Tools to access a server's filespace and printers via SMB" depends=('readline>=6.0.00' 'popt' 'libldap>=2.4.18-1' 'libcap>=2.16' 'heimdal>=1.3-1' 'db>=4.7' 'e2fsprogs' "tdb>=$pkgver") cd ${srcdir}/${pkgbase}-${_realver}/source3 mkdir -p ${pkgdir}/usr/bin ${pkgdir}/sbin ${pkgdir}/usr/lib install -m755 bin/{smbclient,rpcclient,smbspool,smbtree,smbcacls,smbcquotas,smbget,net,nmblookup} ${pkgdir}/usr/bin/ install -m755 bin/{mount.cifs,umount.cifs} ${pkgdir}/sbin/ for i in libnetapi* libwbclient* libsmbclient*;do cp -a bin/${i}*.so* ${pkgdir}/usr/lib/ done install -m755 script/smbtar ${pkgdir}/usr/bin/ mkdir -p ${pkgdir}/usr/lib/cups/backend ln -sf /usr/bin/smbspool ${pkgdir}/usr/lib/cups/backend/smb rm -rf ${pkgdir}/usr/lib/samba/libsmbsharemodes* for i in ${pkgdir}/usr/lib/samba/*; do ln -sf samba/$(basename $i) ${pkgdir}/usr/lib/$(basename $i) done rm -rf ${pkgdir}/usr/lib/libtdb* mkdir -p ${pkgdir}/usr/include install -m644 include/libsmbclient.h ${pkgdir}/usr/include/ install -m644 ${srcdir}/${pkgbase}-${_realver}/lib/talloc/talloc.h ${pkgdir}/usr/include/ install -m644 lib/netapi/netapi.h ${pkgdir}/usr/include/ mkdir -p ${pkgdir}/usr/share/man/man{1,7,8} for man in smbspool \ umount.cifs mount.cifs net; do install -m644 ../docs/manpages/${man}.8 ${pkgdir}/usr/share/man/man8/ done for man in rpcclient smbcacls smbclient smbcquotas smbget \ smbtree smbtar nmblookup; do install -m644 ../docs/manpages/${man}.1 ${pkgdir}/usr/share/man/man1/ done install -m644 ../docs/manpages/libsmbclient.7 ${pkgdir}/usr/share/man/man7/ } package_samba () { pkgdesc="Tools to access a server's filespace and printers via SMB" backup=(etc/logrotate.d/samba etc/pam.d/samba etc/samba/smb.conf etc/xinetd.d/swat etc/conf.d/samba) depends=('db>=4.7' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap>=2.16' 'heimdal>=1.3-1' 'pam' 'fam' 'gnutls>=2.4.1' 'e2fsprogs' "tdb>=$pkgver") cd ${srcdir}/samba-${_realver}/source3 mkdir -p ${pkgdir}/var/log/samba mkdir -p ${pkgdir}/etc/samba/private chmod 700 ${pkgdir}/etc/samba/private make DESTDIR=$pkgdir install || return 1 chmod 644 ${pkgdir}/usr/include/*.h rm -rf ${pkgdir}/usr/var (cd script; cp installbin.sh i; cat i | sed 's/\/sbin\///' > installbin.sh) install -D -m755 ../../samba ${pkgdir}/etc/rc.d/samba install -D -m644 ../../samba.conf.d ${pkgdir}/etc/conf.d/samba mkdir -p ${pkgdir}/etc/samba cat ../examples/smb.conf.default | \ sed 's|log file = .*$|log file = /var/log/samba/log.%m|g' >${pkgdir}/etc/samba/smb.conf.default install -D -m644 ../../samba.logrotate ${pkgdir}/etc/logrotate.d/samba install -D -m644 ../../swat.xinetd ${pkgdir}/etc/xinetd.d/swat install -D -m644 ../../samba.pam ${pkgdir}/etc/pam.d/samba # symlink libs for i in ${pkgdir}/usr/lib/samba/libsmbshare*; do ln -sf samba/$(basename $i) ${pkgdir}/usr/lib/$(basename $i) done # spool directory install -d -m1777 ${pkgdir}/var/spool/samba sed -i 's|/usr/spool/samba|/var/spool/samba|g' ${pkgdir}/etc/samba/smb.conf.default # fix logrotate sed -i -e 's|log.%m|%m.log|g' ${pkgdir}/etc/samba/smb.conf.default # nsswitch libraries install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_wins.so ${pkgdir}/lib/libnss_wins.so ln -s libnss_wins.so ${pkgdir}/lib/libnss_wins.so.2 install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_winbind.so ${pkgdir}/lib/libnss_winbind.so install -D -m755 bin/pam_winbind.so ${pkgdir}/lib/security/pam_winbind.so # remove conflict files of smbclient and tdb for man in libsmbclient smbspool \ umount.cifs mount.cifs net; do rm -f ${pkgdir}/usr/share/man/man8/${man}.8 done for i in libnetapi* libtdb* libtalloc* libwbclient* libsmbclient*;do rm -f ${pkgdir}/usr/lib/samba/$i done for bin in tdbbackup tdbdump tdbtool net \ nmblookup rpcclient smbcacls smbclient \ smbcquotas smbget smbspool smbtar smbtree; do rm -f ${pkgdir}/usr/bin/$bin done rm -f ${pkgdir}/usr/include/{tdb.h,talloc.h,netapi.h} for man in rpcclient smbcacls smbclient smbcquotas \ smbtree smbtar nmblookup smbget; do rm -f ${pkgdir}/usr/share/man/man1/${man}.1 done rm -f ${pkgdir}/usr/share/man/man7/libsmbclient.7 rm -f ${pkgdir}/usr/include/libsmbclient.h # copy ldap example install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } md5sums=('6f8cf649207ccd8c2c17e28c335f4e9d' 'e93533fa2296c07c1f645dfdd373657f' '5697da77590ec092cc8a883bae06093c' 'a4bbfa39fee95bba2e7ad6b535fae7e6' '96f82c38f3f540b53f3e5144900acf17' 'f2f2e348acd1ccb566e95fa8a561b828' 'c6a38a8c8fa24979e6217aed533358ea')