diff options
Diffstat (limited to 'abs/core/samba')
-rw-r--r-- | abs/core/samba/PKGBUILD | 129 |
1 files changed, 90 insertions, 39 deletions
diff --git a/abs/core/samba/PKGBUILD b/abs/core/samba/PKGBUILD index 24b2dba..44996c6 100644 --- a/abs/core/samba/PKGBUILD +++ b/abs/core/samba/PKGBUILD @@ -1,39 +1,91 @@ -# $Id: PKGBUILD 37517 2009-05-02 16:35:12Z tpowa $ -# Maintainer: judd <jvinet@zeroflux.org> -pkgname=samba -pkgver=3.3.4 +# $Id: PKGBUILD 64318 2010-01-19 19:31:39Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> +pkgbase=samba +pkgname=('smbclient' 'samba') +pkgver=3.4.5 # 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.3.4 -pkgrel=1 -pkgdesc="Tools to access a server's filespace and printers via SMB" +_realver=3.4.5 +pkgrel=3 arch=(i686 x86_64) url="http://www.samba.org" license=('GPL3') -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=3.3.4' 'libcap>=2.16' 'heimdal>=1.2-1' 'pam' 'gnutls>=2.4.1' 'tdb=3.3.4') +makedepends=('db>=4.7' 'popt' 'libcups' 'acl' 'libldap' 'libcap>=2.16' 'heimdal>=1.2-1' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb') options=(!makeflags) -source=(http://us1.samba.org/samba/ftp/stable/${pkgname}-${_realver}.tar.gz \ - no-clients.patch samba samba.logrotate swat.xinetd samba.pam samba.conf.d) +source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz + samba samba.logrotate + swat.xinetd + samba.pam + samba.conf.d) +### UNINSTALL dmapi package before building!!! build() { - cd ${srcdir}/${pkgname}-${_realver}/source - patch -Np2 -i ${srcdir}/no-clients.patch || return 1 - - ./configure --prefix=/usr --with-configdir=/etc/samba \ + cd ${srcdir}/${pkgbase}-${_realver}/source3 + ./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-ads --with-acl-support \ - --without-cifsmount --without-libsmbclient \ - --with-syslog --with-pam_smbpass \ - --localstatedir=/var --disable-dnssd \ - --disable-avahi --libdir=/usr/lib/samba --without-fam + --with-fhs \ + --with-pam \ + --with-pam_smbpass \ + --with-pammodulesdir=/lib/security \ + --with-ads \ + --with-acl-support \ + --with-cifsmount \ + --with-libsmbclient \ + --with-syslog \ + --enable-external-libtalloc \ + --disable-dnssd \ + --disable-avahi \ + --without-libtdb --disable-fam make || return 1 +} + +package_smbclient () { +pkgdesc="Tools to access a server's filespace and printers via SMB" +depends=('readline>=5.0.00' 'popt' 'libldap>=2.4.11-1' 'libcap>=2.16' 'heimdal>=1.2-1' 'db>=4.7' 'e2fsprogs' 'tdb' 'talloc') + 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 + mkdir -p ${pkgdir}/usr/include + install -m644 include/libsmbclient.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.2-1' 'pam' 'fam' 'gnutls>=2.4.1' 'e2fsprogs' 'tdb' 'talloc') + 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=$startdir/pkg install + 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) @@ -45,42 +97,41 @@ build() { 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 nsswitch/libnss_wins.so ${pkgdir}/lib/libnss_wins.so + 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 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 + install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_winbind.so ${pkgdir}/lib/libnss_winbind.so + # remove conflict files of smbclient for man in libsmbclient smbspool \ umount.cifs mount.cifs net; do - rm -f ${pkgdir}/usr/share/man/man8/${man}.8 + rm -f ${pkgdir}/usr/share/man/man8/${man}.8 + done + for i in libnetapi* libwbclient* libsmbclient*;do + rm -f ${pkgdir}/usr/lib/$i done - for i in libnetapi* libtdb* libtalloc* libwbclient*; do - rm -f ${pkgdir}/usr/lib/samba/$i + for bin in net \ + nmblookup rpcclient smbcacls smbclient \ + smbcquotas smbget smbspool smbtar smbtree; do + rm -f ${pkgdir}/usr/bin/$bin done - rm -f ${pkgdir}/usr/bin/tdbbackup - rm -f ${pkgdir}/usr/include/{tdb.h,talloc.h,netapi.h} + rm -f ${pkgdir}/usr/include/netapi.h for man in rpcclient smbcacls smbclient smbcquotas \ smbtree smbtar nmblookup smbget; do - rm -f ${pkgdir}/usr/share/man/man1/${man}.1 + 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 + # remove conflict files of tdb + rm -f ${pkgdir}/usr/bin/{tdbbackup,tdbdump,tdbtool} # copy ldap example - install -D -m644 ${srcdir}/${pkgname}-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema + install -D -m644 ${srcdir}/samba-${_realver}/examples/LDAP/samba.schema ${pkgdir}/usr/share/doc/samba/examples/LDAP/samba.schema } -md5sums=('1443165edb7cb3f56f1e77aec1ee3266' - 'ce3d88336ade7522e9a8f59bb306accd' +md5sums=('8e8a484782f2b7716b6c6bd9a7d2bf71' 'e93533fa2296c07c1f645dfdd373657f' '5697da77590ec092cc8a883bae06093c' 'a4bbfa39fee95bba2e7ad6b535fae7e6' |