summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--abs/extra/samba/PKGBUILD112
-rw-r--r--abs/extra/samba/__changelog5
-rw-r--r--abs/extra/samba/fix-ipv6-mount.patch11
-rw-r--r--abs/extra/samba/nmbd.service8
-rwxr-xr-xabs/extra/samba/samba12
-rw-r--r--abs/extra/samba/samba.conf1
-rw-r--r--abs/extra/samba/samba.install7
-rw-r--r--abs/extra/samba/samba.logrotate9
-rw-r--r--abs/extra/samba/smbd.service9
-rw-r--r--abs/extra/samba/winbindd.service9
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