mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
Possibly working extra/samba
This commit is contained in:
parent
c2ce5c16b3
commit
83519164ed
7 changed files with 262 additions and 0 deletions
171
extra/samba/PKGBUILD
Normal file
171
extra/samba/PKGBUILD
Normal file
|
@ -0,0 +1,171 @@
|
|||
# Maintainer: Garrett L. Ward <glward1@gmail.com>
|
||||
|
||||
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 -Np1 -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')
|
11
extra/samba/fix-ipv6-mount.patch
Normal file
11
extra/samba/fix-ipv6-mount.patch
Normal file
|
@ -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;
|
51
extra/samba/samba
Normal file
51
extra/samba/samba
Normal file
|
@ -0,0 +1,51 @@
|
|||
#!/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"
|
||||
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
|
7
extra/samba/samba.conf.d
Normal file
7
extra/samba/samba.conf.d
Normal file
|
@ -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)
|
9
extra/samba/samba.logrotate
Normal file
9
extra/samba/samba.logrotate
Normal file
|
@ -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
|
||||
}
|
3
extra/samba/samba.pam
Normal file
3
extra/samba/samba.pam
Normal file
|
@ -0,0 +1,3 @@
|
|||
auth required pam_unix.so
|
||||
account required pam_unix.so
|
||||
session required pam_unix.so
|
10
extra/samba/swat.xinetd
Normal file
10
extra/samba/swat.xinetd
Normal file
|
@ -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
|
||||
}
|
Loading…
Reference in a new issue