diff options
-rw-r--r-- | abs/extra/samba/PKGBUILD | 112 | ||||
-rw-r--r-- | abs/extra/samba/__changelog | 5 | ||||
-rw-r--r-- | abs/extra/samba/fix-ipv6-mount.patch | 11 | ||||
-rw-r--r-- | abs/extra/samba/nmbd.service | 8 | ||||
-rwxr-xr-x | abs/extra/samba/samba | 12 | ||||
-rw-r--r-- | abs/extra/samba/samba.conf | 1 | ||||
-rw-r--r-- | abs/extra/samba/samba.install | 7 | ||||
-rw-r--r-- | abs/extra/samba/samba.logrotate | 9 | ||||
-rw-r--r-- | abs/extra/samba/smbd.service | 9 | ||||
-rw-r--r-- | abs/extra/samba/winbindd.service | 9 |
10 files changed, 109 insertions, 74 deletions
diff --git a/abs/extra/samba/PKGBUILD b/abs/extra/samba/PKGBUILD index eced810..63d943d 100644 --- a/abs/extra/samba/PKGBUILD +++ b/abs/extra/samba/PKGBUILD @@ -1,25 +1,27 @@ -# $Id: PKGBUILD 94658 2010-10-09 09:44:15Z tpowa $ -# Maintainer: Tobias Powalowski <tpowa@archlinux.org +# $Id: PKGBUILD 162373 2012-06-26 05:39:58Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> # Contributor: judd <jvinet@zeroflux.org> pkgbase=samba -pkgname=('smbclient' 'samba') -pkgver=3.5.6 +pkgname=('libwbclient' 'smbclient' 'samba') +pkgver=3.6.6 # 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.6 -pkgrel=2 -arch=('i686' 'x86_64') +_realver=3.6.6 +pkgrel=1 +arch=(i686 x86_64) url="http://www.samba.org" license=('GPL3') -makedepends=('db>=4.7' 'popt' 'acl' 'libldap' 'libcap>=2.16' 'heimdal>=1.2-1' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb') -options=(!makeflags) +makedepends=('db' 'popt' 'libcups' 'acl' 'libldap' 'libcap' 'krb5' 'pam' 'gnutls>=2.4.1' 'talloc' 'tdb') source=(http://us1.samba.org/samba/ftp/stable/${pkgbase}-${_realver}.tar.gz - samba samba.logrotate - swat.xinetd - samba.pam + samba samba.logrotate + swat.xinetd + samba.pam samba.conf.d - fix-ipv6-mount.patch) + smbd.service + nmbd.service + winbindd.service + samba.conf) ### UNINSTALL dmapi package before building!!! build() { @@ -33,42 +35,48 @@ build() { --with-fhs \ --with-pam \ --with-pam_smbpass \ - --with-pammodulesdir=/lib/security \ + --with-pammodulesdir=/usr/lib/security \ + --with-dnsupdate \ + --with-automount \ + --with-quotas \ --with-ads \ --with-acl-support \ - --with-cifsmount \ --with-libsmbclient \ --with-syslog \ --enable-external-libtalloc \ --disable-dnssd \ --disable-avahi \ - --with-cifsumount \ - --with-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash \ + --with-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash,idmap_tdb2 \ --enable-external-libtdb - make || return 1 + make +} + +package_libwbclient () { +pkgdesc="Samba winbind client library" +depends=('glibc') + cd ${srcdir}/${pkgbase}-${_realver}/source3 + mkdir -p ${pkgdir}/usr/lib + for i in libwbclient*; do + cp -a bin/${i}*.so* ${pkgdir}/usr/lib/ + done } 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.2-1' 'db>=4.7' 'e2fsprogs' 'tdb' 'talloc') +depends=('readline' 'popt' 'libldap' 'cifs-utils' 'libcap' 'krb5' 'db' 'e2fsprogs' 'tdb' 'talloc' 'libwbclient') cd ${srcdir}/${pkgbase}-${_realver}/source3 - mkdir -p ${pkgdir}/usr/bin ${pkgdir}/sbin ${pkgdir}/usr/lib + mkdir -p ${pkgdir}/usr/bin ${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 + for i in libnetapi* 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/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 + mkdir -p ${pkgdir}/usr/share/man/man{1,7} for man in rpcclient smbcacls smbclient smbcquotas smbget \ smbtree smbtar nmblookup; do install -m644 ../docs/manpages/${man}.1 ${pkgdir}/usr/share/man/man1/ @@ -78,25 +86,25 @@ depends=('readline>=6.0.00' 'popt' 'libldap>=2.4.18-1' 'libcap>=2.16' 'heimdal>= package_samba () { pkgdesc="Tools to access a server's filespace and printers via SMB" -backup=(etc/logrotate.d/samba - etc/pam.d/samba +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' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap>=2.16' 'heimdal>=1.2-1' 'pam' 'gnutls>=2.4.1' 'e2fsprogs' 'tdb' 'talloc') +depends=('db' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap' 'krb5' 'pam' 'gnutls' 'e2fsprogs' 'tdb' 'talloc') +install='samba.install' 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 + make DESTDIR=${pkgdir} install chmod 644 ${pkgdir}/usr/include/*.h rm -rf ${pkgdir}/usr/var + rm -rf ${pkgdir}/var/run/samba (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 + 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 @@ -106,15 +114,20 @@ depends=('db>=4.7' 'popt' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap>=2.16' 'h # 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 ${srcdir}/samba-${_realver}/nsswitch/libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so + ln -s libnss_wins.so ${pkgdir}/usr/lib/libnss_wins.so.2 + install -D -m755 ${srcdir}/samba-${_realver}/nsswitch/libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so + ln -s libnss_winbind.so ${pkgdir}/usr/lib/libnss_winbind.so.2 + # winbind krb5 locator + mkdir -p ${pkgdir}/usr/lib/krb5/plugins/libkrb5 + install -d -m 0755 ${pkgdir}/usr/lib/krb5/plugins/libkrb5 + install -m 755 bin/winbind_krb5_locator.so ${pkgdir}/usr/lib/krb5/plugins/libkrb5/winbind_krb5_locator.so # remove conflict files of smbclient for man in libsmbclient smbspool \ - umount.cifs mount.cifs net; do + mount.cifs net cifs.upcall; do rm -f ${pkgdir}/usr/share/man/man8/${man}.8 done - for i in libnetapi* libwbclient* libsmbclient*;do + for i in libnetapi* libwbclient* libsmbclient* winbind_krb5*;do rm -f ${pkgdir}/usr/lib/$i done for bin in net \ @@ -122,6 +135,7 @@ depends=('db>=4.7' 'popt' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap>=2.16' 'h smbcquotas smbget smbspool smbtar smbtree; do rm -f ${pkgdir}/usr/bin/$bin done + rm -f ${pkgdir}/usr/sbin/cifs.upcall rm -f ${pkgdir}/usr/include/netapi.h for man in rpcclient smbcacls smbclient smbcquotas \ smbtree smbtar nmblookup smbget; do @@ -134,11 +148,21 @@ depends=('db>=4.7' 'popt' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap>=2.16' 'h 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 + # install systemd files + for i in smbd nmbd winbindd; do + install -D -m644 ${srcdir}/$i.service ${pkgdir}/usr/lib/systemd/system/$i.service + done + # create ephemeral dirs via tmpfiles rather than shipping them in package + install -D -m644 ${srcdir}/samba.conf ${pkgdir}/usr/lib/tmpfiles.d/samba.conf + rm -rf ${pkgdir}/var/run } -md5sums=('bf6c09ea497a166df8bd672db1d8da8f' - '891b9be03e7adf65c9a00319c76d33e5' +md5sums=('0bea52842d172231c0c0e23ee570d7af' + 'a45a4283723be2b0ae32439dc4496a09' '5697da77590ec092cc8a883bae06093c' 'a4bbfa39fee95bba2e7ad6b535fae7e6' '96f82c38f3f540b53f3e5144900acf17' 'f2f2e348acd1ccb566e95fa8a561b828' - 'c6a38a8c8fa24979e6217aed533358ea') + '389cc4fa3b459360feaa1b3d93274693' + 'ea6a1251be979cb30c6098a28b270d2d' + '455f106ce7a4f983975b3a686eaa85e5' + '8e7ed39b54968e427f9506e9107bfb45') diff --git a/abs/extra/samba/__changelog b/abs/extra/samba/__changelog index 1fdfc4a..bb83999 100644 --- a/abs/extra/samba/__changelog +++ b/abs/extra/samba/__changelog @@ -1,4 +1 @@ -remove fam support -update to 3.5.6 - -remove libcups as dep and build without it. +removed fam/gamin diff --git a/abs/extra/samba/fix-ipv6-mount.patch b/abs/extra/samba/fix-ipv6-mount.patch deleted file mode 100644 index 89bef65..0000000 --- a/abs/extra/samba/fix-ipv6-mount.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- client/mount.cifs.c.orig 2010-03-03 13:42:02.143936727 +1000 -+++ client/mount.cifs.c 2010-03-04 01:53:22.752879004 +1000 -@@ -1563,7 +1563,7 @@ - } - } - -- if (addr->ai_addr->sa_family == AF_INET6 && addr6->sin6_scope_id) { -+ if (addr && addr->ai_addr->sa_family == AF_INET6 && addr6->sin6_scope_id) { - strlcat(options, "%", options_size); - current_len = strnlen(options, options_size); - optionstail = options + current_len; diff --git a/abs/extra/samba/nmbd.service b/abs/extra/samba/nmbd.service new file mode 100644 index 0000000..6e22ef2 --- /dev/null +++ b/abs/extra/samba/nmbd.service @@ -0,0 +1,8 @@ +[Unit] +Description=Samba NetBIOS name server + +[Service] +ExecStart=/usr/sbin/nmbd -F + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/samba/samba b/abs/extra/samba/samba index 1b222d6..6098ee0 100755 --- a/abs/extra/samba/samba +++ b/abs/extra/samba/samba @@ -10,9 +10,9 @@ case "$1" in start) rc=0 stat_busy "Starting Samba Server" - if [ ! -x /var/run/samba ] ; then - install -m755 -g 81 -o 81 -d /var/run/samba - fi + if [ ! -x /var/log/samba ] ; then + install -m755 -d /var/log/samba + fi for d in ${SAMBA_DAEMONS[@]}; do PID=`pidof -o %PPID /usr/sbin/$d` [ -z "$PID" ] && /usr/sbin/$d -D @@ -36,9 +36,9 @@ case "$1" in if [ $rc -gt 0 ]; then stat_fail else - rm /var/run/samba/smbd.pid &>/dev/null - rm /var/run/samba/nmbd.pid &>/dev/null - rm /var/run/samba/winbindd.pid &>/dev/null + rm /run/samba/smbd.pid &>/dev/null + rm /run/samba/nmbd.pid &>/dev/null + rm /run/samba/winbindd.pid &>/dev/null rm_daemon samba stat_done fi diff --git a/abs/extra/samba/samba.conf b/abs/extra/samba/samba.conf new file mode 100644 index 0000000..c12610d --- /dev/null +++ b/abs/extra/samba/samba.conf @@ -0,0 +1 @@ +D /run/samba 0755 - - - diff --git a/abs/extra/samba/samba.install b/abs/extra/samba/samba.install new file mode 100644 index 0000000..d9baeac --- /dev/null +++ b/abs/extra/samba/samba.install @@ -0,0 +1,7 @@ +#!/bin/sh + +post_install() { + systemd-tmpfiles --create /usr/lib/tmpfiles.d/samba.conf +} + +# vim:set ts=2 sw=2 et: diff --git a/abs/extra/samba/samba.logrotate b/abs/extra/samba/samba.logrotate deleted file mode 100644 index 581f4c3..0000000 --- a/abs/extra/samba/samba.logrotate +++ /dev/null @@ -1,9 +0,0 @@ -/var/log/samba/log.smbd /var/log/samba/log.nmbd /var/log/samba/*.log { - notifempty - missingok - sharedscripts - copytruncate - postrotate - /bin/kill -HUP `cat /var/run/samba/*.pid 2>/dev/null` 2>/dev/null || true - endscript -} diff --git a/abs/extra/samba/smbd.service b/abs/extra/samba/smbd.service new file mode 100644 index 0000000..beb9bfa --- /dev/null +++ b/abs/extra/samba/smbd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Samba SMB/CIFS server + +[Service] +ExecStart=/usr/sbin/smbd -F +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/abs/extra/samba/winbindd.service b/abs/extra/samba/winbindd.service new file mode 100644 index 0000000..509c896 --- /dev/null +++ b/abs/extra/samba/winbindd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Samba Winbind daemon + +[Service] +ExecStart=/usr/sbin/winbindd -F +ExecReload=/bin/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target |