diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-10-28 11:35:50 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-10-28 11:35:50 -0300 |
commit | 8856e6fe26ce35b4caf6beeac324f583ec1b6133 (patch) | |
tree | c42a03e2b7610a39d167af36357607399aa40045 /testing/samba | |
parent | 5100458465d1ed420073c3213349bf430075ddbc (diff) | |
parent | 0424b5fc47f106db6498c4cda3476e1d49fe0f82 (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
community/esmtp/PKGBUILD
community/geany-plugins/PKGBUILD
community/giggle/PKGBUILD
community/guichan/PKGBUILD
community/mxml/PKGBUILD
community/ruby-gtk2/PKGBUILD
core/libtool/PKGBUILD
core/mkinitcpio-busybox/PKGBUILD
core/udev/PKGBUILD
extra/audacious/PKGBUILD
extra/conky/PKGBUILD
extra/gnome-control-center/PKGBUILD
extra/gtk2/PKGBUILD
extra/gtk3/PKGBUILD
extra/gvfs/PKGBUILD
extra/kdeutils/PKGBUILD
extra/kino/PKGBUILD
extra/mkvtoolnix/PKGBUILD
extra/poppler/PKGBUILD
extra/postfix/PKGBUILD
extra/pulseaudio/PKGBUILD
extra/qtcurve-gtk2/PKGBUILD
extra/transmission/PKGBUILD
extra/xfburn/PKGBUILD
extra/xfce4-xkb-plugin/PKGBUILD
extra/xorg-server/PKGBUILD
extra/yelp/PKGBUILD
kde-unstable/calligra/PKGBUILD
multilib/lib32-gtk2/PKGBUILD
multilib/lib32-libpulse/PKGBUILD
multilib/libtool-multilib/PKGBUILD
multilib/wine/PKGBUILD
multilib/wine/wine.install
Diffstat (limited to 'testing/samba')
-rw-r--r-- | testing/samba/PKGBUILD | 146 | ||||
-rw-r--r-- | testing/samba/fix-ipv6-mount.patch | 11 | ||||
-rwxr-xr-x | testing/samba/samba | 57 | ||||
-rw-r--r-- | testing/samba/samba.conf.d | 7 | ||||
-rw-r--r-- | testing/samba/samba.logrotate | 9 | ||||
-rw-r--r-- | testing/samba/samba.pam | 3 | ||||
-rw-r--r-- | testing/samba/swat.xinetd | 10 |
7 files changed, 243 insertions, 0 deletions
diff --git a/testing/samba/PKGBUILD b/testing/samba/PKGBUILD new file mode 100644 index 000000000..eee2e5398 --- /dev/null +++ b/testing/samba/PKGBUILD @@ -0,0 +1,146 @@ +# $Id: PKGBUILD 141126 2011-10-24 13:21:17Z tpowa $ +# Maintainer: Tobias Powalowski <tpowa@archlinux.org> +# Contributor: judd <jvinet@zeroflux.org> +pkgbase=samba +pkgname=('smbclient' 'samba') +pkgver=3.6.1 +# 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.6.1 +pkgrel=1 +arch=(i686 x86_64) +url="http://www.samba.org" +license=('GPL3') +makedepends=('db' 'popt' 'libcups' 'acl' 'libldap' 'libcap' 'krb5' 'pam' 'gamin' '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.conf.d + fix-ipv6-mount.patch) +### UNINSTALL dmapi package before building!!! + +build() { + 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-pam_smbpass \ + --with-pammodulesdir=/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-shared-modules=idmap_ad,idmap_adex,idmap_rid,idmap_hash,idmap_tdb2 \ + --enable-external-libtdb + make +} + +package_smbclient () { +pkgdesc="Tools to access a server's filespace and printers via SMB" +depends=('readline' 'popt' 'libldap' 'cifs-utils' 'libcap' 'krb5' 'db' 'e2fsprogs' 'tdb' 'talloc') + cd ${srcdir}/${pkgbase}-${_realver}/source3 + mkdir -p ${pkgdir}/usr/bin ${pkgdir}/usr/lib + install -m755 bin/{smbclient,rpcclient,smbspool,smbtree,smbcacls,smbcquotas,smbget,net,nmblookup} ${pkgdir}/usr/bin/ + 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} + 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' 'popt' 'libcups' 'acl' 'libldap' "smbclient>=$pkgver" 'libcap' 'krb5' 'pam' 'gamin' 'gnutls' 'e2fsprogs' 'tdb' 'talloc') + cd ${srcdir}/samba-${_realver}/source3 + mkdir -p ${pkgdir}/etc/samba/private + chmod 700 ${pkgdir}/etc/samba/private + 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 + 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 + # 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 + ln -s libnss_winbind.so ${pkgdir}/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 \ + mount.cifs net cifs.upcall; do + rm -f ${pkgdir}/usr/share/man/man8/${man}.8 + done + for i in libnetapi* libwbclient* libsmbclient* winbind_krb5*;do + rm -f ${pkgdir}/usr/lib/$i + done + 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/sbin/cifs.upcall + 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 + done + for man in tdbbackup tdbdump tdbtool; do + rm -f ${pkgdir}/usr/share/man/man8/${man}.8 + 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=('5291717be0734e07dc07b6110e162e87' + 'a3da19515a234c703876cf850c44e996' + '5697da77590ec092cc8a883bae06093c' + 'a4bbfa39fee95bba2e7ad6b535fae7e6' + '96f82c38f3f540b53f3e5144900acf17' + 'f2f2e348acd1ccb566e95fa8a561b828' + 'c6a38a8c8fa24979e6217aed533358ea') diff --git a/testing/samba/fix-ipv6-mount.patch b/testing/samba/fix-ipv6-mount.patch new file mode 100644 index 000000000..89bef6533 --- /dev/null +++ b/testing/samba/fix-ipv6-mount.patch @@ -0,0 +1,11 @@ +--- 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/testing/samba/samba b/testing/samba/samba new file mode 100755 index 000000000..458eb8e2b --- /dev/null +++ b/testing/samba/samba @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +[ -f /etc/conf.d/samba ] && . /etc/conf.d/samba + +[ -z "$SAMBA_DAEMONS" ] && SAMBA_DAEMONS=(smbd nmbd) + +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 -g 81 -o 81 -d /var/log/samba + fi + for d in ${SAMBA_DAEMONS[@]}; do + PID=`pidof -o %PPID /usr/sbin/$d` + [ -z "$PID" ] && /usr/sbin/$d -D + rc=$(($rc+$?)) + done + if [ $rc -gt 0 ]; then + stat_fail + else + add_daemon samba + stat_done + fi + ;; + stop) + rc=0 + stat_busy "Stopping Samba Server" + for d in ${SAMBA_DAEMONS[@]}; do + PID=`pidof -o %PPID /usr/sbin/$d` + [ -z "$PID" ] || kill $PID &> /dev/null + rc=$(($rc+$?)) + done + 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_daemon samba + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/testing/samba/samba.conf.d b/testing/samba/samba.conf.d new file mode 100644 index 000000000..8721f956a --- /dev/null +++ b/testing/samba/samba.conf.d @@ -0,0 +1,7 @@ +# +# Configuration for the samba init script +# + +# space separated list of daemons to launch +SAMBA_DAEMONS=(smbd nmbd) +#SAMBA_DAEMONS=(smbd nmbd winbindd) diff --git a/testing/samba/samba.logrotate b/testing/samba/samba.logrotate new file mode 100644 index 000000000..581f4c33b --- /dev/null +++ b/testing/samba/samba.logrotate @@ -0,0 +1,9 @@ +/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/testing/samba/samba.pam b/testing/samba/samba.pam new file mode 100644 index 000000000..53724d1f8 --- /dev/null +++ b/testing/samba/samba.pam @@ -0,0 +1,3 @@ +auth required pam_unix.so +account required pam_unix.so +session required pam_unix.so diff --git a/testing/samba/swat.xinetd b/testing/samba/swat.xinetd new file mode 100644 index 000000000..2e62a82b2 --- /dev/null +++ b/testing/samba/swat.xinetd @@ -0,0 +1,10 @@ +service swat +{ + socket_type = stream + wait = no + user = root + server = /usr/sbin/swat + log_on_success += HOST DURATION + log_on_failure += HOST + disable = yes +} |