IGNOREPATH=/home:/dev:/boot:/root:/tmp:/usr/local:/bin:/sbin:/tmp:/var:/mnt
STRIPLIB=y
STRIPBIN=y

VERSION=3.0.4
PROGNAME="samba $VERSION"
DESC="\
samba (SMB file and print server)                                      \n\
                                                                       \n\
Samba is an SMB file and print server for SMB and CIFS clients.  It    \n\
allows you to make file space or printers on a Samba host available to \n\
any PCs running SMB clients (such as PCs running Windows).             \n\
                                                                       \n\
If you have any SMB servers (such as Windows NT/2K Server), you may be \n\
able to replace them by or supplement them with Samba. One of Samba's  \n\
big strengths is integration, so you can use it to tie together your   \n\
Linux hosts and Windows PC clients."

BUILD=1
MAINTAINER="Mark Post <mark.post@eds.com>"
SOURCE=ftp://ftp.samba.org/pub/samba
PKGNAME=samba-$VERSION-s390-$BUILD
TAG=REC

compile() {
   tar -yxvf $CWD/samba-$VERSION.tar.bz2
   cd samba-$VERSION/
   chown -R root.root .
   find . -perm 775 | xargs chmod 755
   find . -perm 664 | xargs chmod 644

   cd source/
   CFLAGS=-O2 \
   ./configure \
               --enable-cups \
               --with-fhs \
               --with-acl-support \
               --with-automount \
               --prefix=/usr \
               --localstatedir=/var \
               --bindir=/usr/bin \
               --sbindir=/usr/sbin \
               --with-lockdir=/var/cache/samba \
               --sysconfdir=/etc \
               --with-configdir=/etc/samba \
               --with-privatedir=/etc/samba/private \
               --with-swatdir=/usr/share/swat \
               --with-smbmount \
               --with-quotas \
               --with-syslog \
               --with-utmp \
               --with-libsmbclient \
               --with-winbind \
               --build=s390-slackware-linux \
               --host=s390-slackware-linux \
               --target=s390-slackware-linux
   make
}

install() {
   mkdir -p /package-samba/usr/doc/samba-$VERSION/swat \
            /package-samba/var/spool/samba \
            /package-samba/var/log/samba \
            /package-samba/etc/samba/private \
            /package-samba/var/cache/samba

   make install DESTDIR=/package-samba

   # Install libnss_win* libraries:
   mkdir -p /package-samba/lib
   cp -a nsswitch/libnss_winbind.so /package-samba/lib/libnss_winbind.so.2
   cp -a nsswitch/libnss_wins.so /package-samba/lib/libnss_wins.so.2
   ( cd /package-samba/lib
     ln -sf libnss_winbind.so.2 libnss_winbind.so
     ln -sf libnss_wins.so.2 libnss_wins.so
   )

   mkdir -p /package-samba/sbin
   ( cd /package-samba/sbin
     rm -f  mount.smbfs ; ln -sf /usr/bin/smbmount mount.smbfs
   )

   mv /package-samba/usr/lib/libsmbclient.so /package-samba/usr/lib/libsmbclient.so.0.0
   ( cd /package-samba/usr/lib
     rm libsmbclient.a
     ln -sf libsmbclient.so.0.0 libsmbclient.so.0
     ln -sf libsmbclient.so.0.0 libsmbclient.so
   )

   cp -a $CWD/smb.conf.default /package-samba/etc/samba/smb.conf-sample

   rm -f /package-samba/usr/share/man/man1/smbget.1 \
         /package-samba/usr/share/swat/help/smbget.1.html

   # We'll add rc.samba to the init directory, but chmod 644 so that it doesn't
   # start by default:
   mkdir -p /package-samba/etc/rc.d
   cat $CWD/rc.samba > /package-samba/etc/rc.d/rc.samba.new

   mv /package-samba/usr/share/man /package-samba/usr
   gzip -9 /package-samba/usr/man/man?/*

   cd ..
   cp -a COPYING Manifest README Read-Manifest-Now Roadmap WHATSNEW.txt docs examples \
      /package-samba/usr/doc/samba-$VERSION
   # These are installed elsewhere:
   rm -rf /package-samba/usr/doc/samba-$VERSION/docs/htmldocs \
          /package-samba/usr/doc/samba-$VERSION/docs/manpages
   ( cd /package-samba/usr/doc/samba-$VERSION/docs
     rm -rf using_samba
     ln -sf /usr/share/swat/using_samba .
     rm -rf htmldocs
     ln -sf /usr/share/swat/help htmldocs
     rm -rf docbook
     rm -rf *.pdf
   )
}

attributes() {
   chown -R root.bin $PKG/package-samba/sbin \
                     $PKG/package-samba/usr/bin \
                     $PKG/package-samba/usr/sbin
   chmod 700 $PKG/package-samba/etc/samba/private
   chmod 644 $PKG/package-samba/usr/include/libsmbclient.h
   chmod 1777 $PKG/package-samba/var/spool/samba/
}

special() {
   cd $PKG
   mv package-samba/* ./
   rmdir package-samba/

   cd $CTL
   cat $CWD/slack-desc > slack-desc

   cat $CWD/config.sh >> doinst.sh
   cat << EOF >> doinst.sh
config etc/rc.d/rc.samba.new
# This won't be needed.  The point here is to preserve the permissions of the existing
# file, if there is one.  I don't see major new development happening in rc.samba...  ;-)
rm -f etc/rc.d/rc.samba.new
EOF

   sed -e 's%package-samba/%%g' doinst.sh > doinst.sh.new
   cat doinst.sh.new > doinst.sh
   rm doinst.sh.new
}
