summaryrefslogtreecommitdiffstats
path: root/abs/core-testing/samba/PKGBUILD
blob: b3ea7cae187370da8f3a1478fcbcbb1a2ba89749 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# $Id: PKGBUILD 14140 2008-10-04 09:43:47Z tpowa $
# Maintainer: judd <jvinet@zeroflux.org>
pkgname=samba
pkgver=3.2.4
# 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.2.4
pkgrel=3
pkgdesc="Tools to access a server's filespace and printers via SMB"
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.2.4' 'libcap' 'heimdal>=1.2-1' 'pam' 'fam' 'gnutls>=2.4.1' 'tdb=3.2.4')
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)

build() {
  cd ${startdir}/src/${pkgname}-${_realver}/source
  patch -Np2 -i ${startdir}/src/no-clients.patch || return 1

  ./configure --prefix=/usr --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 \
              --localstatedir=/var --disable-dnssd --libdir=/usr/lib/samba
  make || return 1
  mkdir -p $startdir/pkg/var/log/samba
  mkdir -p $startdir/pkg/etc/samba/private
  chmod 700 $startdir/pkg/etc/samba/private
  make DESTDIR=$startdir/pkg install
  chmod 644 $startdir/pkg/usr/include/*.h
  rm -rf $startdir/pkg/usr/var
  (cd script; cp installbin.sh i; cat i | sed 's/\/sbin\///' > installbin.sh)
  install -D -m755 ../../samba $startdir/pkg/etc/rc.d/samba
  install -D -m644 ../../samba.conf.d $startdir/pkg/etc/conf.d/samba
  mkdir -p $startdir/pkg/etc/samba
  cat ../examples/smb.conf.default | \
    sed 's|log file = .*$|log file = /var/log/samba/log.%m|g' >$startdir/pkg/etc/samba/smb.conf.default
  install -D -m644 ../../samba.logrotate $startdir/pkg/etc/logrotate.d/samba
  install -D -m644 ../../swat.xinetd $startdir/pkg/etc/xinetd.d/swat
  install -D -m644 ../../samba.pam $startdir/pkg/etc/pam.d/samba
  # symlink libs
  for i in ${startdir}/pkg/usr/lib/samba/libsmbshare*; do
	ln -sf samba/$(basename $i) ${startdir}/pkg/usr/lib/$(basename $i)
  done
  # spool directory
  install -d -m1777 $startdir/pkg/var/spool/samba
  sed -i 's|/usr/spool/samba|/var/spool/samba|g' $startdir/pkg/etc/samba/smb.conf.default
  # fix logrotate
  sed -i -e 's|log.%m|%m.log|g' $startdir/pkg/etc/samba/smb.conf.default
  # nsswitch libraries
  install -D -m755 nsswitch/libnss_wins.so $startdir/pkg/lib/libnss_wins.so
  ln -s libnss_wins.so $startdir/pkg/lib/libnss_wins.so.2
  install -D -m755 nsswitch/libnss_winbind.so $startdir/pkg/lib/libnss_winbind.so
  install -D -m755 bin/pam_winbind.so $startdir/pkg/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 ${startdir}/pkg/usr/share/man/man8/${man}.8
  done
  for i in libnetapi* libtdb* libtalloc* libwbclient*; do
	  rm -f ${startdir}/pkg/usr/lib/samba/$i
  done
  rm -f ${startdir}/pkg/usr/bin/tdbbackup
  rm -f ${startdir}/pkg/usr/include/{tdb.h,talloc.h,netapi.h}
  for man in rpcclient smbcacls smbclient smbcquotas \
      smbtree smbtar nmblookup smbget; do
    rm -f ${startdir}/pkg/usr/share/man/man1/${man}.1
  done
  rm -f ${startdir}/pkg/usr/share/man/man7/libsmbclient.7

  rm -f ${startdir}/pkg/usr/include/libsmbclient.h
}