#! /bin/sh

. $TS_GLOBAL

case "$1" in  
init)
    if ! pkg_initialized $PACKAGE; then

	pkg_set_init_flag $PACKAGE

        mkdir /mnt/home
	mkdir -m 777 /var/spool/samba

	cat /lib/smbpassword.ro > /lib/smbpassword
	cat /lib/secrets.tdb.ro > /lib/secrets.tdb

	if [ -z "$SAMBA_WORKGROUP" ] ; then SAMBA_WORKGROUP=None ; fi
	if [ -z "$SAMBA_SECURITY" ] ; then SAMBA_SECURITY=Server ; fi
	if [ -z "$SAMBA_SERVER" ] ; then SAMBA_SERVER=None ; fi
	if [ -z "$SAMBA_HARDDISK" ] ; then SAMBA_HARDDISK=Off ; fi
	if [ -z "$SAMBA_CDROM" ] ; then SAMBA_CDROM=Off ; fi
	if [ -z "$SAMBA_FLOPPY" ] ; then SAMBA_FLOPPY=Off ; fi
	if [ -z "$SAMBA_PRINTER" ] ; then SAMBA_PRINTER=Off ; fi
	if [ -z "$SAMBA_USB" ] ; then SAMBA_USB=Off ; fi

	if [ ! -z "$SAMBA_WINS" ] ; then
	  echo s/\$SAMBA_WINS/$SAMBA_WINS/g >> /tmp/script
	  WINS_ON="On"
	else
	  WINS_ON="Off"
	fi
	if [ `make_caps "$SAMBA_USB"` = "ON" ] ; then
		if ! [ -d /mnt/usbdevice ]; then
			mkdir /mnt/usbdevice
		fi
	fi
	if [ `make_caps "$SAMBA_SECURITY"` = "USER" ] ; then
		SAMBA_PUBLIC=No
	else
		SAMBA_PUBLIC=Yes
	fi
	echo s/\$TS_VERSION/$TS_VERSION/g >> /tmp/script
	echo s/\$CLIENT_IP/$CLIENT_IP/g >> /tmp/script
	echo s/\$SAMBA_WORKGROUP/$SAMBA_WORKGROUP/g >> /tmp/script
	echo s/\$SAMBA_SECURITY/$SAMBA_SECURITY/g >> /tmp/script
	echo s/\$SAMBA_SERVER/$SAMBA_SERVER/g >> /tmp/script
	echo s/\$SAMBA_PUBLIC/$SAMBA_PUBLIC/g >> /tmp/script
	echo s/\$SAMBA_HARDDISK/`replace_variable $SAMBA_HARDDISK`/g >> /tmp/script
	echo s/\$SAMBA_CDROM/`replace_variable $SAMBA_CDROM`/g >> /tmp/script
	echo s/\$SAMBA_FLOPPY/`replace_variable $SAMBA_FLOPPY`/g >> /tmp/script
	echo s/\$SAMBA_PRINTER/`replace_variable $SAMBA_PRINTER`/g >> /tmp/script
	echo s/\$SAMBA_USB/`replace_variable $SAMBA_USB`/g >> /tmp/script
	echo s/\$WINS_ON/`replace_variable $WINS_ON`/g >> /tmp/script
	echo s\@\$SAMBA_ROOT@$SAMBA_ROOT@g >> /tmp/script
	echo s\@\$LPR_ROOT@$LPR_ROOT@g >> /tmp/script
	cat /lib/smb.conf.tpl | sed -f /tmp/script > /lib/smb.conf
	rm /tmp/script

    fi
    ;;
help)
    echo "Usage: $0 init"
    ;;
  *)
    exit 1
    ;;
esac

exit 0
